Fix ReadingList bookmarks nativemenu on OSX

NEW
Unassigned

Status

Firefox Graveyard
Reading List
P3
normal
3 years ago
2 years ago

People

(Reporter: Unfocused, Unassigned)

Tracking

(Depends on: 1 bug)

Dependency tree / graph
Bug Flags:
qe-verify +

Details

(Whiteboard: [blocked on platform][readinglist-v2])

Bug 1124400 added a submenu in the menubar (under bookmarks) for the ReadingList. Unfortunately, that doesn't work on OSX, which apparently has trouble with dynamically changing menus once they're open. Original plan was to have the storage backend cache the first X items to provide a sync API, but that ended up being shot down.

Options are:
* Keep the menu up to date always. Means (possibly regular) background DOM updates and background DB queries for every window.
* Have a cache per window. Means (possibly regular) background DB queries for every window.
* Have a cache in ReadingList.jsm. Would work same as original fix, but code in a different location. Only one set of DB queries to maintain this cache.
What kind of problem, and dynamic how?

Other menus (like History and Recently Closed Tabs) work fine...
I'll redirect that to Florian.
Flags: needinfo?(florian)
(In reply to Justin Dolske [:Dolske] from comment #1)
> What kind of problem, and dynamic how?
> 
> Other menus (like History and Recently Closed Tabs) work fine...

Native Mac menus are only updated when they are opening; the popupshowing event handler is our last opportunity to add content there.

The readinglist code is async, which means the popupshowing handler gets a promise for the list, and we only generate the DOM menuitems when the promise is resolved. This works fine on Windows/Linux, but on Mac the DOM nodes we add after the menu has been shown are never converted to native menu items.

This is an old known issue, see bug 733419.
Depends on: 733419
Flags: needinfo?(florian)
We're ok with shipping as-is (no Reading List item in the native menubar Bookmarks menu), but if we can get the platform fix in time and it's low-risk, it would be great to have. No need for a front-end workaround if not.
Priority: -- → P3
Whiteboard: [blocked on platform]
Flags: qe-verify+
Duplicate of this bug: 1152777
Whiteboard: [blocked on platform] → [blocked on platform][readinglist-v2]
(Assignee)

Updated

2 years ago
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.