perf: deCOM internal bookmarks and history observers




10 years ago
11 months ago


(Reporter: mano, Unassigned)


(Depends on 2 bugs, Blocks 1 bug, {perf})

Dependency tree / graph

Firefox Tracking Flags

(Not tracked)


(Whiteboard: [TSnappiness])

Places code outside toolkit/components/places/ is supposed to use the query+result+view api rather than the bookmarks and history observers. It usually does, but there are still some exceptions, which are easy to fix:
  1. bug 497605: browser.js uses the bookmarks observer for tracking "bookmarked" uris. This could be fixed with no changes to the backend (uri=..., uriIsPrefix=false, isBookmarked = true)
  2. bug 497606: The tags service. I think it still uses the result api, no idea why does it use both.*
  3. editBookmarkOverlay, for tracking individual items. To fix this, we need to allow querying on a particular item id.  Bug 497607 is filed for the back-end part.

However, because of these unnecessary use cases, the observers have been kept XPCOMized. The main use case for this observer, which is the result api itself, suffers from that much, in both performance and memory terms.

 * Future work: The tags service at this point serves exactly two tasks: making folder titles under the tags folder unique, implementing autocomplete for bookmarks folders. The second has the potential of being useful in "normal" bookmarks folder. The first is breakable through the bookmarks service. Thus, we should consider incorporating the bookmarks and tags api somehow.
the query api is powerful enough (or could be) at this point in order to implement the tags UI.
Once we fix this, we should also consider removing getItem*. Offhand, I cannot think of any good reason to have two sets of apis for equal use cases.
Whiteboard: [TSnappiness]
OS: Mac OS X → All
Hardware: x86 → All
Version: unspecified → Trunk
Bug 451915 - move Firefox/Places bugs to Firefox/Bookmarks and History. Remove all bugspam from this move by filtering for the string "places-to-b-and-h".

In Thunderbird 3.0b, you do that as follows:
Tools | Message Filters
Make sure the correct account is selected. Click "New"
Conditions: Body   contains   places-to-b-and-h
Change the action to "Delete Message".
Select "Manually Run" from the dropdown at the top.
Click OK.

Select the filter in the list, make sure "Inbox" is selected at the bottom, and click "Run Now". This should delete all the bugspam. You can then delete the filter.

Component: Places → Bookmarks & History
QA Contact: places → bookmarks
Blocks: deCOM

Comment 2

11 months ago
Per policy at If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Last Resolved: 11 months ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.