Closed Bug 1595860 Opened 2 years ago Closed 1 year ago

provide a way to query whether a specific pref is extension controlled

Categories

(WebExtensions :: General, enhancement, P2)

enhancement

Tracking

(firefox73 fixed)

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: mixedpuppy, Assigned: mixedpuppy)

References

(Blocks 3 open bugs)

Details

Attachments

(1 file)

ExtensionPreferencesManager has a way to see if an extension controlls a setting. We need to provide some UI signal in about:config for prefs that are extension controlled, in order to do that we need an API to check for that in EPM.

Blocks: 1595865
Priority: -- → P2

If this will be used by "about:config" as suggested in bug 1595865, care should be taken to design an API that would not slow down the display of about 3.000 preferences using the "Show All" command. This means avoiding quadratic behavior but also trying not to call the C++ Preferences APIs a second time when they are already called efficiently in "about:config".

Also, it's important to note that "about:config" runs only in the parent process and its architecture is currently synchronous, thus the underlying APIs should likely be synchronous as well. This unless we're purely displaying an icon that can be fetched asynchronously, and it doesn't affect the state of the buttons.

There also need to be a decision on whether "about:config" would have to be notified if an extension is disabled, and if so which API would provide the notification.

Blocks: 1461447

(In reply to :Paolo Amadini from comment #2)

There also need to be a decision on whether "about:config" would have to be notified if an extension is disabled, and if so which API would provide the notification.

That shouldn't be necessary. Just listen for changes from ExtensionSettingsManager.

Assignee: nobody → mixedpuppy
Status: NEW → ASSIGNED
Pushed by scaraveo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d81f3861a0f4
add a utility function to map pref names to extension settings r=robwu
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73

Hello,

As per the screenshot in Comment 4 from https://bugzilla.mozilla.org/show_bug.cgi?id=1595865 I have installed the HTTPS Everywhere extension on the latest Nightly and checked the existance of the devtools.webextebnsions.https-everywhere@eff.org.enabled in about:config, however, it is not listed there.

I have then proceeded to install several other extensions which might take control of preferences, such as New Tab Override and Ghostery, and could not find any specific evidence that control over some prefs is taken over by the extensions i.e. the ID of the extension is mentioned in the pref name as in the above mentioned screenshot.

The only prefs that have the IDs of the extensions in their names are from this specific category: extensions.webextensions.ExtensionStorageIDB.migrated. . However this is the case for the latest Release version as well and not specific to FX73 where the fix should be present.

Is there a specific way to test this fix? And if so could you please provide some STR and possibly an extension to test this with? Thanks!

Flags: needinfo?(mixedpuppy)

There is nothing here to directly test, it is only infrastructure necessary to implement the bugs that this one blocks. It has tests.

Flags: needinfo?(mixedpuppy) → qe-verify-
You need to log in before you can comment on or make changes to this bug.