summaryrefslogtreecommitdiffstats
path: root/base/content/browser-devtools-theme.js
diff options
context:
space:
mode:
Diffstat (limited to 'base/content/browser-devtools-theme.js')
-rw-r--r--base/content/browser-devtools-theme.js91
1 files changed, 0 insertions, 91 deletions
diff --git a/base/content/browser-devtools-theme.js b/base/content/browser-devtools-theme.js
deleted file mode 100644
index 7b21dde..0000000
--- a/base/content/browser-devtools-theme.js
+++ /dev/null
@@ -1,91 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/**
- * Listeners for the DevTools theme.
- */
-var DevToolsTheme = {
- _devtoolsThemePrefName: "devtools.theme",
- styleSheet: null,
- initialized: false,
-
- get isStyleSheetEnabled() {
- return this.styleSheet && !this.styleSheet.sheet.disabled;
- },
-
- init: function () {
- this.initialized = true;
- Services.prefs.addObserver(this._devtoolsThemePrefName, this, false);
- Services.obs.addObserver(this, "lightweight-theme-styling-update", false);
- Services.obs.addObserver(this, "lightweight-theme-window-updated", false);
- this._updateDevtoolsThemeAttribute();
- },
-
- observe: function (subject, topic, data) {
- if (topic == "lightweight-theme-styling-update") {
- let newTheme = JSON.parse(data);
- this._toggleStyleSheet();
- }
-
- if (topic == "nsPref:changed" && data == this._devtoolsThemePrefName) {
- this._updateDevtoolsThemeAttribute();
- }
- },
-
- _inferBrightness: function() {
- ToolbarIconColor.inferFromText();
- // Get an inverted full screen button if the dark theme is applied.
- if (this.isStyleSheetEnabled &&
- document.documentElement.getAttribute("devtoolstheme") == "dark") {
- document.documentElement.setAttribute("brighttitlebarforeground", "true");
- } else {
- document.documentElement.removeAttribute("brighttitlebarforeground");
- }
- },
-
- _updateDevtoolsThemeAttribute: function() {
- // Set an attribute on root element to make it possible
- // to change colors based on the selected devtools theme.
- let devtoolsTheme = Services.prefs.getCharPref(this._devtoolsThemePrefName);
- if (devtoolsTheme != "dark") {
- devtoolsTheme = "light";
- }
- document.documentElement.setAttribute("devtoolstheme", devtoolsTheme);
- this._inferBrightness();
- },
-
- handleEvent: function(e) {
- if (e.type === "load") {
- this.styleSheet.removeEventListener("load", this);
- this.refreshBrowserDisplay();
- }
- },
-
- refreshBrowserDisplay: function() {
- // Don't touch things on the browser if gBrowserInit.onLoad hasn't
- // yet fired.
- if (this.initialized) {
- gBrowser.tabContainer._positionPinnedTabs();
- this._inferBrightness();
- }
- },
-
- _toggleStyleSheet: function() {
- let wasEnabled = this.isStyleSheetEnabled;
- if (wasEnabled) {
- this.styleSheet.sheet.disabled = true;
- this.refreshBrowserDisplay();
- }
- },
-
- uninit: function () {
- Services.prefs.removeObserver(this._devtoolsThemePrefName, this);
- Services.obs.removeObserver(this, "lightweight-theme-styling-update", false);
- Services.obs.removeObserver(this, "lightweight-theme-window-updated", false);
- if (this.styleSheet) {
- this.styleSheet.removeEventListener("load", this);
- }
- this.styleSheet = null;
- }
-};