Open Bug 1553269 Opened 5 years ago Updated 2 years ago

Get rid of addonManager.js component module

Categories

(Toolkit :: Add-ons Manager, task, P3)

task

Tracking

()

Tracking Status
firefox69 --- affected

People

(Reporter: kmag, Unassigned)

References

(Blocks 1 open bug)

Details

This component is a relic of a lot of old architectural restrictions and decisions. It doesn't really serve a purpose anymore.

JavaScript XPCOM components are now loaded as JSMs, which means that the native code that needs to interact with the add-on manager can do it via AddonManager.jsm. At this point, it should probably just use do_ImportModule, and use AddonManagerPrivate directly. And that should get its own XPIDL interface rather than acting as an observer.

Unfortunately, we still need to register the thing as a component for the update timer manager, but that can still use AddonManager.jsm directly.

The JS code that currently interacts with it should use the JSM directly, rather than going through the component manager.

The Blocklist portions of the file should ideally just go into Blocklist.jsm, but they currently handle lazily loading Blocklist.jsm only when it's actually needed, so they should probably be moved to a separate BlocklistService.jsm or BlocklistStubs.jsm module instead. With a comment about why it exists.

Priority: P1 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.