Add per-window theme example: private browsing theme (#307)

This commit is contained in:
Tim Nguyen
2017-11-07 18:56:55 +00:00
committed by wbamberg
parent 6bdef335df
commit 3e2d1833d7
3 changed files with 50 additions and 0 deletions

View 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().

View 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);
}
}

View 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"
}
}
}