Open Bug 1880856 Opened 2 years ago Updated 1 year ago

Enable extensions process unconditionally in GeckoView

Categories

(GeckoView :: Extensions, task, P3)

All
Android
task

Tracking

(Not tracked)

People

(Reporter: robwu, Unassigned)

References

(Blocks 3 open bugs)

Details

The extensions.webextensions.remote pref (controlling out-of-process extensions) is currently true by default on all desktop Firefox builds and Thunderbird. It is also true in Fenix on Android (bug 1867597). The pref being false (meaning: extensions run in the main process) is not really supported (bug 1613141).
But the pref is still false by default in GeckoView and Android-Components (including non-Fenix apps such as Focus and Reference Browser).

More details: https://bugzilla.mozilla.org/show_bug.cgi?id=1535365#c22

There are a number of issues with extensions that are resolved when the extension process is enabled. Ideally GeckoView (and Android-Components) should default to run with out-of-process extensions enabled by default. I have linked some dependencies that have been marked as resolved because the flag defaults to true on Fenix, but these issues still occur on non-Fenix Android apps.

Severity: -- → N/A
Priority: -- → P3

Is there a need to flip this pref or could it just be removed? If you remove it, then you'll have remote WebExtensions everywhere and no work will need to be done in GeckoView or GeckoView consumers, right?

Flags: needinfo?(rob)

(In reply to Markus Stange [:mstange] from comment #1)

Is there a need to flip this pref or could it just be removed?

The only potential use case with positive user impact is conserving resources when a mobile product does not generally support third-party add-ons. For example, Firefox Focus does not support third-party add-ons, but some built-in components are implemented as an extension, and if we run them in the parent process, there is less overhead (at the expense of a larger browser process). I've mentioned this in https://bugzilla.mozilla.org/show_bug.cgi?id=1535365#c22 (linked from the bug report).

Another use case for the pref is to debug issues specific where toggling out-of-process extensions can change the behavior. But if this were to be the only use case, I'd be fine with dropping support for in-process webextensions.

If you remove it, then you'll have remote WebExtensions everywhere and no work will need to be done in GeckoView or GeckoView consumers, right?

Yep. One clear benefit of removing is lower maintenance cost in this area, because it is a configuration to not account for.

P.S. For context, I referenced this bug in a review comment on a patch (D245637) for bug 1960752 (relating to bug 1958327).

Flags: needinfo?(rob)
See Also: → 1960752
You need to log in before you can comment on or make changes to this bug.