--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -174,17 +174,16 @@ pref("app.update.service.enabled", true)
// .. etc ..
//
pref("extensions.update.enabled", true);
pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
pref("extensions.update.interval", 86400); // Check for updates to Extensions and
// Themes every day
-pref("extensions.webextensions.themes.enabled", true);
pref("extensions.webextensions.themes.icons.buttons", "back,forward,reload,stop,bookmark_star,bookmark_menu,downloads,home,app_menu,cut,copy,paste,new_window,new_private_window,save_page,print,history,full_screen,find,options,addons,developer,synced_tabs,open_file,sidebars,share_page,subscribe,text_encoding,email_link,forget,pocket");
pref("lightweightThemes.update.enabled", true);
pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes");
pref("lightweightThemes.recommendedThemes", "[{\"id\":\"recommended-1\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/a-web-browser-renaissance/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.header.jpg\",\"textcolor\":\"#000000\",\"accentcolor\":\"#834d29\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/1.preview.jpg\",\"author\":\"Sean.Martell\",\"version\":\"0\"},{\"id\":\"recommended-2\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/space-fantasy/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.header.jpg\",\"textcolor\":\"#ffffff\",\"accentcolor\":\"#d9d9d9\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.icon.jpg\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/2.preview.jpg\",\"author\":\"fx5800p\",\"version\":\"1.0\"},{\"id\":\"recommended-4\",\"homepageURL\":\"https://addons.mozilla.org/firefox/addon/pastel-gradient/\",\"headerURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.header.png\",\"textcolor\":\"#000000\",\"accentcolor\":\"#000000\",\"iconURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.icon.png\",\"previewURL\":\"resource:///chrome/browser/content/browser/defaultthemes/4.preview.png\",\"author\":\"darrinhenein\",\"version\":\"1.0\"}]");
#if defined(MOZ_WIDEVINE_EME)
pref("browser.eme.ui.enabled", true);
--- a/browser/components/extensions/test/browser/browser_ext_browserAction_theme_icons.js
+++ b/browser/components/extensions/test/browser/browser_ext_browserAction_theme_icons.js
@@ -10,22 +10,16 @@ const LIGHT_THEME_COLORS = {
"textcolor": "#000",
};
const DARK_THEME_COLORS = {
"accentcolor": "#000",
"textcolor": "#FFF",
};
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
async function testBrowserAction(extension, expectedIcon) {
let browserActionWidget = getBrowserActionWidget(extension);
await promiseAnimationFrame();
let browserActionButton = browserActionWidget.forWindow(window).node;
ok(getListStyleImage(browserActionButton).includes(expectedIcon), `Expected browser action icon to be ${expectedIcon}`);
}
async function testStaticTheme(options) {
--- a/browser/components/extensions/test/browser/browser_ext_themes_icons.js
+++ b/browser/components/extensions/test/browser/browser_ext_themes_icons.js
@@ -157,18 +157,17 @@ async function runTestWithIcons(icons) {
verifyButtonWithoutCustomStyling(
button[1],
`The ${button[1]} should not have its icon customized when the theme is unloaded`);
}
}
add_task(async function setup() {
await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true],
- ["extensions.webextensions.themes.icons.enabled", true]],
+ set: [["extensions.webextensions.themes.icons.enabled", true]],
});
});
add_task(async function test_all_icons() {
let icons = [
["back", "fox.svg"],
["forward", "fox.svg"],
["reload", "fox.svg"],
--- a/browser/components/extensions/test/browser/browser_ext_themes_validation.js
+++ b/browser/components/extensions/test/browser/browser_ext_themes_validation.js
@@ -1,16 +1,10 @@
"use strict";
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
/**
* Helper function for testing a theme with invalid properties.
* @param {object} invalidProps The invalid properties to load the theme with.
*/
async function testThemeWithInvalidProperties(invalidProps) {
let manifest = {
"theme": {},
};
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4942,18 +4942,17 @@ pref("extensions.webExtensionsMinPlatfor
pref("extensions.legacy.enabled", true);
// Other webextensions prefs
pref("extensions.webextensions.keepStorageOnUninstall", false);
pref("extensions.webextensions.keepUuidOnUninstall", false);
// Redirect basedomain used by identity api
pref("extensions.webextensions.identity.redirectDomain", "extensions.allizom.org");
pref("extensions.webextensions.restrictedDomains", "accounts-static.cdn.mozilla.net,accounts.firefox.com,addons.cdn.mozilla.net,addons.mozilla.org,api.accounts.firefox.com,content.cdn.mozilla.net,content.cdn.mozilla.net,discovery.addons.mozilla.org,input.mozilla.org,install.mozilla.org,oauth.accounts.firefox.com,profile.accounts.firefox.com,support.mozilla.org,sync.services.mozilla.com,testpilot.firefox.com");
-// Whether or not webextension themes are supported.
-pref("extensions.webextensions.themes.enabled", false);
+// Whether or not webextension icon theming is supported.
pref("extensions.webextensions.themes.icons.enabled", false);
pref("extensions.webextensions.remote", false);
// Whether or not the moz-extension resource loads are remoted. For debugging
// purposes only. Setting this to false will break moz-extension URI loading
// unless other process sandboxing and extension remoting prefs are changed.
pref("extensions.webextensions.protocol.remote", true);
// Enable tab hiding API by default.
--- a/toolkit/components/extensions/parent/ext-theme.js
+++ b/toolkit/components/extensions/parent/ext-theme.js
@@ -2,20 +2,16 @@
/* global windowTracker, EventManager, EventEmitter */
ChromeUtils.import("resource://gre/modules/Services.jsm");
ChromeUtils.defineModuleGetter(this, "LightweightThemeManager",
"resource://gre/modules/LightweightThemeManager.jsm");
-XPCOMUtils.defineLazyGetter(this, "gThemesEnabled", () => {
- return Services.prefs.getBoolPref("extensions.webextensions.themes.enabled");
-});
-
var {
getWinUtils,
} = ExtensionUtils;
const ICONS = Services.prefs.getStringPref("extensions.webextensions.themes.icons.buttons", "").split(",");
const onUpdatedEmitter = new EventEmitter();
@@ -307,29 +303,19 @@ class Theme {
Services.obs.notifyObservers(null,
"lightweight-theme-styling-update",
JSON.stringify(lwtData));
}
}
this.theme = class extends ExtensionAPI {
onManifestEntry(entryName) {
- if (!gThemesEnabled) {
- // Return early if themes are disabled.
- return;
- }
-
let {extension} = this;
let {manifest} = extension;
- if (!gThemesEnabled) {
- // Return early if themes are disabled.
- return;
- }
-
defaultTheme = new Theme(extension);
defaultTheme.load(manifest.theme);
}
onShutdown(reason) {
if (reason === "APP_SHUTDOWN") {
return;
}
@@ -358,37 +344,27 @@ this.theme = class extends ExtensionAPI
}
if (windowOverrides.has(windowId)) {
return Promise.resolve(windowOverrides.get(windowId).details);
}
return Promise.resolve(defaultTheme.details);
},
update: (windowId, details) => {
- if (!gThemesEnabled) {
- // Return early if themes are disabled.
- return;
- }
-
if (windowId) {
const browserWindow = windowTracker.getWindow(windowId, context);
if (!browserWindow) {
return Promise.reject(`Invalid window ID: ${windowId}`);
}
}
let theme = new Theme(extension, windowId);
theme.load(details);
},
reset: (windowId) => {
- if (!gThemesEnabled) {
- // Return early if themes are disabled.
- return;
- }
-
if (windowId) {
const browserWindow = windowTracker.getWindow(windowId, context);
if (!browserWindow) {
return Promise.reject(`Invalid window ID: ${windowId}`);
}
}
if (!defaultTheme && !windowOverrides.has(windowId)) {
--- a/toolkit/components/extensions/test/browser/browser_ext_management_themes.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_management_themes.js
@@ -2,22 +2,16 @@
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
const {LightweightThemeManager} = ChromeUtils.import("resource://gre/modules/LightweightThemeManager.jsm", {});
const {PromiseTestUtils} = ChromeUtils.import("resource://testing-common/PromiseTestUtils.jsm", null);
PromiseTestUtils.whitelistRejectionsGlobally(/Message manager disconnected/);
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_management_themes() {
const TEST_ID = "test_management_themes@tests.mozilla.com";
let theme = ExtensionTestUtils.loadExtension({
manifest: {
"name": "Simple theme test",
"version": "1.0",
"description": "test theme",
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_chromeparity.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_chromeparity.js
@@ -1,16 +1,10 @@
"use strict";
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_theme_frame() {
const FRAME_COLOR = [71, 105, 91];
const TAB_TEXT_COLOR = [207, 221, 192];
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"theme_frame": "face.png",
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_dynamic_updates.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_dynamic_updates.js
@@ -31,22 +31,16 @@ function validateTheme(backgroundImage,
}
if (textColor.startsWith("#")) {
textColor = hexToRGB(textColor);
}
Assert.equal(style.backgroundColor, accentColor, "Expected correct accent color");
Assert.equal(style.color, textColor, "Expected correct text color");
}
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_dynamic_theme_updates() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
permissions: ["theme"],
},
files: {
"image1.png": BACKGROUND_1,
"image2.png": BACKGROUND_2,
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_findbar.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_findbar.js
@@ -1,19 +1,13 @@
"use strict";
// This test checks whether applied WebExtension themes that attempt to change
// the toolbar and toolbar_field properties also theme the findbar.
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_toolbar_properties_on_findbar() {
const TOOLBAR_COLOR = "#ff00ff";
const TOOLBAR_TEXT_COLOR = "#9400ff";
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "image1.png",
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js
@@ -1,16 +1,10 @@
"use strict";
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_LWT_properties() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "image1.png",
},
"colors": {
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_multiple_backgrounds.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_multiple_backgrounds.js
@@ -1,16 +1,10 @@
"use strict";
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_backgrounds_position() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "face.png",
"additional_backgrounds": ["face.png", "face.png", "face.png"],
},
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_persistence.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_persistence.js
@@ -1,19 +1,13 @@
"use strict";
// This test checks whether applied WebExtension themes are persisted and applied
// on newly opened windows.
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_multiple_windows() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "image1.png",
},
"colors": {
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_tab_text.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_tab_text.js
@@ -1,19 +1,13 @@
"use strict";
// This test checks whether applied WebExtension themes that attempt to change
// the text color of the selected tab are applied properly.
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_tab_text_property_css_color() {
const TAB_TEXT_COLOR = "#9400ff";
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "image1.png",
},
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_toolbar_fields.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_toolbar_fields.js
@@ -2,20 +2,16 @@
// This test checks whether applied WebExtension themes that attempt to change
// the background color and the color of the navbar text fields are applied properly.
ChromeUtils.import("resource://testing-common/CustomizableUITestUtils.jsm", this);
let gCUITestUtils = new CustomizableUITestUtils(window);
add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({set: [
- ["extensions.webextensions.themes.enabled", true],
- ]});
-
await gCUITestUtils.addSearchBar();
registerCleanupFunction(() => {
gCUITestUtils.removeSearchBar();
});
});
add_task(async function test_support_toolbar_field_properties() {
let searchbar = BrowserSearch.searchBar;
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_toolbars.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_toolbars.js
@@ -1,19 +1,13 @@
"use strict";
// This test checks whether applied WebExtension themes that attempt to change
// the background color of toolbars are applied properly.
-add_task(async function setup() {
- await SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(async function test_support_toolbar_property() {
const TOOLBAR_COLOR = "#ff00ff";
const TOOLBAR_TEXT_COLOR = "#9400ff";
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"colors": {
"accentcolor": ACCENT_COLOR,