mirror of
https://github.com/mdn/webextensions-examples.git
synced 2026-04-17 23:08:33 +02:00
Add per-window theme example: private browsing theme (#307)
This commit is contained in:
9
private-browsing-theme/README.md
Normal file
9
private-browsing-theme/README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Private browsing theme
|
||||||
|
|
||||||
|
## What it does
|
||||||
|
|
||||||
|
An example using the theme API to apply a different theme on private windows.
|
||||||
|
|
||||||
|
## What it shows
|
||||||
|
|
||||||
|
How to use the windowId argument of browser.theme.reset() and browser.theme.update().
|
||||||
25
private-browsing-theme/background.js
Normal file
25
private-browsing-theme/background.js
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
browser.windows.onCreated.addListener(themeWindow);
|
||||||
|
|
||||||
|
// Theme all currently open windows
|
||||||
|
browser.windows.getAll().then(wins => wins.forEach(themeWindow));
|
||||||
|
|
||||||
|
function themeWindow(window) {
|
||||||
|
// Check if the window is in private browsing
|
||||||
|
if (window.incognito) {
|
||||||
|
browser.theme.update(window.id, {
|
||||||
|
images: {
|
||||||
|
headerURL: "",
|
||||||
|
},
|
||||||
|
colors: {
|
||||||
|
accentcolor: "black",
|
||||||
|
textcolor: "white",
|
||||||
|
toolbar: "#333",
|
||||||
|
toolbar_text: "white"
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// Reset to the default theme otherwise
|
||||||
|
else {
|
||||||
|
browser.theme.reset(window.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
16
private-browsing-theme/manifest.json
Normal file
16
private-browsing-theme/manifest.json
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"manifest_version": 2,
|
||||||
|
"name": "Private browsing theme",
|
||||||
|
"version": "2.0",
|
||||||
|
"description": "Extension that sets a dark theme for private windows",
|
||||||
|
"background": {
|
||||||
|
"scripts": ["background.js"]
|
||||||
|
},
|
||||||
|
"permissions": ["theme"],
|
||||||
|
"applications": {
|
||||||
|
"gecko": {
|
||||||
|
"id": "private-window-theme@mozilla.org",
|
||||||
|
"strict_min_version": "57.0b14"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user