Firefox/Projects/Reduce Places Views Overhead: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Created page with '= Overview = '''Sprint lead:''' Mano '''Sprinters''': mak The notification methods in the places view api (nsINavHistoryResultViewer) are not as informative as they could be. …')
 
No edit summary
 
Line 6: Line 6:
The notification methods in the places view api (nsINavHistoryResultViewer) are not as informative as they could be. This forces the concrete view to invalidate much more often then they need to. The result is notable slowness in places organizers and in the sidebars. In addition, some notications are dispatched when they shouldn't (e.g. we invalidate uri-queries on the addition of separators).
The notification methods in the places view api (nsINavHistoryResultViewer) are not as informative as they could be. This forces the concrete view to invalidate much more often then they need to. The result is notable slowness in places organizers and in the sidebars. In addition, some notications are dispatched when they shouldn't (e.g. we invalidate uri-queries on the addition of separators).


In addition to the performance issues, this makes the view api less adaptable to consumers. They will likely stich to the history and bookmarks observers, which we would like to privatize at some point
In addition to the performance issues, this makes the view api less adaptable to consumers. They will likely swtich to the history and bookmarks observers, which we would like to privatize at some point.


= Goals / Use Cases =
= Goals / Use Cases =
* Replace onItemChanged with informative methods and fix browser/ to use them wisely.
== Part I ==
* Remove all unnecessary invalidations.
* [DONE] Replace onItemChanged with informative methods and fix browser/ to use them wisely.
* Better handling for invalidations on annotations.
* [DONE] Remove all unnecessary invalidations.
* Make onlyBookmarked queries usable.
* [NEEDS INVESTIGATION] Better handling for invalidations on annotations.
* Copy all missing functionality of the old observers to the view interface.
* [DONE?] Make onlyBookmarked queries usable.
* [DONE] Copy all missing functionality of the old observers to the view interface.
 
== Part II ==
* Paging in tree views


= Non-Goals in this iteration  =
= Non-Goals in this iteration  =
* merge the observer-ifaces with the view interface, or privatize them.
* merge the observer-ifaces with the view interface, or privatize them.
* change the sql queires or the schema. Here we only fix inefficient usages.
* change the sql queries or the schema. Here we only fix inefficient usages.


= Bugs =
= Bugs =
* {{bug|498130}}
* {{bug|498130}}

Latest revision as of 07:11, 6 October 2009

Overview

Sprint lead: Mano Sprinters: mak

The notification methods in the places view api (nsINavHistoryResultViewer) are not as informative as they could be. This forces the concrete view to invalidate much more often then they need to. The result is notable slowness in places organizers and in the sidebars. In addition, some notications are dispatched when they shouldn't (e.g. we invalidate uri-queries on the addition of separators).

In addition to the performance issues, this makes the view api less adaptable to consumers. They will likely swtich to the history and bookmarks observers, which we would like to privatize at some point.

Goals / Use Cases

Part I

  • [DONE] Replace onItemChanged with informative methods and fix browser/ to use them wisely.
  • [DONE] Remove all unnecessary invalidations.
  • [NEEDS INVESTIGATION] Better handling for invalidations on annotations.
  • [DONE?] Make onlyBookmarked queries usable.
  • [DONE] Copy all missing functionality of the old observers to the view interface.

Part II

  • Paging in tree views

Non-Goals in this iteration

  • merge the observer-ifaces with the view interface, or privatize them.
  • change the sql queries or the schema. Here we only fix inefficient usages.

Bugs