Closed Bug 1305216 Opened 3 years ago Closed 3 years ago

Use ChildAPIManager for webNavigation API

Categories

(WebExtensions :: General, defect, P3)

51 Branch
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: robwu, Assigned: robwu)

References

(Blocks 1 open bug)

Details

(Whiteboard: triaged)

ChildAPIManager / ParentAPIManager does not recognize filters in addListener. The event proxy should be made aware of these filters.
Priority: -- → P3
Whiteboard: triaged
Can you explain this more? Don't the filters passed to addListener just get passed up to the parent?
Flags: needinfo?(rob)
A proxied event listener is registered only once, when the first listener is added:
http://searchfox.org/mozilla-central/rev/f5c9e9a249637c9abd88754c8963ecb3838475cb/toolkit/components/extensions/ExtensionUtils.jsm#1798

Subsequent event listeners are registered without applying the filter. As a result, all event listeners are fired according to the filter of the first event listener.

(add|has|remove)Listener of ChildAPIManager behaves like an EventManager, not a SingletonEventManager.
We should not only check whether the event is registered, but also whether the filter is set.
Flags: needinfo?(rob)
This bug has been addressed together with the patches for bug 1305217.
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Product: Toolkit → WebExtensions
You need to log in before you can comment on or make changes to this bug.