Firefox/Projects/Reduce Places Views Overhead: Difference between revisions
Jump to navigation
Jump to search
Asafromano (talk | contribs) (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. …') |
Asafromano (talk | contribs) 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 | 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 | * 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.