forked from mirrors/gecko-dev
They are just convenience for :root[lwthemetextcolor="light"] (and dark, respectively), but they generally shouldn't be used for dark mode theming. In the past it was the only way to do it but now we have prefers-color-scheme. While at it, change lwthemetextcolor to be "lwtheme-brighttext" for consistency with similar code we have for popups etc, and move it to _setDarkModeAttributes. While at it, remove layout.css.moz-lwtheme.content.enabled (which is false always, we unshipped these from content successfully). Differential Revision: https://phabricator.services.mozilla.com/D141593
64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
"use strict";
|
|
|
|
// This test checks whether applied WebExtension themes are persisted and applied
|
|
// on newly opened windows.
|
|
|
|
add_task(async function test_multiple_windows() {
|
|
let extension = ExtensionTestUtils.loadExtension({
|
|
manifest: {
|
|
theme: {
|
|
images: {
|
|
theme_frame: "image1.png",
|
|
},
|
|
colors: {
|
|
frame: ACCENT_COLOR,
|
|
tab_background_text: TEXT_COLOR,
|
|
},
|
|
},
|
|
},
|
|
files: {
|
|
"image1.png": BACKGROUND,
|
|
},
|
|
});
|
|
|
|
await extension.startup();
|
|
|
|
let docEl = window.document.documentElement;
|
|
let toolbox = document.querySelector("#navigator-toolbox");
|
|
let computedStyle = window.getComputedStyle(
|
|
backgroundColorSetOnRoot() ? docEl : toolbox
|
|
);
|
|
|
|
Assert.ok(docEl.hasAttribute("lwtheme"), "LWT attribute should be set");
|
|
Assert.equal(
|
|
docEl.getAttribute("lwtheme-brighttext"),
|
|
"true",
|
|
"LWT text color attribute should be set"
|
|
);
|
|
Assert.ok(
|
|
computedStyle.backgroundImage.includes("image1.png"),
|
|
"Expected background image"
|
|
);
|
|
|
|
// Now we'll open a new window to see if the theme is also applied there.
|
|
let window2 = await BrowserTestUtils.openNewBrowserWindow();
|
|
docEl = window2.document.documentElement;
|
|
toolbox = window2.document.querySelector("#navigator-toolbox");
|
|
computedStyle = window.getComputedStyle(
|
|
backgroundColorSetOnRoot() ? docEl : toolbox
|
|
);
|
|
|
|
Assert.ok(docEl.hasAttribute("lwtheme"), "LWT attribute should be set");
|
|
Assert.equal(
|
|
docEl.getAttribute("lwtheme-brighttext"),
|
|
"true",
|
|
"LWT text color attribute should be set"
|
|
);
|
|
Assert.ok(
|
|
computedStyle.backgroundImage.includes("image1.png"),
|
|
"Expected background image"
|
|
);
|
|
|
|
await BrowserTestUtils.closeWindow(window2);
|
|
await extension.unload();
|
|
});
|