Bug 1341722 - Enable themes by default now that all of its blockers have landed r?mikedeboer
MozReview-Commit-ID: ZAAXByZcj6
--- a/browser/components/extensions/test/browser/browser_ext_themes_icons.js
+++ b/browser/components/extensions/test/browser/browser_ext_themes_icons.js
@@ -180,18 +180,17 @@ function* runTestWithIcons(icons) {
for (let button of ICON_INFO) {
verifyButtonWithoutCustomStyling(button[1],
`The ${button[1]} should not have it's icon customized when the theme is unloaded`);
}
}
add_task(function* setup() {
yield SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true],
- ["extensions.webextensions.themes.icons.enabled", true]],
+ set: [["extensions.webextensions.themes.icons.enabled", true]],
});
});
add_task(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(function* setup() {
- yield 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.
*/
function* testThemeWithInvalidProperties(invalidProps) {
let manifest = {
"theme": {},
};
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -4788,18 +4788,16 @@ pref("extensions.minCompatiblePlatformVe
pref("extensions.webExtensionsMinPlatformVersion", "42.0a1");
pref("extensions.allow-non-mpc-extensions", 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");
-// Whether or not webextension themes are supported.
-pref("extensions.webextensions.themes.enabled", false);
pref("extensions.webextensions.themes.icons.enabled", false);
pref("extensions.webextensions.remote", false);
// Report Site Issue button
pref("extensions.webcompat-reporter.newIssueEndpoint", "https://webcompat.com/issues/new");
#ifdef NIGHTLY_BUILD
pref("extensions.webcompat-reporter.enabled", true);
#else
--- a/toolkit/components/extensions/ext-theme.js
+++ b/toolkit/components/extensions/ext-theme.js
@@ -2,20 +2,16 @@
Cu.import("resource://gre/modules/Services.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "Preferences",
"resource://gre/modules/Preferences.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "LightweightThemeManager",
"resource://gre/modules/LightweightThemeManager.jsm");
-XPCOMUtils.defineLazyGetter(this, "gThemesEnabled", () => {
- return Preferences.get("extensions.webextensions.themes.enabled");
-});
-
const ICONS = Preferences.get("extensions.webextensions.themes.icons.buttons", "").split(",");
/** Class representing a theme. */
class Theme {
/**
* Creates a theme instance.
*
* @param {string} baseURI The base URI of the extension, used to
@@ -233,50 +229,35 @@ class Theme {
Services.obs.notifyObservers(null,
"lightweight-theme-styling-update",
JSON.stringify(lwtStyles));
}
}
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;
- }
-
this.theme = new Theme(extension.baseURI, extension.logger);
this.theme.load(manifest.theme);
}
onShutdown() {
if (this.theme) {
this.theme.unload();
}
}
getAPI(context) {
let {extension} = context;
return {
theme: {
update: (details) => {
- if (!gThemesEnabled) {
- // Return early if themes are disabled.
- return;
- }
-
if (!this.theme) {
// WebExtensions using the Theme API will not have a theme defined
// in the manifest. Therefore, we need to initialize the theme the
// first time browser.theme.update is called.
this.theme = new Theme(extension.baseURI, extension.logger);
}
this.theme.load(details);
--- 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(function* setup() {
- yield SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(function* test_support_theme_frame() {
const FRAME_COLOR = [71, 105, 91];
const TAB_TEXT_COLOR = [207, 221, 192, .9];
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
@@ -25,22 +25,16 @@ function validateTheme(backgroundImage,
Assert.ok(style.backgroundImage.includes(backgroundImage), "Expected correct background image");
Assert.equal(style.backgroundColor, "rgb(" + hexToRGB(accentColor).join(", ") + ")",
"Expected correct accent color");
Assert.equal(style.color, "rgb(" + hexToRGB(textColor).join(", ") + ")",
"Expected correct text color");
}
-add_task(function* setup() {
- yield SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(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_lwtsupport.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_lwtsupport.js
@@ -1,16 +1,10 @@
"use strict";
-add_task(function* setup() {
- yield SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(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(function* setup() {
- yield SpecialPowers.pushPrefEnv({
- set: [["extensions.webextensions.themes.enabled", true]],
- });
-});
-
add_task(function* test_multiple_windows() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"theme": {
"images": {
"headerURL": "image1.png",
},
"colors": {