Proposal

Key Issues

The filtering part is a relatively easy port since the initial prototype implementation is a .jsm that is built with attention to inputs and scope.

We need to add methods to act on history and bookmarks (tags, annotations, icons...) other than just querying them.

Open Issues

Currently Places Query API is in alpha stage, needs to be finished.

Which "observers" capabilities are required? Is it better to observe just a liveupdate result (in future) or all relevant changes to bookmarks and pages?

The Query API does not act on temp tables for performance reasons, thus history results are cached on 2 minutes (this problem will go away as soon as we remove temp tables, that is targeted for FX4)

Live updating results are not supported OOTB, these will come later as a wrapper around current Query API, and will most likely be exposed as .result(), similar to filter, but will return objects iteratable rather than simple static arrays.