Firefox/Projects/Reduce Places Views Overhead

From MozillaWiki
< Firefox‎ | Projects
Revision as of 15:12, 1 September 2009 by 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. …')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 stich to the history and bookmarks observers, which we would like to privatize at some point

Goals / Use Cases

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

Non-Goals in this iteration

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

Bugs