Firefox/Projects/Async Places containers

From MozillaWiki
Jump to: navigation, search

Intro

Places containers currently use on-main-thread Storage APIs to get data from the Places database. This project will replace those calls with off-main-thread calls. Places containers include bookmark folders, history containers, tags, and bookmark and history searches and queries.

  • Champion, lead: adw

Status

STALLED, GOING DOWN, PEOPLE SCREAMING

  • bug 536893 for the folder node (bookmark folders) back-end landed.
  • Next: bug 552025 cleans up deprecated APIs.
  • After that: File a new bug for the query node (history containers, tags, searches, smart queries) back-end.

Goals

  • The opening of bookmark folders, history containers, tags, history searches in the Library, and other Places container-related actions should not contribute to the blocking of Firefox's UI because they cause database lookups.

Non Goals

  • Rewrite the Places query API or its implementation.

Milestones

  • Complete the folder node (bookmark folders) back-end.
  • Complete the query node (history containers, tags, searches, smart queries) back-end.
  • Hook up the UI to the new APIs.

Testing

  • Test Plan
  • The back-end API changes can be tested through automated xpcshell tests.
  • UI changes can be tested through automated browser-chrome tests. QA should be alerted to UI changes that may affect their testing, but their current tests should certainly catch regressions.
  • QA:
    • We will keep our eye during regular release testing cycles for any regressions
    • Schedule a testday to vet this feature once it is landed