Bug 1797142 - Enable cookiebanners.bannerClicking.enabled by default and rely on the global service pref instead. r=timhuang

Differential Revision: https://phabricator.services.mozilla.com/D160617
This commit is contained in:
Paul Zuehlcke 2022-10-31 16:21:17 +00:00
Родитель 6df873bdfb
Коммит 70c854539c
3 изменённых файлов: 39 добавлений и 6 удалений

Просмотреть файл

@ -2747,7 +2747,6 @@ pref("browser.pdfjs.feature-tour", "{\"screen\":\"FEATURE_CALLOUT_1\",\"complete
// StaticPrefList.yaml for a description of the prefs.
#ifdef NIGHTLY_BUILD
pref("cookiebanners.service.mode.privateBrowsing", 1);
pref("cookiebanners.bannerClicking.enabled", true);
#endif
// We only want to enable this pref for Desktop nightlies.

Просмотреть файл

@ -1939,8 +1939,7 @@
mirror: always
# Enables the cookie banner cookie injector. The cookie banner cookie injector
# depends on the above `cookiebanners.service.mode` pref: it would be disabled
# if the servcie mode is disabled.
# depends on the `cookiebanners.service.mode` pref above.
- name: cookiebanners.cookieInjector.enabled
type: bool
value: true
@ -1956,11 +1955,10 @@
mirror: always
# Enables the cookie banner auto clicking. The cookie banner auto clicking
# depends on the above `cookiebanners.service.mode` pref: it would be disabled
# if the servcie mode is disabled.
# depends on the `cookiebanners.service.mode` pref above.
- name: cookiebanners.bannerClicking.enabled
type: bool
value: false
value: true
mirror: always
# The maximum time in ms for detecting banner and button elements for cookie

Просмотреть файл

@ -18,6 +18,24 @@ ChromeUtils.defineESModuleGetters(lazy, {
setTimeout: "resource://gre/modules/Timer.sys.mjs",
});
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
"serviceMode",
"cookiebanners.service.mode",
Ci.nsICookieBannerService.MODE_DISABLED
);
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
"serviceModePBM",
"cookiebanners.service.mode.privateBrowsing",
Ci.nsICookieBannerService.MODE_DISABLED
);
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
"bannerClickingEnabled",
"cookiebanners.bannerClicking.enabled",
false
);
XPCOMUtils.defineLazyPreferenceGetter(
lazy,
"observeTimeout",
@ -48,6 +66,12 @@ class CookieBannerChild extends JSWindowActorChild {
#didLoad = false;
handleEvent(event) {
if (!this.#isEnabled) {
// Automated tests may still expect the test message to be sent.
this.#maybeSendTestMessage();
return;
}
switch (event.type) {
case "DOMContentLoaded":
this.#onDOMContentLoaded();
@ -60,6 +84,18 @@ class CookieBannerChild extends JSWindowActorChild {
}
}
/**
* Whether the feature is enabled based on pref state.
* @type {boolean}
*/
get #isEnabled() {
return (
lazy.bannerClickingEnabled &&
(lazy.serviceMode != Ci.nsICookieBannerService.MODE_DISABLED ||
lazy.serviceModePBM != Ci.nsICookieBannerService.MODE_DISABLED)
);
}
/**
* Handler for DOMContentLoaded events which is the entry point for cookie
* banner handling.