Open Bug 1846361 Opened 1 year ago Updated 1 year ago

Consider to remove nsNavHistoryResultNode::GetTags()

Categories

(Toolkit :: Places, enhancement)

enhancement

Tracking

()

People

(Reporter: daisuke, Unassigned)

References

(Depends on 1 open bug)

Details

(Whiteboard: [sng])

This is a follow-up bug of bug 1829581.
As mentioned in phabricator, we shoud consdier to remove nsNavHistoryResultNode::GetTags().

A little bit off-topic, but trying to keep together some thoughts.
This should be the last main-thread SQL in nsNavHistoryResult apart from the GetQueryResults call in FillChildren, that is used by Refresh(), OpenContainer(), OpenContainerAsync... and GetHasChildren(). The scope is to make only open and refresh operations execute queries, to simplify making those async.
For nsNavHistoryFolderResultNode::GetHasChildren asynchronous may be feasible, we would show no twisties until the querying is done, then invalidateRow in the tree. Though there's a lot of usage of .hasChildren to verify in the treeview, as it may break features.
Or alternatively we may keep a map of bookmark folders in memory, loaded at startup and updated through triggers.

I started filing Bug 1846461 to start moving some stuff out of the "bookmarks" service (that in reality is pretty much a "SynchronousTagsAsBookmarks" service).

Whiteboard: [sng]
Blocks: 1845040
No longer blocks: 1845040
Depends on: 1845040
You need to log in before you can comment on or make changes to this bug.