Bug 1412595 - Implement colors.bookmark_text as alias for colors.toolbar_text. r=jaws
MozReview-Commit-ID: HjIgXtbYejZ
--- a/toolkit/components/extensions/ext-theme.js
+++ b/toolkit/components/extensions/ext-theme.js
@@ -130,16 +130,19 @@ class Theme {
case "textcolor":
case "tab_text":
this.lwtStyles.textcolor = cssColor;
break;
case "toolbar":
this.lwtStyles.toolbarColor = cssColor;
break;
case "toolbar_text":
+ case "bookmark_text":
+ this.lwtStyles.toolbar_text = cssColor;
+ break;
case "toolbar_field":
case "toolbar_field_text":
case "toolbar_top_separator":
case "toolbar_bottom_separator":
case "toolbar_vertical_separator":
this.lwtStyles[color] = cssColor;
break;
}
--- a/toolkit/components/extensions/schemas/theme.json
+++ b/toolkit/components/extensions/schemas/theme.json
@@ -68,16 +68,20 @@
"toolbar": {
"type": "string",
"optional": true
},
"toolbar_text": {
"type": "string",
"optional": true
},
+ "bookmark_text": {
+ "type": "string",
+ "optional": true
+ },
"toolbar_field": {
"type": "string",
"optional": true
},
"toolbar_field_text": {
"type": "string",
"optional": true
},
--- a/toolkit/components/extensions/test/browser/browser_ext_themes_toolbars.js
+++ b/toolkit/components/extensions/test/browser/browser_ext_themes_toolbars.js
@@ -50,8 +50,54 @@ add_task(async function test_support_too
info("Checking selected tab colors");
let selectedTab = document.querySelector(".tabbrowser-tab[selected]");
Assert.equal(window.getComputedStyle(selectedTab).color,
"rgb(" + hexToRGB(TOOLBAR_TEXT_COLOR).join(", ") + ")", "Selected tab text color should be set.");
await extension.unload();
});
+
+add_task(async function test_bookmark_text_property() {
+ const TOOLBAR_COLOR = "#ff00ff";
+ const TOOLBAR_TEXT_COLOR = "#9400ff";
+ let extension = ExtensionTestUtils.loadExtension({
+ manifest: {
+ "theme": {
+ "images": {
+ "headerURL": "image1.png",
+ },
+ "colors": {
+ "accentcolor": ACCENT_COLOR,
+ "textcolor": TEXT_COLOR,
+ "toolbar": TOOLBAR_COLOR,
+ "bookmark_text": TOOLBAR_TEXT_COLOR,
+ },
+ },
+ },
+ files: {
+ "image1.png": BACKGROUND,
+ },
+ });
+
+ await extension.startup();
+
+ let toolbox = document.querySelector("#navigator-toolbox");
+ let toolbars = [...toolbox.querySelectorAll("toolbar:not(#TabsToolbar)")].filter(toolbar => {
+ let bounds = toolbar.getBoundingClientRect();
+ return bounds.width > 0 && bounds.height > 0;
+ });
+
+ info(`Checking toolbar colors for ${toolbars.length} toolbars.`);
+ for (let toolbar of toolbars) {
+ info(`Testing ${toolbar.id}`);
+ Assert.equal(window.getComputedStyle(toolbar).color,
+ "rgb(" + hexToRGB(TOOLBAR_TEXT_COLOR).join(", ") + ")",
+ "bookmark_text should be an alias for toolbar_text");
+ }
+
+ info("Checking selected tab colors");
+ let selectedTab = document.querySelector(".tabbrowser-tab[selected]");
+ Assert.equal(window.getComputedStyle(selectedTab).color,
+ "rgb(" + hexToRGB(TOOLBAR_TEXT_COLOR).join(", ") + ")", "Selected tab text color should be set.");
+
+ await extension.unload();
+});