From ccae90fb3e8aa70d69fcc5bae259d0fdb694bfb3 Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Sun, 24 Dec 2023 20:34:22 -0700 Subject: [PATCH] the huge 117+ fixes update --- README.md | 80 +- chrome/activity_throbber.uc.js | 116 +- chrome/additional_top_toolbars.uc.js | 387 +-- chrome/change-toolbar-icon-values.uc.js | 78 +- chrome/create_internet_on_status_bar.uc.js | 83 +- chrome/go_button.uc.js | 7 +- chrome/move_bars.uc.js | 172 +- chrome/{ => msfx}/go.png | Bin chrome/msfx/msfx.css | 2503 +++++++++++++++++ .../{ => msfx}/toolbar-label-under-icon.css | 0 chrome/msfx/toolbar.png | Bin 0 -> 3648 bytes chrome/msfx/toolbar_large.png | Bin 0 -> 5248 bytes chrome/scrollbar.uc.js | 279 +- chrome/space_and_separator_restorer.uc.js | 216 +- chrome/status-bar.uc.js | 207 ++ chrome/toolbar.png | Bin 3262 -> 0 bytes chrome/toolbar/back.png | Bin 197 -> 0 bytes chrome/toolbar/bookmarks.png | Bin 281 -> 0 bytes chrome/toolbar/copy.png | Bin 262 -> 0 bytes chrome/toolbar/cut.png | Bin 180 -> 0 bytes chrome/toolbar/downloads.png | Bin 350 -> 0 bytes chrome/toolbar/email.png | Bin 317 -> 0 bytes chrome/toolbar/find.png | Bin 432 -> 0 bytes chrome/toolbar/forward.png | Bin 198 -> 0 bytes chrome/toolbar/fullscreen.png | Bin 243 -> 0 bytes chrome/toolbar/history.png | Bin 417 -> 0 bytes chrome/toolbar/home.png | Bin 326 -> 0 bytes chrome/toolbar/hover/back.png | Bin 187 -> 0 bytes chrome/toolbar/hover/bookmarks.png | Bin 261 -> 0 bytes chrome/toolbar/hover/copy.png | Bin 267 -> 0 bytes chrome/toolbar/hover/cut.png | Bin 173 -> 0 bytes chrome/toolbar/hover/downloads.png | Bin 316 -> 0 bytes chrome/toolbar/hover/emaill.png | Bin 322 -> 0 bytes chrome/toolbar/hover/find.png | Bin 426 -> 0 bytes chrome/toolbar/hover/forward.png | Bin 190 -> 0 bytes chrome/toolbar/hover/fullscreen.png | Bin 235 -> 0 bytes chrome/toolbar/hover/history.png | Bin 422 -> 0 bytes chrome/toolbar/hover/home.png | Bin 298 -> 0 bytes chrome/toolbar/hover/new.png | Bin 200 -> 0 bytes chrome/toolbar/hover/paste.png | Bin 329 -> 0 bytes chrome/toolbar/hover/print.png | Bin 301 -> 0 bytes chrome/toolbar/hover/refresh.png | Bin 288 -> 0 bytes chrome/toolbar/hover/sidebar.png | Bin 191 -> 0 bytes chrome/toolbar/hover/stop.png | Bin 264 -> 0 bytes chrome/toolbar/large/back.png | Bin 227 -> 0 bytes chrome/toolbar/large/bookmarks.png | Bin 321 -> 0 bytes chrome/toolbar/large/copy.png | Bin 326 -> 0 bytes chrome/toolbar/large/cut.png | Bin 340 -> 0 bytes chrome/toolbar/large/downloads.png | Bin 469 -> 0 bytes chrome/toolbar/large/email.png | Bin 509 -> 0 bytes chrome/toolbar/large/find.png | Bin 524 -> 0 bytes chrome/toolbar/large/forward.png | Bin 221 -> 0 bytes chrome/toolbar/large/fullscreen.png | Bin 276 -> 0 bytes chrome/toolbar/large/history.png | Bin 496 -> 0 bytes chrome/toolbar/large/home.png | Bin 389 -> 0 bytes chrome/toolbar/large/hover/back.png | Bin 218 -> 0 bytes chrome/toolbar/large/hover/bookmarks.png | Bin 326 -> 0 bytes chrome/toolbar/large/hover/copy.png | Bin 337 -> 0 bytes chrome/toolbar/large/hover/cut.png | Bin 329 -> 0 bytes chrome/toolbar/large/hover/downloads.png | Bin 420 -> 0 bytes chrome/toolbar/large/hover/email.png | Bin 437 -> 0 bytes chrome/toolbar/large/hover/find.png | Bin 527 -> 0 bytes chrome/toolbar/large/hover/forward.png | Bin 221 -> 0 bytes chrome/toolbar/large/hover/fullscreen.png | Bin 269 -> 0 bytes chrome/toolbar/large/hover/history.png | Bin 487 -> 0 bytes chrome/toolbar/large/hover/home.png | Bin 370 -> 0 bytes chrome/toolbar/large/hover/new.png | Bin 231 -> 0 bytes chrome/toolbar/large/hover/paste.png | Bin 378 -> 0 bytes chrome/toolbar/large/hover/print.png | Bin 357 -> 0 bytes chrome/toolbar/large/hover/refresh.png | Bin 327 -> 0 bytes chrome/toolbar/large/hover/sidebar.png | Bin 204 -> 0 bytes chrome/toolbar/large/hover/stop.png | Bin 337 -> 0 bytes chrome/toolbar/large/new.png | Bin 248 -> 0 bytes chrome/toolbar/large/paste.png | Bin 399 -> 0 bytes chrome/toolbar/large/print.png | Bin 350 -> 0 bytes chrome/toolbar/large/refresh.png | Bin 349 -> 0 bytes chrome/toolbar/large/sidebar.png | Bin 210 -> 0 bytes chrome/toolbar/large/stop.png | Bin 340 -> 0 bytes chrome/toolbar/new.png | Bin 225 -> 0 bytes chrome/toolbar/paste.png | Bin 334 -> 0 bytes chrome/toolbar/print.png | Bin 289 -> 0 bytes chrome/toolbar/refresh.png | Bin 297 -> 0 bytes chrome/toolbar/sidebar.png | Bin 190 -> 0 bytes chrome/toolbar/stop.png | Bin 285 -> 0 bytes chrome/toolbar_large.png | Bin 4458 -> 0 bytes chrome/userChrome.css | 2218 +-------------- chrome/utils/BootstrapLoader.jsm | 477 ++++ chrome/utils/RDFDataSource.jsm | 441 +++ chrome/utils/RDFManifestConverter.jsm | 102 + chrome/utils/aboutconfig/aboutconfig.xhtml | 102 + chrome/utils/aboutconfig/config.css | 49 + chrome/utils/aboutconfig/config.js | 781 +++++ chrome/utils/chrome.manifest | 2 + chrome/utils/hookFunction.jsm | 42 + chrome/utils/passwordmgr/passwordManager.js | 845 ++++++ .../utils/passwordmgr/passwordManager.xhtml | 135 + chrome/utils/passwordmgr/passwordmgr.css | 22 + chrome/utils/styloaix/16.png | Bin 0 -> 661 bytes chrome/utils/styloaix/16w.png | Bin 0 -> 589 bytes chrome/utils/styloaix/autocomplete.js | 320 +++ chrome/utils/styloaix/edit.css | 48 + chrome/utils/styloaix/edit.js | 459 +++ chrome/utils/styloaix/edit.xhtml | 140 + chrome/utils/userChrome.jsm | 222 ++ chrome/utils/xPref.jsm | 94 + .../chrome/icons/default/_main-window.ico | Bin 0 -> 4150 bytes .../chrome/icons/default/main-window.ico | Bin 0 -> 10134 bytes ffroot/config.js | 34 + ffroot/defaults/pref/channel-prefs.js | 9 + ffroot/defaults/pref/config-prefs.js | 3 + 110 files changed, 7809 insertions(+), 2864 deletions(-) rename chrome/{ => msfx}/go.png (100%) create mode 100644 chrome/msfx/msfx.css rename chrome/{ => msfx}/toolbar-label-under-icon.css (100%) create mode 100644 chrome/msfx/toolbar.png create mode 100644 chrome/msfx/toolbar_large.png create mode 100644 chrome/status-bar.uc.js delete mode 100644 chrome/toolbar.png delete mode 100644 chrome/toolbar/back.png delete mode 100644 chrome/toolbar/bookmarks.png delete mode 100644 chrome/toolbar/copy.png delete mode 100644 chrome/toolbar/cut.png delete mode 100644 chrome/toolbar/downloads.png delete mode 100644 chrome/toolbar/email.png delete mode 100644 chrome/toolbar/find.png delete mode 100644 chrome/toolbar/forward.png delete mode 100644 chrome/toolbar/fullscreen.png delete mode 100644 chrome/toolbar/history.png delete mode 100644 chrome/toolbar/home.png delete mode 100644 chrome/toolbar/hover/back.png delete mode 100644 chrome/toolbar/hover/bookmarks.png delete mode 100644 chrome/toolbar/hover/copy.png delete mode 100644 chrome/toolbar/hover/cut.png delete mode 100644 chrome/toolbar/hover/downloads.png delete mode 100644 chrome/toolbar/hover/emaill.png delete mode 100644 chrome/toolbar/hover/find.png delete mode 100644 chrome/toolbar/hover/forward.png delete mode 100644 chrome/toolbar/hover/fullscreen.png delete mode 100644 chrome/toolbar/hover/history.png delete mode 100644 chrome/toolbar/hover/home.png delete mode 100644 chrome/toolbar/hover/new.png delete mode 100644 chrome/toolbar/hover/paste.png delete mode 100644 chrome/toolbar/hover/print.png delete mode 100644 chrome/toolbar/hover/refresh.png delete mode 100644 chrome/toolbar/hover/sidebar.png delete mode 100644 chrome/toolbar/hover/stop.png delete mode 100644 chrome/toolbar/large/back.png delete mode 100644 chrome/toolbar/large/bookmarks.png delete mode 100644 chrome/toolbar/large/copy.png delete mode 100644 chrome/toolbar/large/cut.png delete mode 100644 chrome/toolbar/large/downloads.png delete mode 100644 chrome/toolbar/large/email.png delete mode 100644 chrome/toolbar/large/find.png delete mode 100644 chrome/toolbar/large/forward.png delete mode 100644 chrome/toolbar/large/fullscreen.png delete mode 100644 chrome/toolbar/large/history.png delete mode 100644 chrome/toolbar/large/home.png delete mode 100644 chrome/toolbar/large/hover/back.png delete mode 100644 chrome/toolbar/large/hover/bookmarks.png delete mode 100644 chrome/toolbar/large/hover/copy.png delete mode 100644 chrome/toolbar/large/hover/cut.png delete mode 100644 chrome/toolbar/large/hover/downloads.png delete mode 100644 chrome/toolbar/large/hover/email.png delete mode 100644 chrome/toolbar/large/hover/find.png delete mode 100644 chrome/toolbar/large/hover/forward.png delete mode 100644 chrome/toolbar/large/hover/fullscreen.png delete mode 100644 chrome/toolbar/large/hover/history.png delete mode 100644 chrome/toolbar/large/hover/home.png delete mode 100644 chrome/toolbar/large/hover/new.png delete mode 100644 chrome/toolbar/large/hover/paste.png delete mode 100644 chrome/toolbar/large/hover/print.png delete mode 100644 chrome/toolbar/large/hover/refresh.png delete mode 100644 chrome/toolbar/large/hover/sidebar.png delete mode 100644 chrome/toolbar/large/hover/stop.png delete mode 100644 chrome/toolbar/large/new.png delete mode 100644 chrome/toolbar/large/paste.png delete mode 100644 chrome/toolbar/large/print.png delete mode 100644 chrome/toolbar/large/refresh.png delete mode 100644 chrome/toolbar/large/sidebar.png delete mode 100644 chrome/toolbar/large/stop.png delete mode 100644 chrome/toolbar/new.png delete mode 100644 chrome/toolbar/paste.png delete mode 100644 chrome/toolbar/print.png delete mode 100644 chrome/toolbar/refresh.png delete mode 100644 chrome/toolbar/sidebar.png delete mode 100644 chrome/toolbar/stop.png delete mode 100644 chrome/toolbar_large.png create mode 100644 chrome/utils/BootstrapLoader.jsm create mode 100644 chrome/utils/RDFDataSource.jsm create mode 100644 chrome/utils/RDFManifestConverter.jsm create mode 100644 chrome/utils/aboutconfig/aboutconfig.xhtml create mode 100644 chrome/utils/aboutconfig/config.css create mode 100644 chrome/utils/aboutconfig/config.js create mode 100644 chrome/utils/chrome.manifest create mode 100644 chrome/utils/hookFunction.jsm create mode 100644 chrome/utils/passwordmgr/passwordManager.js create mode 100644 chrome/utils/passwordmgr/passwordManager.xhtml create mode 100644 chrome/utils/passwordmgr/passwordmgr.css create mode 100644 chrome/utils/styloaix/16.png create mode 100644 chrome/utils/styloaix/16w.png create mode 100644 chrome/utils/styloaix/autocomplete.js create mode 100644 chrome/utils/styloaix/edit.css create mode 100644 chrome/utils/styloaix/edit.js create mode 100644 chrome/utils/styloaix/edit.xhtml create mode 100644 chrome/utils/userChrome.jsm create mode 100644 chrome/utils/xPref.jsm create mode 100644 ffroot/browser/chrome/icons/default/_main-window.ico create mode 100644 ffroot/browser/chrome/icons/default/main-window.ico create mode 100644 ffroot/config.js create mode 100644 ffroot/defaults/pref/channel-prefs.js create mode 100644 ffroot/defaults/pref/config-prefs.js diff --git a/README.md b/README.md index 217590d..a59fa7b 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,64 @@ # MSFX + Fork of [the MSFX Firefox userChrome](https://github.com/WinClassic/MSFX). ![Screenshot of MSFX](.assets/screenshot.png) ## Changes -* Uses normal [firefox-scripts](https://github.com/xiaoxiaoflood/firefox-scripts) instead of a stripped down version for greater userscript compatibility -* More accurate styles in some places - * Bookmarks bar folder menus - * All tabs button - * Replaced with overflow arrows icon - * Scrollbars forced to light theme - * Selected address bar forced to light theme - * Resize grabber no longer appears when maximized - * Autoplay Pending indicator icon replaced -* Pinned tabs no longer have extra padding -* Internet status bar widget is its own component - * Empty boxes have been removed in favor of putting extensions on the status bar -* Address bar is no longer forced to the Address toolbar when opening a new window + +- Uses normal [firefox-scripts](https://github.com/xiaoxiaoflood/firefox-scripts) instead of a stripped down version for greater userscript compatibility + - Fixed up for 117+ and now bundled with again, as the upstream repo's maintainer is MIA. +- More accurate styles in some places + - Bookmarks bar folder menus + - All tabs button + - Replaced with overflow arrows icon + - Scrollbars forced to light theme + - Selected address bar forced to light theme + - Resize grabber no longer appears when maximized + - Autoplay Pending indicator icon replaced + - Accurate menus (117+) + - Unlocked toolbar style has proper bottom resizer (visual only) + - Properly styled address bar dropdown + - Proper hover/active states for menu bar items + - Scrollbar dithering +- Internet status bar widget is its own component + - Empty boxes have been removed in favor of putting extensions on the status bar +- Address bar is no longer forced to the Address toolbar (configurable, enabled by default) +- Works with Firefox 117+ (fixes developed for on 122.0b3) + - A lot of legacy styling was removed to where the `appearance` property does nothing, everything that used this to achieve the classic style has been accurately recreated as best as possible. + +## What's missing? + +- The stock extensions menu, the main menu and the overflow tabs menu are not styled, as I do not personally use them. +- More configuration options probably. There might've been some things I commented out for my own liking that you may not agree with in terms of accuracy to IE5. +- Default favicons for bookmark items, as these cannot be changed in pure CSS. (needs investigation) +- Extension button tooltips don't seem to be standard tooltips. + +## Known issues + +- Opening "Customize Toolbar" resets the access key for the Favorites (bookmarks) menu item back to "B", resulting in "Favorites (B)" + +## What can be improved? + +- Stop using base64 URLs everywhere. +- More configuration. +- [Nested rulesets](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_nesting), since Firefox itself uses them everywhere. (117+) + - Some of the 117+ fixes have been using them (e.g. context menus) +- Multiple files. ## Installation -* Set the following keys in `about:config`: - * `svg.context-properties.content.enabled` to `true` - * `ui.prefersReducedMotion` to `1` - * `browser.display.windows.non_native_menus` to `0` -* Follow [firefox-scripts](https://github.com/xiaoxiaoflood/firefox-scripts) installation. -* Install [Status Bar userscript](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/chrome/status-bar.uc.js). -* Merge `chrome` folder from the repo into your profile's `chrome` folder. + +- Set the following keys in `about:config`: + - `toolkit.legacyUserProfileCustomizations.stylesheets` to `true` + - `svg.context-properties.content.enabled` to `true` + - `ui.prefersReducedMotion` to `1` + - ~~`browser.display.windows.non_native_menus` to `0`~~ (removed in 117+) +- Copy the contents of `ffroot` into your Firefox install folder (typically `C:\Program Files\Mozilla Firefox`) + - There is an extra set of folders added (`browser\chrome\icons\default`) to change the main window icon. The default is the IE5 page icon, but the 2001-2003 Mozilla icon is included as well, just needs to be renamed from `_main-window.ico` to `main-window.ico`. +- Merge `chrome` folder from the repo into your profile's `chrome` folder. (path can be found via `about:profiles` or `about:support`) ## Recommendations -* [Extensions Options Menu](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/chrome/extensionOptionsMenu.uc.js) - * More lightweight than the stock extensions menu, which is disabled by the theme anyways -* [userChromeJS Manager](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/chrome/rebuild_userChrome.uc.js) -* [Save File to](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/extensions/savefileto/savefileto.xpi) - * **Requires extensions support in firefox-scripts** - * "Replaces" save dialog for hybrid classic theme setup with Windhawk until investigation is done to fix the save dialog on classic enabled programs. + +- [Extensions Options Menu](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/chrome/extensionOptionsMenu.uc.js) + - More lightweight than the stock extensions menu, which is "hidden" by the theme anyways +- [userChromeJS Manager](https://raw.githubusercontent.com/xiaoxiaoflood/firefox-scripts/master/chrome/rebuild_userChrome.uc.js) diff --git a/chrome/activity_throbber.uc.js b/chrome/activity_throbber.uc.js index b540e5c..644ae77 100644 --- a/chrome/activity_throbber.uc.js +++ b/chrome/activity_throbber.uc.js @@ -1,52 +1,53 @@ // 'Activity throbber' script for Firefox 60+ by Aris +(function () { + Components.utils.import("resource:///modules/CustomizableUI.jsm"); + var Services = + globalThis.Services || + ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + var sss = Components.classes[ + "@mozilla.org/content/style-sheet-service;1" + ].getService(Components.interfaces.nsIStyleSheetService); -Components.utils.import("resource:///modules/CustomizableUI.jsm"); -var { Services } = Components.utils.import( - "resource://gre/modules/Services.jsm", - {} -); -var sss = Components.classes[ - "@mozilla.org/content/style-sheet-service;1" -].getService(Components.interfaces.nsIStyleSheetService); + var at_label = "Activity Throbber"; -var at_label = "Activity Throbber"; + var ActivityThrobber = { + init: function () { + try { + document.addEventListener("TabAttrModified", _ActivityThrobber, false); + document.addEventListener("TabSelect", _ActivityThrobber, false); + document.addEventListener("TabOpen", _ActivityThrobber, false); + document.addEventListener("TabClose", _ActivityThrobber, false); + document.addEventListener("load", _ActivityThrobber, false); -var ActivityThrobber = { - init: function () { - try { - document.addEventListener("TabAttrModified", _ActivityThrobber, false); - document.addEventListener("TabSelect", _ActivityThrobber, false); - document.addEventListener("TabOpen", _ActivityThrobber, false); - document.addEventListener("TabClose", _ActivityThrobber, false); - document.addEventListener("load", _ActivityThrobber, false); + // add or remove 'busy' tab from activity item + function _ActivityThrobber() { + if (gBrowser.selectedTab.hasAttribute("busy")) { + document + .querySelector("#activity_throbber") + .setAttribute("busy", "true"); + } else + document + .querySelector("#activity_throbber") + .removeAttribute("busy"); + } - // add or remove 'busy' tab from activity item - function _ActivityThrobber() { - if (gBrowser.selectedTab.hasAttribute("busy")) { - document - .querySelector("#activity_throbber") - .setAttribute("busy", "true"); - } else - document.querySelector("#activity_throbber").removeAttribute("busy"); - } + // create a default toolbar button + CustomizableUI.createWidget({ + id: "activity_throbber", // button id + defaultArea: CustomizableUI.AREA_NAVBAR, + removable: true, + label: at_label, // button title + tooltiptext: at_label, // tooltip title + onCreated: function (button) { + return button; + }, + }); - // create a default toolbar button - CustomizableUI.createWidget({ - id: "activity_throbber", // button id - defaultArea: CustomizableUI.AREA_NAVBAR, - removable: true, - label: at_label, // button title - tooltiptext: at_label, // tooltip title - onCreated: function (button) { - return button; - }, - }); - - // style button icon / embedded non-animated icon, because there is no image for then inside Fx anymore - var uri = Services.io.newURI( - "data:text/css;charset=utf-8," + - encodeURIComponent( - `#activity_throbber { + // style button icon / embedded non-animated icon, because there is no image for then inside Fx anymore + var uri = Services.io.newURI( + "data:text/css;charset=utf-8," + + encodeURIComponent( + `#activity_throbber { -moz-appearance: none !important; list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJ1BMVEUAAAC0tLS0tLSysrK0tLS0tLS0tLS1tbW0tLS6urq0tLS3t7eurq4SF2bYAAAADXRSTlMA2oILm3RnVEEF0y4TZ0HrPwAAAE5JREFUCNdjAAIjZQYISBQDU1uUA0WNvIEMR/FDOoUiQIbiCgaGLiEgY3oDAwNHJQPDtGCQQtNMBkWQKJCEM+BSMMVw7XAD4VYgLIU7AwA5fBJ3rMaMkwAAAABJRU5ErkJggg==); width: 16px !important; @@ -63,20 +64,21 @@ var ActivityThrobber = { list-style-image: url("chrome://global/skin/media/throbber.png"); } ` - ), - null, - null - ); + ), + null, + null + ); - // remove old style sheet, before registering the new one - if (sss.sheetRegistered(uri, sss.AGENT_SHEET)) { - sss.unregisterSheet(uri, sss.AGENT_SHEET); + // remove old style sheet, before registering the new one + if (sss.sheetRegistered(uri, sss.AGENT_SHEET)) { + sss.unregisterSheet(uri, sss.AGENT_SHEET); + } + sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); + } catch (e) { + Components.utils.reportError(e); } - sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); - } catch (e) { - Components.utils.reportError(e); - } - }, -}; + }, + }; -document.addEventListener("DOMContentLoaded", ActivityThrobber.init(), false); + document.addEventListener("DOMContentLoaded", ActivityThrobber.init(), false); +})(); diff --git a/chrome/additional_top_toolbars.uc.js b/chrome/additional_top_toolbars.uc.js index 5440047..8557e12 100644 --- a/chrome/additional_top_toolbars.uc.js +++ b/chrome/additional_top_toolbars.uc.js @@ -7,212 +7,223 @@ // // workaround on Fx 71 to save/restore toolbar visibility // creating an observer array always fails, so observers are created manually atm. +(function () { + Components.utils.import("resource:///modules/CustomizableUI.jsm"); + var Services = + globalThis.Services || + ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + var appversion = parseInt(Services.appinfo.version); -Components.utils.import("resource:///modules/CustomizableUI.jsm"); -var { Services } = Components.utils.import( - "resource://gre/modules/Services.jsm", - {} -); -var appversion = parseInt(Services.appinfo.version); + var AdditionalTopToolbars = { + init: function () { + /* blank tab workaround */ + try { + if (gBrowser.selectedBrowser.getAttribute("blank")) + gBrowser.selectedBrowser.removeAttribute("blank"); + } catch (e) {} -var AdditionalTopToolbars = { - init: function () { - /* blank tab workaround */ - try { - if (gBrowser.selectedBrowser.getAttribute("blank")) - gBrowser.selectedBrowser.removeAttribute("blank"); - } catch (e) {} + var number_of_additional_top_toolbars = 1; // max 5 to save toolbar state on Fx 71+ (add additional code at the bottom for more) + var tb_label = "Address"; - var number_of_additional_top_toolbars = 1; // max 5 to save toolbar state on Fx 71+ (add additional code at the bottom for more) - var tb_label = "Address"; + try { + if (document.getElementById("additional_top_toolbar1") == null) { + if ( + number_of_additional_top_toolbars > 0 && + number_of_additional_top_toolbars < 6 + ) { + var i = 1; - try { - if (document.getElementById("additional_top_toolbar1") == null) { - if ( - number_of_additional_top_toolbars > 0 && - number_of_additional_top_toolbars < 6 - ) { - var i = 1; + while (i <= number_of_additional_top_toolbars) { + if (appversion <= 62) + var toptoolbar = document.createElement("toolbar"); + else var toptoolbar = document.createXULElement("toolbar"); - while (i <= number_of_additional_top_toolbars) { - if (appversion <= 62) - var toptoolbar = document.createElement("toolbar"); - else var toptoolbar = document.createXULElement("toolbar"); - - toptoolbar.setAttribute("id", "additional_top_toolbar" + i + ""); - toptoolbar.setAttribute("toolbarname", tb_label + ""); - toptoolbar.setAttribute("toolbarname", tb_label + ""); - toptoolbar.setAttribute("customizable", "true"); - toptoolbar.setAttribute( - "class", - "toolbar-primary chromeclass-toolbar browser-toolbar customization-target" - ); - toptoolbar.setAttribute("mode", "icons"); - toptoolbar.setAttribute("iconsize", "small"); - toptoolbar.setAttribute("toolboxid", "navigator-toolbox"); - toptoolbar.setAttribute("context", "toolbar-context-menu"); - toptoolbar.setAttribute("lockiconsize", "true"); - toptoolbar.setAttribute("defaultset", "spring"); - - document - .querySelector("#navigator-toolbox") - .appendChild(toptoolbar); - - CustomizableUI.registerArea("additional_top_toolbar" + i + "", { - legacy: true, - }); - if (appversion >= 65) - CustomizableUI.registerToolbarNode(toptoolbar); - - // top toolbars 'collapsed' on startup - //setToolbarVisibility(toptoolbar, false); - - try { - Services.prefs - .getDefaultBranch("browser.additional_top_toolbar" + i + ".") - .setBoolPref("enabled", true); - setToolbarVisibility( - document.getElementById("additional_top_toolbar" + i + ""), - Services.prefs - .getBranch("browser.additional_top_toolbar" + i + ".") - .getBoolPref("enabled") + toptoolbar.setAttribute("id", "additional_top_toolbar" + i + ""); + toptoolbar.setAttribute("toolbarname", tb_label + ""); + toptoolbar.setAttribute("toolbarname", tb_label + ""); + toptoolbar.setAttribute("customizable", "true"); + toptoolbar.setAttribute( + "class", + "toolbar-primary chromeclass-toolbar browser-toolbar customization-target" ); - } catch (e) {} + toptoolbar.setAttribute("mode", "icons"); + toptoolbar.setAttribute("iconsize", "small"); + toptoolbar.setAttribute("toolboxid", "navigator-toolbox"); + toptoolbar.setAttribute("context", "toolbar-context-menu"); + toptoolbar.setAttribute("lockiconsize", "true"); + toptoolbar.setAttribute("defaultset", "spring"); - i++; + document + .querySelector("#navigator-toolbox") + .appendChild(toptoolbar); + + CustomizableUI.registerArea("additional_top_toolbar" + i + "", { + legacy: true, + }); + if (appversion >= 65) + CustomizableUI.registerToolbarNode(toptoolbar); + + // top toolbars 'collapsed' on startup + //setToolbarVisibility(toptoolbar, false); + + try { + Services.prefs + .getDefaultBranch("browser.additional_top_toolbar" + i + ".") + .setBoolPref("enabled", true); + setToolbarVisibility( + document.getElementById("additional_top_toolbar" + i + ""), + Services.prefs + .getBranch("browser.additional_top_toolbar" + i + ".") + .getBoolPref("enabled") + ); + } catch (e) {} + + i++; + } } + + // CSS + var sss = Components.classes[ + "@mozilla.org/content/style-sheet-service;1" + ].getService(Components.interfaces.nsIStyleSheetService); + + var uri = Services.io.newURI( + "data:text/css;charset=utf-8," + + encodeURIComponent( + `toolbar[id^="additional_top_toolbar"] { + -moz-appearance: none !important; + background-color: var(--toolbar-bgcolor); + background-image: var(--toolbar-bgimage); + background-clip: padding-box; + color: var(--toolbar-color, inherit); +} +#main-window[customizing] toolbar[id^="additional_top_toolbar"] { + outline: 1px dashed !important; + outline-offset: -2px !important; +}` + ), + null, + null + ); + + sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); } - // CSS - var sss = Components.classes[ - "@mozilla.org/content/style-sheet-service;1" - ].getService(Components.interfaces.nsIStyleSheetService); - - var uri = Services.io.newURI( - "data:text/css;charset=utf-8," + - encodeURIComponent( - '\ - \ - toolbar[id^="additional_top_toolbar"] { \ - -moz-appearance: none !important; \ - background-color: var(--toolbar-bgcolor); \ - background-image: var(--toolbar-bgimage); \ - background-clip: padding-box; \ - color: var(--toolbar-color, inherit); \ - } \ - #main-window[customizing] toolbar[id^="additional_top_toolbar"] { \ - outline: 1px dashed !important; \ - outline-offset: -2px !important; \ - } \ - \ - ' - ), - null, - null - ); - - sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); - } - - if (number_of_additional_top_toolbars >= 1) { - var observer1 = new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { - Services.prefs - .getBranch("browser.additional_top_toolbar1.") - .setBoolPref( - "enabled", - !document.querySelector("#additional_top_toolbar1").collapsed - ); + if (number_of_additional_top_toolbars >= 1) { + var observer1 = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + Services.prefs + .getBranch("browser.additional_top_toolbar1.") + .setBoolPref( + "enabled", + !document.querySelector("#additional_top_toolbar1").collapsed + ); + }); }); - }); - observer1.observe(document.querySelector("#additional_top_toolbar1"), { - attributes: true, - childList: true, - characterData: true, - }); - } - if (number_of_additional_top_toolbars >= 2) { - var observer2 = new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { - Services.prefs - .getBranch("browser.additional_top_toolbar2.") - .setBoolPref( - "enabled", - !document.querySelector("#additional_top_toolbar2").collapsed - ); + observer1.observe( + document.querySelector("#additional_top_toolbar1"), + { + attributes: true, + childList: true, + characterData: true, + } + ); + } + if (number_of_additional_top_toolbars >= 2) { + var observer2 = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + Services.prefs + .getBranch("browser.additional_top_toolbar2.") + .setBoolPref( + "enabled", + !document.querySelector("#additional_top_toolbar2").collapsed + ); + }); }); - }); - observer2.observe(document.querySelector("#additional_top_toolbar2"), { - attributes: true, - childList: true, - characterData: true, - }); - } - if (number_of_additional_top_toolbars >= 3) { - var observer3 = new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { - Services.prefs - .getBranch("browser.additional_top_toolbar3.") - .setBoolPref( - "enabled", - !document.querySelector("#additional_top_toolbar3").collapsed - ); + observer2.observe( + document.querySelector("#additional_top_toolbar2"), + { + attributes: true, + childList: true, + characterData: true, + } + ); + } + if (number_of_additional_top_toolbars >= 3) { + var observer3 = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + Services.prefs + .getBranch("browser.additional_top_toolbar3.") + .setBoolPref( + "enabled", + !document.querySelector("#additional_top_toolbar3").collapsed + ); + }); }); - }); - observer3.observe(document.querySelector("#additional_top_toolbar3"), { - attributes: true, - childList: true, - characterData: true, - }); - } - if (number_of_additional_top_toolbars >= 4) { - var observer4 = new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { - Services.prefs - .getBranch("browser.additional_top_toolbar4.") - .setBoolPref( - "enabled", - !document.querySelector("#additional_top_toolbar4").collapsed - ); + observer3.observe( + document.querySelector("#additional_top_toolbar3"), + { + attributes: true, + childList: true, + characterData: true, + } + ); + } + if (number_of_additional_top_toolbars >= 4) { + var observer4 = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + Services.prefs + .getBranch("browser.additional_top_toolbar4.") + .setBoolPref( + "enabled", + !document.querySelector("#additional_top_toolbar4").collapsed + ); + }); }); - }); - observer4.observe(document.querySelector("#additional_top_toolbar4"), { - attributes: true, - childList: true, - characterData: true, - }); - } - if (number_of_additional_top_toolbars >= 5) { - var observer5 = new MutationObserver(function (mutations) { - mutations.forEach(function (mutation) { - Services.prefs - .getBranch("browser.additional_top_toolbar5.") - .setBoolPref( - "enabled", - !document.querySelector("#additional_top_toolbar5").collapsed - ); + observer4.observe( + document.querySelector("#additional_top_toolbar4"), + { + attributes: true, + childList: true, + characterData: true, + } + ); + } + if (number_of_additional_top_toolbars >= 5) { + var observer5 = new MutationObserver(function (mutations) { + mutations.forEach(function (mutation) { + Services.prefs + .getBranch("browser.additional_top_toolbar5.") + .setBoolPref( + "enabled", + !document.querySelector("#additional_top_toolbar5").collapsed + ); + }); }); - }); - observer5.observe(document.querySelector("#additional_top_toolbar5"), { - attributes: true, - childList: true, - characterData: true, - }); - } - } catch (e) {} - }, -}; + observer5.observe( + document.querySelector("#additional_top_toolbar5"), + { + attributes: true, + childList: true, + characterData: true, + } + ); + } + } catch (e) {} + }, + }; -/* initialization delay workaround */ -document.addEventListener( - "DOMContentLoaded", - AdditionalTopToolbars.init(), - false -); + /* initialization delay workaround */ + document.addEventListener( + "DOMContentLoaded", + AdditionalTopToolbars.init(), + false + ); -// not needed anymore, but just in case someone prefers initialization that way -/* + // not needed anymore, but just in case someone prefers initialization that way + /* setTimeout(function(){ AdditionalTopToolbars.init(); },500); */ +})(); diff --git a/chrome/change-toolbar-icon-values.uc.js b/chrome/change-toolbar-icon-values.uc.js index 25c6439..69cedf9 100644 --- a/chrome/change-toolbar-icon-values.uc.js +++ b/chrome/change-toolbar-icon-values.uc.js @@ -1,42 +1,52 @@ -function waitForElm(selector) { - return new Promise(resolve => { +(function () { + function waitForElm(selector) { + return new Promise((resolve) => { + if (document.querySelector(selector)) { + return resolve(document.querySelector(selector)); + } + + const observer = new MutationObserver((mutations) => { if (document.querySelector(selector)) { - return resolve(document.querySelector(selector)); + resolve(document.querySelector(selector)); + observer.disconnect(); } + }); - const observer = new MutationObserver(mutations => { - if (document.querySelector(selector)) { - resolve(document.querySelector(selector)); - observer.disconnect(); - } - }); - - observer.observe(document.body, { - childList: true, - subtree: true - }); + observer.observe(document.body, { + childList: true, + subtree: true, + }); }); -} + } -waitForElm('#find-button').then((elm) => { - var find = document.querySelector("#find-button label.toolbarbutton-text"); - find.setAttribute("value", "Search"); -}); + waitForElm("#find-button").then((elm) => { + var find = document.querySelector("#find-button label.toolbarbutton-text"); + if (find) + find.setAttribute("value", "Search"); + }); -setTimeout(function () { - waitForElm('#nav-bar').then((elm) => { - var library = document.querySelector("#bookmarks-menu-button label.toolbarbutton-text"); - library.setAttribute("value", "Favorites"); - }); -}, 0); + setTimeout(function () { + waitForElm("#nav-bar").then((elm) => { + var library = document.querySelector( + "#bookmarks-menu-button label.toolbarbutton-text" + ); + if (library) + library.setAttribute("value", "Favorites"); + }); + }, 0); -waitForElm('#bookmarksMenu').then((elm) => { - var bookmarksmenu = document.querySelector("#bookmarksMenu label.menubar-text"); - bookmarksmenu.setAttribute("value", "Favorites"); - bookmarksmenu.setAttribute("accesskey", "a"); -}); + waitForElm("#bookmarksMenu").then((elm) => { + var bookmarksmenu = document.querySelector( + "#bookmarksMenu label.menubar-text" + ); + if (bookmarksmenu) + bookmarksmenu.setAttribute("value", "Favorites"); + //bookmarksmenu.setAttribute("accesskey", "a"); + }); -waitForElm('#bookmarksMenu').then((elm) => { - var bookmarksmenu = document.querySelector("#bookmarksMenu"); - bookmarksmenu.setAttribute("accesskey", "a"); -}); \ No newline at end of file + waitForElm("#bookmarksMenu").then((elm) => { + var bookmarksmenu = document.querySelector("#bookmarksMenu"); + if (bookmarksmenu) + bookmarksmenu.removeAttribute("accesskey"); + }); +})(); diff --git a/chrome/create_internet_on_status_bar.uc.js b/chrome/create_internet_on_status_bar.uc.js index c6865f3..20267f6 100644 --- a/chrome/create_internet_on_status_bar.uc.js +++ b/chrome/create_internet_on_status_bar.uc.js @@ -1,32 +1,32 @@ -Components.utils.import("resource:///modules/CustomizableUI.jsm"); -var { Services } = Components.utils.import( - "resource://gre/modules/Services.jsm", - {} -); -var sss = Components.classes[ - "@mozilla.org/content/style-sheet-service;1" -].getService(Components.interfaces.nsIStyleSheetService); +(function () { + Components.utils.import("resource:///modules/CustomizableUI.jsm"); + var Services = + globalThis.Services || + ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + var sss = Components.classes[ + "@mozilla.org/content/style-sheet-service;1" + ].getService(Components.interfaces.nsIStyleSheetService); -var IE6StatusBar = { - init: function () { - try { - // create a default toolbar button - CustomizableUI.createWidget({ - id: "ie6_statusbar", // button id - defaultArea: CustomizableUI.AREA_NAVBAR, - removable: true, - label: "Internet", // button title - tooltiptext: "", // tooltip title - onCreated: function (button) { - return button; - }, - }); + var IE6StatusBar = { + init: function () { + try { + // create a default toolbar button + CustomizableUI.createWidget({ + id: "ie6_statusbar", // button id + defaultArea: CustomizableUI.AREA_NAVBAR, + removable: true, + label: "Internet", // button title + tooltiptext: "", // tooltip title + onCreated: function (button) { + return button; + }, + }); - // style button icon / embedded non-animated icon, because there is no image for then inside Fx anymore - var uri = Services.io.newURI( - "data:text/css;charset=utf-8," + - encodeURIComponent( - `#ie6_statusbar { + // style button icon / embedded non-animated icon, because there is no image for then inside Fx anymore + var uri = Services.io.newURI( + "data:text/css;charset=utf-8," + + encodeURIComponent( + `#ie6_statusbar { display: flex; width: 151px; height: 18px; @@ -51,20 +51,21 @@ var IE6StatusBar = { #ie6_statusbar > .toolbarbutton-icon { display: none; }` - ), - null, - null - ); + ), + null, + null + ); - // remove old style sheet, before registering the new one - if (sss.sheetRegistered(uri, sss.AGENT_SHEET)) { - sss.unregisterSheet(uri, sss.AGENT_SHEET); + // remove old style sheet, before registering the new one + if (sss.sheetRegistered(uri, sss.AGENT_SHEET)) { + sss.unregisterSheet(uri, sss.AGENT_SHEET); + } + sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); + } catch (e) { + Components.utils.reportError(e); } - sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); - } catch (e) { - Components.utils.reportError(e); - } - }, -}; + }, + }; -document.addEventListener("DOMContentLoaded", IE6StatusBar.init(), false); + document.addEventListener("DOMContentLoaded", IE6StatusBar.init(), false); +})(); diff --git a/chrome/go_button.uc.js b/chrome/go_button.uc.js index ecd6ad1..4a3e0bd 100644 --- a/chrome/go_button.uc.js +++ b/chrome/go_button.uc.js @@ -1,10 +1,9 @@ (function () { try { Components.utils.import("resource:///modules/CustomizableUI.jsm"); - var { Services } = Components.utils.import( - "resource://gre/modules/Services.jsm", - {} - ); + var Services = + globalThis.Services || + ChromeUtils.import("resource://gre/modules/Services.jsm").Services; var sss = Components.classes[ "@mozilla.org/content/style-sheet-service;1" ].getService(Components.interfaces.nsIStyleSheetService); diff --git a/chrome/move_bars.uc.js b/chrome/move_bars.uc.js index 178877f..a73bfa0 100644 --- a/chrome/move_bars.uc.js +++ b/chrome/move_bars.uc.js @@ -2,82 +2,114 @@ // option: place urlbar on a different toolbar // option: place back button on a different toolbar // option: place back button on a different toolbar +(function () { + var {CustomizableUI} = Components.utils.import( + "resource:///modules/CustomizableUI.jsm", + {} + ); -var { CustomizableUI } = Components.utils.import( - "resource:///modules/CustomizableUI.jsm", - {} -); + var navigation = CustomizableUI.AREA_NAVBAR; + var tabs = CustomizableUI.AREA_TABSTRIP; + var menu = CustomizableUI.AREA_MENUBAR; + var bookmarks = CustomizableUI.AREA_BOOKMARKS; -var navigation = CustomizableUI.AREA_NAVBAR; -var tabs = CustomizableUI.AREA_TABSTRIP; -var menu = CustomizableUI.AREA_MENUBAR; -var bookmarks = CustomizableUI.AREA_BOOKMARKS; + /* [target toolbar of item] + menu = 'menubar' + tabs = 'tabs toolbar' + bookmarks = 'bookmarks toolbar' + navigation='navigation toolbar' */ + var backbutton_on_toolbar = navigation; + var forwardbutton_on_toolbar = navigation; + var urlbar_on_toolbar = navigation; -/* [target toolbar of item] - menu = 'menubar' - tabs = 'tabs toolbar' - bookmarks = 'bookmarks toolbar' - navigation='navigation toolbar' */ -var backbutton_on_toolbar = navigation; -var forwardbutton_on_toolbar = navigation; -var urlbar_on_toolbar = navigation; + /* [target position of item] + 0 = 1st + 1 = 2nd + 2 = 3rd + ... + x = xth */ + var backbutton_on_toolbar_position = 0; + var forwardbutton_on_toolbar_position = 1; + var urlbar_on_toolbar_position = 0; -/* [target position of item] - 0 = 1st - 1 = 2nd - 2 = 3rd - ... - x = xth */ -var backbutton_on_toolbar_position = 0; -var forwardbutton_on_toolbar_position = 1; -var urlbar_on_toolbar_position = 0; + const separateAddressBar = true; + const moveNavigation = true; + const bottomTabs = true; + const menuToTop = true; -var MoveUrlbar = { - init: function () { - try { - document.getElementById("back-button").setAttribute("removable", "true"); - document - .getElementById("forward-button") - .setAttribute("removable", "true"); - document - .getElementById("urlbar-container") - .setAttribute("removable", "true"); - document - .getElementById("additional_top_toolbar1") - .setAttribute("fullscreentoolbar", "true"); - } catch (e) {} + var MoveUrlbar = { + init: function () { + try { + document + .getElementById("back-button") + .setAttribute("removable", "true"); + document + .getElementById("forward-button") + .setAttribute("removable", "true"); + document + .getElementById("urlbar-container") + .setAttribute("removable", "true"); + document + .getElementById("unified-extensions-button") + .setAttribute("removable", "true"); + } catch (e) {} - /*CustomizableUI.addWidgetToArea("back-button", backbutton_on_toolbar); - CustomizableUI.moveWidgetWithinArea( - "back-button", - backbutton_on_toolbar_position - ); - CustomizableUI.addWidgetToArea("forward-button", forwardbutton_on_toolbar); - CustomizableUI.moveWidgetWithinArea( - "forward-button", - forwardbutton_on_toolbar_position - ); - CustomizableUI.addWidgetToArea( - "urlbar-container", - "additional_top_toolbar1" - ); - CustomizableUI.moveWidgetWithinArea( - "urlbar-container", - urlbar_on_toolbar_position - );*/ + // Forces back/forward to navigation bar + if (moveNavigation) { + CustomizableUI.addWidgetToArea("back-button", backbutton_on_toolbar); + CustomizableUI.moveWidgetWithinArea( + "back-button", + backbutton_on_toolbar_position + ); + CustomizableUI.addWidgetToArea( + "forward-button", + forwardbutton_on_toolbar + ); + CustomizableUI.moveWidgetWithinArea( + "forward-button", + forwardbutton_on_toolbar_position + ); + } - document - .getElementById("navigator-toolbox") - .appendChild(document.getElementById("TabsToolbar")); + // Forces address bar to additional_top_toolbar1 (Address) + // THIS WILL SOFTBRICK YOUR FIREFOX IF ADDITIONAL TOP TOOLBARS AREN'T + // ENABLED BUT THIS IS + if (separateAddressBar) { + CustomizableUI.addWidgetToArea( + "urlbar-container", + "additional_top_toolbar1" + ); + CustomizableUI.moveWidgetWithinArea( + "urlbar-container", + urlbar_on_toolbar_position + ); + } - /* - try { - document.getElementById('back-button').setAttribute('removable','false'); - document.getElementById('forward-button').setAttribute('removable','false'); - document.getElementById('urlbar-container').setAttribute('removable','false'); - } catch(e){} - */ - }, -}; + // Moves tabs to the bottom of the toolbar stack + if (bottomTabs) { + document + .getElementById("navigator-toolbox") + .appendChild(document.getElementById("TabsToolbar")); + } -document.addEventListener("DOMContentLoaded", MoveUrlbar.init(), false); + // Moves the main menu button to the top row, before the last item + // (activity throbber). This is because the icon is hidden but not the + // button and creates bad padding if you're using the navigation bar as + // an address bar + if (menuToTop) { + setTimeout(() => { + document + .getElementById("PanelUI-button") + .setAttribute("removable", "true"); + const menubar = document.getElementById(menu); + menubar.insertBefore( + document.getElementById("PanelUI-button"), + menubar.lastChild + ); + }, 0); + } + }, + }; + + document.addEventListener("DOMContentLoaded", MoveUrlbar.init(), false); +})(); diff --git a/chrome/go.png b/chrome/msfx/go.png similarity index 100% rename from chrome/go.png rename to chrome/msfx/go.png diff --git a/chrome/msfx/msfx.css b/chrome/msfx/msfx.css new file mode 100644 index 0000000..636a3c8 --- /dev/null +++ b/chrome/msfx/msfx.css @@ -0,0 +1,2503 @@ +@import url("toolbar-label-under-icon.css"); + +menupopup, +panel { + --windows-panel-box-shadow: none !important; + --panel-shadow-margin: 0 !important; + --panel-border-radius: 0 !important; + --panel-padding-block: 0 !important; + --panel-background: Window !important; + --panel-color: -moz-DialogText !important; +} + +#urlbar-container { + --urlbar-container-height: 22px !important; +} + +#urlbar { + --urlbar-height: 22px !important; + --urlbar-toolbar-height: 22px !important; + color: WindowText !important; +} + +#urlbar-scheme { + color: WindowText !important; +} + +/* Add 3D Borders back to context menus. */ +menupopup { + appearance: none !important; + border: none !important; + padding: 2px !important; + box-shadow: inset -1px -1px 0 ThreeDDarkShadow, inset 1px 1px 0 ThreeDFace, + inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; + border: 0px solid transparent !important; +} + +menuseparator:not([hidden="true"])::before { + height: 1px; + background-color: ThreeDHighlight; +} + +/* Fix Menubar Selection. */ +#main-menubar > menu[_moz-menuactive="true"] { + color: inherit !important; +} + +#main-menubar > menu { + appearance: menuitem !important; + min-height: 19px !important; +} + +/* Status Bar */ + +#browser-bottombox { + margin-top: 2px; + height: 18px; + /*display: var(--show-status-bar); + gap: 2px; + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow;*/ +} + +#main-window:not([sizemode="maximized"]) #browser-bottombox::after { + content: ""; + display: inline-block; + width: 13px; + height: 13px; + position: fixed; + right: 0; + bottom: 0; + background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDMuNDM5NiAzLjQzOTYiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGc+PGc+PHJlY3QgeD0iMi45MTA0IiB5PSIwLjAwMDAiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIyLjY0NTgiIHk9Ii4yNjQ1OCIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjIuMzgxMiIgeT0iLjUyOTE3IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMi4xMTY3IiB5PSIuNzkzNzUiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIxLjg1MjEiIHk9IjEuMDU4MyIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjEuNTg3NSIgeT0iMS4zMjI5IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMS4zMjI5IiB5PSIxLjU4NzUiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuODUyMSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9Ii43OTM3NSIgeT0iMi4xMTY3IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iLjUyOTE3IiB5PSIyLjM4MTIiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIuMjY0NTgiIHk9IjIuNjQ1OCIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjAuMDAwMCIgeT0iMi45MTA0IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMi45MTA0IiB5PSIuMjY0NTgiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIyLjY0NTgiIHk9Ii41MjkxNyIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjIuMzgxMiIgeT0iLjc5Mzc1IiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMi4xMTY3IiB5PSIxLjA1ODMiIHdpZHRoPSIuNTI5MTciIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIxLjg1MjEiIHk9IjEuMzIyOSIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjEuNTg3NSIgeT0iMS41ODc1IiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMS4zMjI5IiB5PSIxLjg1MjEiIHdpZHRoPSIuNTI5MTciIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIxLjA1ODMiIHk9IjIuMTE2NyIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9Ii43OTM3NSIgeT0iMi4zODEyIiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iLjUyOTE3IiB5PSIyLjY0NTgiIHdpZHRoPSIuNTI5MTciIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIuMjY0NTgiIHk9IjIuOTEwNCIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjIuOTEwNCIgeT0iMS4wNTgzIiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMi42NDU4IiB5PSIxLjMyMjkiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIyLjM4MTIiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjIuMTE2NyIgeT0iMS44NTIxIiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMS44NTIxIiB5PSIyLjExNjciIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIxLjU4NzUiIHk9IjIuMzgxMiIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjEuMzIyOSIgeT0iMi42NDU4IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMS4wNTgzIiB5PSIyLjkxMDQiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIyLjkxMDQiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjIuNjQ1OCIgeT0iMS41ODc1IiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMi4zODEyIiB5PSIxLjg1MjEiIHdpZHRoPSIuNTI5MTciIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIyLjExNjciIHk9IjIuMTE2NyIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjEuODUyMSIgeT0iMi4zODEyIiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMS41ODc1IiB5PSIyLjY0NTgiIHdpZHRoPSIuNTI5MTciIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIxLjMyMjkiIHk9IjIuOTEwNCIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjIuOTEwNCIgeT0iMi4xMTY3IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMi42NDU4IiB5PSIyLjM4MTIiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiLz48cmVjdCB4PSIyLjM4MTIiIHk9IjIuNjQ1OCIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9IjIuMTE2NyIgeT0iMi45MTA0IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PHJlY3QgeD0iMi45MTA0IiB5PSIyLjM4MTIiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIyLjY0NTgiIHk9IjIuNjQ1OCIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlRFNoYWRvdyIvPjxyZWN0IHg9IjIuMzgxMiIgeT0iMi45MTA0IiB3aWR0aD0iLjUyOTE3IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMy4xNzUwIiB5PSIwLjAwMDAiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iMy40Mzk2IiBmaWxsPSItbW96LURpYWxvZyIvPjxyZWN0IHg9IjAuMDAwMCIgeT0iMy4xNzUwIiB3aWR0aD0iMy4xNzUwIiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iLW1vei1EaWFsb2ciLz48L2c+PC9nPjwvc3ZnPg=="); +} + +#status-text::before { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + position: fixed; + left: 2px; + bottom: 1px; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg=="); +} +#status-text { + height: 18px; + padding-left: 16px; + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; +} + +#statuspanel-label { + color-scheme: light !important; + background-color: transparent !important; + color: -moz-DialogText !important; + border: 0 !important; + /*padding-top: unset !important; + padding-bottom: unset !important; + padding-left: 2px !important;*/ + padding-bottom: 4px !important; +} + +#statuspanel { + display: flex !important; + align-items: center !important; + margin-top: unset !important; + bottom: 1px !important; + left: 1px !important; + transition: none !important; + min-height: 16px !important; + position: fixed !important; + padding-top: 0 !important; + background-color: transparent; !important; +} + +#statuspanel-inner { + height: 100% !important; + display: flex; + align-items: center; +} + +/* I give up making comments. */ +#navigator-toolbox { + border-bottom: 0 !important; + appearance: groupbox !important; + box-shadow: inset 1px 1px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight, + inset -1px -1px 0 ThreeDHighlight, inset -2px -2px 0 ThreeDShadow !important; + padding: 2px; + margin-bottom: 2px !important; +} + +.browserStack, +#customization-container { + -moz-default-appearance: listbox !important; + -moz-appearance: listbox !important; +} + +.browser-toolbar:not(#TabsToolbar) { + box-shadow: inset 0px -1px 0 ThreeDHighlight, inset 0px 0px 0 ThreeDShadow !important; + padding-bottom: 2px !important; +} + +#PersonalToolbar { + padding-inline: 0 !important; +} + +.tabbrowser-tab { + appearance: tab !important; + padding: 0 5px !important; +} + +.tabbrowser-tab:not([pinned]):not([fadein]) { + max-width: 176px !important; +} + +.tab-background { + display: none !important; +} + +.tab-close-button { + display: var(--hide-tab-close-button) !important; + padding: 0 !important; + width: 10px !important; + height: 10px !important; + transform: translate(-1px, -1px); + margin-inline-end: calc(var(--inline-tab-padding) + 2px) !important; + list-style-image: none !important; + background-color: -moz-DialogText !important; + mask-repeat: no-repeat !important; + mask-position: center center !important; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVBhXY2RgYPgPxCAAYiMDmDgYgDjIAnA+si4UHUCAbiIYoJtEvAnoOuF8kCqYBLqdQHEGBgAx7A/5GaSbcgAAAABJRU5ErkJggg==") !important; +} + +.tab-close-button[pinned] { + display: none !important; +} + +.tab-label { + line-height: unset !important; +} + +.tab-content { + display: flex !important; + align-items: center; +} + +.tab-close-button:hover { + background-color: WindowText; + opacity: 0.5 !important; +} + +#urlbar-background, +#searchbar { + border: 0 !important; + border-radius: 0 !important; + -moz-default-appearance: listbox !important; + -moz-appearance: listbox !important; + box-shadow: none !important; +} + +#urlbar[breakout][breakout-extend] #urlbar-background { + height: var(--urlbar-height) !important; +} + +#urlbar[breakout][breakout-extend] #favimginurlbar { + margin: 3px !important; + margin-right: 2px !important; +} + +#urlbar[breakout][breakout-extend] .urlbar-input-box::after { + display: none !important; +} + +#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) + > #tabbrowser-arrowscrollbox + > .tabbrowser-tab[first-visible-unpinned-tab] { + margin-inline-start: 0 !important; +} + +#context-navigation { + display: flex; + flex-direction: column; + padding-bottom: 0 !important; +} + +#context-navigation::after { + content: ""; + display: block; + appearance: menuseparator; +} + +#context-sep-navigation { + display: none !important; +} + +#context-navigation > .menuitem-iconic { + list-style-image: none !important; + position: relative !important; + align-items: center !important; + justify-content: flex-start !important; +} + +#context-navigation .menuitem-iconic::before { + display: block; + content: attr(aria-label); + /*margin-left: 16px;*/ + padding-bottom: 0 !important; + height: 18px; + line-height: 18px; +} + +#context-sep-navigation { + margin-top: 0 !important; +} + +toolbarseparator { + border-left: 1px solid ThreeDShadow; + border-right: 1px solid ThreeDHighlight; + margin: 2px; +} + +toolbarpaletteitem[place="toolbar"][id^="wrapper-customizableui-special-spring"], +toolbarspring { + -moz-box-flex: 10000 !important; +} + +#activity_throbber { + background-color: #000 !important; + height: 22px !important; + list-style-image: none !important; + background-repeat: no-repeat; + background-position: center center; + min-width: 39px !important; + min-height: 22px !important; + padding: 0 !important; + position: relative !important; + left: 0px; + background-image: url("data:image/bmp;base64,Qk0uCgAAAAAAADYAAAAoAAAAJgAAABYAAAABABgAAAAAAPgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzAAAzMwAzMwAzAAAzMwAzAAAREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAADMzADMzM2YzM2YzM5lmZmZmM01NTWYzABEREQAzMxEREREREREREQAAMwAzMxEREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMAMzMzZjMzM2YzVVVVKSkpAAAAQkJCMzMzOTk5MzMzADMzADMzHBwcM2ZmADMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREREzMwBmMzOZZjPMmWbMmWaZmWYcHBxmMzMREREAAAAAAAAAAAAAAAAAAAAzM2YAMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzAGYzM2ZmM5lmZpmZZsyZmZmZZikpKZlmM5lmM2YzMwBmMwCZzACZzAAAADNmZhEREQAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAKSkpmWYzmWZmmZlmzJmZmZlmAAAAmWYzzGYzZmYzADNmAMz/AJnMAAAAADMzERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBw5OTlfX19mZjNCQkJCQkJCQkIcHBxmZjOZZjNmZjMAM2YAzP8AmcwAAAAzZmYAMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHDMzM0JCQmZmmWZmmZmZzGZmmSkpKTk5ORERETMAAAAzMwBmZgAzMwAAADNmZgAzMxEREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNmM2aZZmaZZmbMmZnMZpnMERERM2bMMzPMADNmHBwcM2YzM2YzAAAAVVVVADMAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAADMzM2ZmZsxmmcxmmcxmZswzAAAzZswAZswzM5kAZjNmmWYzmWYAAABmmWYzZjMcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMwAzZjMzmXd3d2ZmZmZmZnd3dyIiIjNmzDMz/wAzmTMzAGbMZjOZMwAAAF9fXwBmMxwcHAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzKSkpTU1NMzNmMzNmM2aZTU1NHBwcKSkpAAAzADMzADMzM2YzKSkpAAAAZplmMzMzADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAMzMAADMAMzMAADMzM2YAM2YzM2ZfX19CQkIcHBwAAAAREREpKSkzZmYzmTMzMzMAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAAAAAMwAAAAAAAAAAMwAAMwAzZjMzZjNmZjNmZl9fXzOZZjNmMzNmMwAzAAAzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzADMzIiIiADMzMzMAADMzADMAADMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAMwAAMwAREREAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="); +} + +#activity_throbber::before { + content: ""; + position: absolute !important; + width: 1px !important; + border-left: 1px solid ThreeDShadow !important; + box-shadow: inset 1px 0 0 ThreeDHighlight !important; + height: calc(100% + 1px) !important; + top: 0 !important; + left: 0 !important; + z-index: 1 !important; +} + +#activity_throbber[busy] { + background-image: url("data:image/gif;base64,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"); +} + +#activity_throbber .toolbarbutton-icon { + display: none !important; +} + +#menubar-items { + justify-content: center !important; +} + +.tab-secondary-label { + display: none !important; +} + +#tabbrowser-tabs { + padding-left: 2px !important; +} + +:root:not([uidensity="compact"]) .tab-content[pinned] { + padding: 0 !important; +} + +#tabbrowser-tabs:not([secondarytext-unsupported]) .tab-label-container { + padding: 0 !important; + height: unset !important; + margin-top: 1px !important; +} +#tabbrowser-tabs:not([secondarytext-unsupported]) + .tab-label-container:not([pinned]) { + width: 100% !important; +} + +.tabbrowser-tab { + min-height: calc(var(--tab-min-height) - 3px) !important; + padding: 0 1px !important; + margin-top: 2px !important; + margin-bottom: -1px !important; +} + +.tabbrowser-tab[pinned] { + padding: 0 4px !important; +} + +.tabbrowser-tab[visuallyselected="true"] { + position: unset !important; + font-weight: var(--selected-tab-font-weight) !important; +} + +.tabbrowser-tab:not([selected="true"]) { + min-height: calc(var(--tab-min-height) - 5px) !important; + margin-top: 4px !important; +} + +.tabbrowser-tab:not([pinned]) .tab-icon-image { + display: var(--show-tab-icons) !important; + margin-bottom: 1px !important; +} + +.tabbrowser-tab[pinned] + .tab-icon-stack[soundplaying="true"] + .tab-icon-image { + display: none !important; +} + +.tabbrowser-tab[pinned] .tab-icon-overlay { + display: inline-block !important; +} + +.tabbrowser-tab[label="New Tab"][image]:not([busy]) .tab-icon-image { + opacity: 0; +} + +.tabbrowser-tab[label="New Tab"][image]:not([busy]) + .tab-label-container:not([selected="true"])::before { + top: 1px; +} + +.tabbrowser-tab[label="New Tab"][image]:not([busy]) + .tab-label-container::before { + content: ""; + display: var(--show-tab-icons) !important; + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; + background-size: 100%; + width: 16px; + height: 16px; + position: absolute; + top: 2px; + left: 0px; + pointer-events: none; + opacity: 1; +} + +.tab-throbber:not([pinned]), +.tab-icon-pending:not([pinned]), +.tab-icon-image:not([pinned]), +.tab-sharing-icon-overlay:not([pinned]), +.tab-icon-overlay:not([pinned]) { + margin-inline-end: 3px !important; +} + +:root[uidensity="compact"] + .tab-icon-stack[indicator-replaces-favicon] + > :not(.tab-icon-overlay), +#tabbrowser-tabs[secondarytext-unsupported] + .tab-icon-stack[indicator-replaces-favicon] + > :not(.tab-icon-overlay), +:root:not([uidensity="compact"]) + #tabbrowser-tabs:not([secondarytext-unsupported]) + .tabbrowser-tab:not(:hover) + .tab-icon-overlay[indicator-replaces-favicon], +:root:not([uidensity="compact"]) + #tabbrowser-tabs:not([secondarytext-unsupported]) + .tabbrowser-tab:hover + .tab-icon-stack[indicator-replaces-favicon] + > :not(.tab-icon-overlay) { + opacity: 1 !important; +} + +.tab-icon-stack { + display: flex !important; +} + +.tab-icon-stack[indicator-replaces-favicon="true"] .tab-icon-image { + margin-inline-end: 0 !important; +} + +/*#tabbrowser-tabs tab:first-of-type:last-of-type, +#tabbrowser-tabs tab:first-of-type:last-of-type ~ #tabs-newtab-button, +#tabbrowser-tabs + tab:first-of-type:last-of-type + ~ #tabbrowser-arrowscrollbox-periphery + #tabs-newtab-button, +#tabbrowser-tabs tab:first-of-type:last-of-type { + display: none !important; +}*/ + +#reload-button, +#stop-button, +#reload-button:not([displaystop]) + #stop-button, +#reload-button[displaystop] { + display: inherit !important; +} + +#stop-reload-button { + flex-direction: var(--stop-reload-order) !important; +} + +#urlbar[breakout-extend] { + top: calc( + var((--urlbar-toolbar-height) - var(--urlbar-height)) / 2 + ) !important; + left: 0 !important; + width: 100% !important; +} + +#urlbar[breakout-extend] #urlbar-input-container { + height: var(--urlbar-height) !important; + padding-block: 0px !important; + padding-inline: 0px !important; +} + +:root[inFullscreen] #browser-bottombox { + display: none !important; +} + +:root[inFullscreen] .browserStack { + -moz-default-appearance: none !important; + -moz-appearance: none !important; +} + +.bookmark-item { + border: 1px solid transparent; + border-radius: 0 !important; + margin: 0 !important; + background: transparent !important; + padding: 0 !important; + padding-inline: 4px !important; +} + +.bookmark-item[label=""], +#tabs-newtab-button, +.toolbarbutton-1:not(#activity_throbber):not(#back-button):not(#go-button):not( + #find-button + ):not(#bookmarks-menu-button):not(#history-panelmenu):not(#sidebar-button):not(#ie6_statusbar), +#PlacesChevron, +#sidebar-close, +#placesToolbar > toolbarbutton:not([disabled]) { + width: 22px; + height: 22px; +} + +#status-bar { + color: -moz-DialogText; + gap: 2px; +} + +#status-bar .toolbaritem-combined-buttons { + height: 18px !important; + min-height: 18px !important; +} + +#status-bar + .toolbarbutton-1:not(#activity_throbber):not(#back-button):not( + #ie6_statusbar + ) { + width: 22px; + height: 18px !important; + min-height: 18px !important; + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; +} + +.bookmark-item:not(.menuitem-iconic):hover, +#tabs-newtab-button:hover, +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( + [disabled] + ):hover, +#PlacesChevron:hover, +#sidebar-close:hover, +#placesToolbar > toolbarbutton:not([disabled]):hover, +#main-menubar > menu[_moz-menuactive], +#stop-button:hover { + border-top-color: ThreeDHighlight !important; + border-left-color: ThreeDHighlight !important; + border-right-color: ThreeDShadow !important; + border-bottom-color: ThreeDShadow !important; + background-color: transparent !important; + border-radius: 0 !important; +} + +#main-menubar > menu { + border: 1px solid transparent; +} + +.bookmark-item:active, +.bookmark-item[open="true"], +#sidebar-close:active, +#tabs-newtab-button:active, +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( + [disabled] + ):active, +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar)[open="true"], +#PlacesChevron[open="true"], +#PlacesChevron:active, +#placesToolbar > toolbarbutton:not([disabled]):active, +#main-menubar > menu[_moz-menuactive][open], +#stop-button:active { + border-top-color: ThreeDShadow !important; + border-left-color: ThreeDShadow !important; + border-right-color: ThreeDHighlight !important; + border-bottom-color: ThreeDHighlight !important; + background-color: transparent !important; + border-radius: 0 !important; +} + +#PlacesChevron[open="true"] .toolbarbutton-icon, +#PlacesChevron:active .toolbarbutton-icon, +#PlacesToolbar .bookmark-item:active > *, +#PlacesToolbar .bookmark-item[open="true"] > *, +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):active > *, +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar)[open="true"] > *, +#viewButton[open="true"] .button-box, +#viewButton:active .button-box, +#sidebar-close:active .toolbarbutton-icon, +.close-icon.findbar-closebutton:active, +.findbar-find-previous:not([disabled="true"]):active .toolbarbutton-icon, +.findbar-find-next:not([disabled="true"]):active .toolbarbutton-icon, +#tabs-newtab-button:active .toolbarbutton-icon, +#placesToolbar > toolbarbutton:not([disabled]):active, +.infobar.container .notification-close:active { + transform: translate(1px, 1px); +} + +#PlacesToolbarItems > toolbarseparator { + padding-inline: 0 !important; + margin: 2px !important; +} + +#PlacesToolbarItems > toolbarseparator::before { + display: none !important; +} + +.bookmark-item[container], +.bookmark-item[container] > .menu-iconic-left > .menu-iconic-icon { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAYUExURZmZAAAAAPHx8f//zP//mczMZv/MmQAAAHwygQUAAAAIdFJOU/////////8A3oO9WQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAFBJREFUKFNdz0kSwCAIBVEICPe/cT5DkWC74slCya8AFHHPAHpEVEeITpV7uS9fejhAJ1tgOHsD8oO43xspA3VvDT1hLuiHVQDnVXxud4H7C0+1BHuF0oyhAAAAAElFTkSuQmCC") !important; +} + +.bookmark-item[open="true"][container] { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURZmZAPj4+P//mczMZgAAAP/MmQAAAICpg0sAAAAHdFJOU////////wAaSwNGAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAWElEQVQoU13PWw7AIAwDwdA87n/k2oagiG1/PKJItXoiGNtTYIu1GPbHls5hNoCQxwAGmLngHMgvPfxC8t3Qd+BEWuARYGHjGwLk7HQLwUhQMetfuD1Q9QOj9wNL8v7HsAAAAABJRU5ErkJggg==") !important; +} + +.bookmark-item .toolbarbutton-text { + margin-right: 1px !important; +} + +/*#PlacesToolbar menupopup { + background: transparent !important; + padding: 0 !important; + box-shadow: none !important; +}*/ + +.tab-throbber { + display: none !important; +} + +#PlacesToolbarItems::before { + content: "Links"; + display: inline-block; + height: 100%; + line-height: 22px; + padding-left: 4px; + padding-right: 4px; +} + +#additional_top_toolbar1::before { + content: "Address"; + display: block; + height: 100%; + line-height: 22px; + padding-left: 4px; + padding-right: 4px; + -moz-box-ordinal-group: 1 !important; +} + +#additional_top_toolbar1::after, +.browser-toolbar::after, +#additional_top_toolbar1 #personal-bookmarks::after, +#PersonalToolbar::after { + content: ""; + display: var(--lock-toolbars); + width: 1px; + box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; + padding: 1px; + margin-top: 2px; + margin-right: 0px; + margin-left: 2px; + margin-bottom: 2px; + cursor: ew-resize; + order: -1 !important; +} + +#navigator-toolbox::after { + content: ""; + display: var(--lock-toolbars); + height: 1px; + box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; + padding: 1px; + cursor: ns-resize; + order: 1 !important; +} + +#urlbar-container { + display: flex !important; +} + +#PersonalToolbar { + padding-left: 0 !important; + -moz-box-ordinal-group: 10 !important; +} + +#TabsToolbar { + -moz-box-ordinal-group: 11 !important; +} + +.tab-icon-overlay[soundplaying] { + list-style-image: none !important; + mask-position: center center; + mask-repeat: no-repeat; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAADFJREFUGFdjYEQGWHkoFAOQArHAPAYQD8QEIRAAMgjzwHy4PjAXwoLw0CgoQOYxMgIAL5wAhbFaK4UAAAAASUVORK5CYII=") !important; + background: -moz-DialogText !important; +} + +.tab-icon-overlay[muted] { + list-style-image: none !important; + mask-position: center center; + mask-repeat: no-repeat; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAADNJREFUGFdtigEKADAIAvX/n17OhBoTSa8Cp36U3U1MQlFbXTePkL+em0u7SGk5N0WTyAMtxwCAzRsJ1wAAAABJRU5ErkJggg==") !important; + background: -moz-DialogText !important; +} + +.tab-icon-overlay[activemedia-blocked] { + list-style-image: none !important; + mask-position: center center; + mask-repeat: no-repeat; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAdSURBVChTYxhQ8B+KQQCZjReMaoKCQa6JFoCBAQARRSPdHMGSFgAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") !important; + background: -moz-DialogText !important; +} + +.tab-icon-overlay[indicator-replaces-favicon] { + padding: 0 !important; + border-radius: 0 !important; + margin-inline-end: 3px !important; +} + +.tab-icon-overlay[pinned]:not([soundplaying]):not([muted]):not( + [activemedia-blocked] + ) { + display: none !important; +} + +.tabbrowser-tab:not([fadein])::before { + content: ""; + display: block; + width: calc(100% - 1px); + height: 2px; + margin-top: -8px; + left: 0; + appearance: menuseparator; + position: absolute; + z-index: 2; + pointer-events: none !important; +} + +.tabbrowser-tab:not([selected="true"])::before { + margin-top: -10px !important; +} + +#tabs-newtab-button { + min-height: 22px !important; + min-width: 24px !important; + border: 1px solid transparent; + padding: 0 !important; + background: transparent !important; +} + +toolbar:not(#TabsToolbar) #new-tab-button { + width: 24px !important; +} + +#tabs-newtab-button .toolbarbutton-icon, +toolbar:not(#TabsToolbar) #new-tab-button .toolbarbutton-icon, +#TabsToolbar #wrapper-new-tab-button #new-tab-button, +#tabs-newtab-button, +#TabsToolbar #new-tab-button { + padding: 0 !important; + width: 16px !important; + height: 16px !important; + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA2UExURYCAgP///+Pj40JCQsDAwDOZADPMMzNmAACAgDNm/8z//zPM/zP//wBmAAAAAACAAAAA/wAAAD6tG54AAAASdFJOU///////////////////////AOK/vxIAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABmSURBVChTXc7REoUgCEVR04NWBLf+/2cvpBbTfnKWDEMKXV5KyyiXmxxARDCAkwGoUlvhgOKw7a0xbwGOg1k0wE9YagCpH4DIeWpYukBVc37Anr0B5a2DHYvZhDFgdQgjE8a/Va4/5y0FqgTh7iIAAAAASUVORK5CYII=") !important; +} + +#TabsToolbar #new-tab-button { + padding-inline: 3px !important; +} + +toolbar #new-tab-button.toolbarbutton-1 > .toolbarbutton-icon { + padding: 0 !important; +} + +.tab-icon-pending { + display: none !important; +} + +#urlbar-container { + padding-top: 0 !important; + padding-bottom: 0 !important; + margin-inline: 0 !important; +} + +#urlbar[breakout] { + min-height: var(--urlbar-height) !important; + font: menu !important; + display: -moz-box !important; +} + +#urlbar[breakout][breakout-extend] { + display: block !important; +} + +#urlbar[breakout][breakout-extend] #identity-box { + margin-inline-end: 1px !important; +} + +#PersonalToolbar { + overflow: unset !important; +} + +#urlbar-input-container { + border: 0 !important; +} + +#tracking-protection-icon-container, +#star-button-box, +#identity-icon-box, +#identity-permission-box { + display: none !important; +} + +#favimginurlbar { + margin: 3px !important; +} + +#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background, +#searchbar:focus-within { + outline: 0 !important; + box-shadow: none !important; +} + +#identity-box { + margin-inline-end: 2px !important; +} + +#urlbar[breakout][breakout-extend] #identity-box { + margin-inline-end: 0 !important; +} + +#urlbar-go-button, +.urlbarView-row[label]::before { + display: none !important; +} + +.urlbarView-row[label] { + margin-block-start: 0 !important; +} + +.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] + > .urlbarView-row-inner, +.urlbarView-row-inner[selected] { + background-color: Highlight !important; + color: HighlightText !important; +} + +.urlbarView-row { + padding-block: 0 !important; + border-radius: 0 !important; + padding: 0 !important; +} + +:root:not([uidensity="compact"]) .urlbarView-row-inner { + min-height: 100% !important; + padding-block: 0 !important; + padding-inline: 3px !important; + padding-top: 1px !important; +} + +:root:not([uidensity="compact"]) + .urlbarView-row:not([type="tip"], [type="dynamic"]) { + min-height: unset !important; +} + +.urlbarView-row-inner { + padding-block: 3px !important; + border-radius: 0 !important; + padding-inline: 2px !important; +} + +.urlbarView-row:not([type="tip"], [type="dynamic"], [has-buttons]):hover + > .urlbarView-row-inner, +.urlbarView-row[has-buttons] > .urlbarView-row-inner:not([selected]):hover { + background-color: Highlight !important; + color: HighlightText !important; +} + +#back-button, +#forward-button, +#stop-button, +#reload-button, +#home-button, +#downloads-button, +#history-panelmenu, +#bookmarks-menu-button, +#print-button, +#new-window-button, +#cut-button, +#copy-button, +#paste-button, +#fullscreen-button, +#find-button, +#email-link-button, +#sidebar-button, +#library-button, +#characterencoding-button, +#preferences-button { + list-style-image: none !important; + -moz-context-properties: unset !important; + fill: unset !important; + opacity: unset !important; +} + +#back-button > .toolbarbutton-icon, +#forward-button > .toolbarbutton-icon, +#stop-button > .toolbarbutton-icon, +#reload-button > .toolbarbutton-icon, +#home-button > .toolbarbutton-icon, +#downloads-button #downloads-indicator-anchor, +/*#downloads-button > .toolbarbutton-icon, +#downloads-button > .toolbarbutton-badge-stack,*/ +#history-panelmenu > .toolbarbutton-icon, +#bookmarks-menu-button > .toolbarbutton-icon, +#print-button > .toolbarbutton-icon, +#new-window-button > .toolbarbutton-icon, +#cut-button > .toolbarbutton-icon, +#copy-button > .toolbarbutton-icon, +#paste-button > .toolbarbutton-icon, +#fullscreen-button > .toolbarbutton-icon, +#find-button > .toolbarbutton-icon, +#email-link-button > .toolbarbutton-icon, +#sidebar-button > .toolbarbutton-icon, +#library-button > .toolbarbutton-icon, +#characterencoding-button > .toolbarbutton-icon, +#preferences-button > .toolbarbutton-icon { + padding: 0 !important; + opacity: unset !important; + width: 16px !important; + background-image: url("toolbar.png") !important; + list-style-image: none !important; + height: 16px !important; +} + +#nav-bar + toolbarbutton:not(#tabs-newtab-button):not(:hover):not( + #forward-button[disabled="true"] + ):not(#back-button[disabled="true"]) + .toolbarbutton-icon { + mix-blend-mode: var(--toolbar-tinting); +} + +#nav-bar .toolbarbutton-1 { + min-height: 12px !important; +} + +.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not(#status-text) { + border: 1px solid transparent; +} +#status-bar + .toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( + #status-text + ), +#status-bar + .toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( + #status-text + ):hover { + border: none !important; + border-radius: 0 !important; +} + +toolbarbutton:where([disabled="true"]) { + color: ThreeDShadow !important; + text-shadow: 1px 1px 0 ThreeDHighlight; +} + +#nav-bar #back-button:where([disabled="true"]), +#nav-bar #forward-button:where([disabled="true"]) { + border-color: transparent !important; +} + +toolbar:not(#nav-bar) .webextension-browser-action { + padding: 0 4px !important; +} + +#PersonalToolbar + .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active), +#tabbrowser-arrowscrollbox:not([scrolledtostart="true"])::part( + scrollbutton-up + ):hover:active, +#tabbrowser-arrowscrollbox:not([scrolledtoend="true"])::part( + scrollbutton-down + ):hover:active, +toolbarbutton.bookmark-item:hover:active:not(.subviewbutton, [disabled="true"]), +toolbarbutton.bookmark-item[open="true"], +toolbar + .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) + > .toolbarbutton-icon, +toolbar + .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) + > .toolbarbutton-text, +toolbar + .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) + > .toolbarbutton-badge-stack { + background: transparent !important; +} + +#nav-bar .toolbarbutton-icon { + margin-left: 1px !important; + margin-right: 1px !important; +} + +#back-button[disabled="true"] .toolbarbutton-icon, +#forward-button[disabled="true"] .toolbarbutton-icon { + fill: currentColor; + color: ThreeDShadow; + filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; + -moz-context-properties: fill, fill-opacity; +} + +#forward-button[disabled="true"], +#forward-button:hover[disabled="true"], +#back-button[disabled="true"], +#back-button:hover[disabled="true"] { + -moz-image-region: unset !important; +} + +#nav-bar #back-button[disabled="true"] > *, +#nav-bar #forward-button[disabled="true"] { + transform: none !important; +} + +#back-button[disabled="true"] .toolbarbutton-icon, +#forward-button[disabled="true"] .toolbarbutton-icon { + background-image: none !important; + list-style-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB2aWV3Qm94PSIwIDAgNC4yMzMzIDQuMjMzMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2Utd2lkdGg9Ii4yNjQ1OCI+PHJlY3QgeD0iLjUyOTE3IiB5PSIxLjg1MjEiIHdpZHRoPSIzLjE3NSIgaGVpZ2h0PSIuNTI5MTciLz48cmVjdCB4PSIuNzkzNzUiIHk9IjEuNTg3NSIgd2lkdGg9IjIuOTEwNCIgaGVpZ2h0PSIxLjA1ODMiLz48cmVjdCB4PSIxLjMyMjkiIHk9IjEuMDU4MyIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIyLjExNjciLz48cmVjdCB4PSIxLjU4NzUiIHk9Ii43OTM3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIyLjY0NTgiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIxLjU4NzUiLz48L2c+PC9zdmc+Cg==") !important; +} + +#forward-button[disabled="true"] .toolbarbutton-icon, +#forward-button[disabled="true"]:active .toolbarbutton-icon, +#forward-button[disabled="true"] .toolbarbutton-icon:active { + transform: scaleX(-1) !important; +} + +#nav-bar + .toolbarbutton-1:not(#back-button[disabled="true"]):not( + #forward-button[disabled="true"] + ):hover + .toolbarbutton-icon, +#nav-bar + .toolbarbutton-1:not(#back-button[disabled="true"]):not( + #forward-button[disabled="true"] + ):active + .toolbarbutton-icon, +#nav-bar + .toolbarbutton-1:not(#back-button[disabled="true"]):not( + #forward-button[disabled="true"] + )[open="true"] + .toolbarbutton-icon { + filter: none !important; +} + +#nav-bar-customization-target > :is(toolbarbutton, toolbaritem):first-child, +#nav-bar-customization-target + > toolbarpaletteitem:first-child + > :is(toolbarbutton, toolbaritem) { + padding-inline-start: 0 !important; +} + +#nav-bar { + height: 24px; +} + +#nav-bar .toolbarbutton-1 .toolbarbutton-text, +#toolbar-menubar .toolbarbutton-1 .toolbarbutton-text { + padding-left: 1px !important; + padding-top: 0 !important; + padding-bottom: 0 !important; + min-height: unset !important; +} + +#back-button .toolbarbutton-text { + display: var(--hide-back-button-text) !important; +} + +#find-button .toolbarbutton-text { + display: var(--hide-find-button-text) !important; +} + +#bookmarks-menu-button .toolbarbutton-text, +#library-button .toolbarbutton-text { + display: var(--hide-bookmarks-menu-button-text) !important; +} + +#history-panelmenu .toolbarbutton-text { + display: var(--hide-history-button-text) !important; +} +#sidebar-button .toolbarbutton-text { + display: var(--hide-history-button-text) !important; +} + +#back-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 0) !important; +} +#back-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#forward-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 1) !important; +} +#forward-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#reload-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 2) !important; +} +#reload-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#stop-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 3) !important; +} +#stop-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#home-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 4) !important; +} +#home-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#find-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 5) !important; +} +#find-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#bookmarks-menu-button .toolbarbutton-icon, +#library-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 6) !important; +} +#bookmarks-menu-button:hover .toolbarbutton-icon, +#library-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#history-panelmenu .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 7) !important; +} +#history-panelmenu:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#downloads-button { + width: 24px !important; +} + +#downloads-button #downloads-indicator-anchor { + background-position-x: calc(var(--toolbar-size) * 12) !important; +} + +#downloads-button:hover #downloads-indicator-anchor { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#print-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 8) !important; +} +#print-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#email-link-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 14) !important; +} +#email-link-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#cut-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 10) !important; +} +#cut-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#copy-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 9) !important; +} +#copy-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#paste-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 11) !important; +} +#paste-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#sidebar-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 13) !important; +} +#sidebar-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#fullscreen-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 15) !important; +} +#fullscreen-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#new-window-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 16) !important; +} +#new-window-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#characterencoding-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 17) !important; +} +#characterencoding-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#preferences-button .toolbarbutton-icon { + background-position-x: calc(var(--toolbar-size) * 18) !important; +} +#preferences-button:hover .toolbarbutton-icon { + background-position-y: calc(var(--toolbar-size) * -1) !important; +} + +#edit-controls { + margin: 0 !important; + display: flex; +} + +#edit-controls separator { + display: none !important; +} + +#edit-controls .toolbarbutton-1 { + width: 24px !important; + height: 100% !important; +} + +#downloads-button .toolbarbutton-animatable-box { + display: none !important; +} + +#downloads-button[indicator] + > .toolbarbutton-badge-stack + > image.toolbarbutton-icon { + display: unset !important; +} + +toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, +toolbarpaletteitem[mousedown] + > toolbarbutton + > .toolbarbutton-badge-stack + > .toolbarbutton-icon { + transform: none !important; +} + +.urlbarView-favicon { + margin-inline-start: 3px !important; + margin-inline-end: 5px !important; +} + +#urlbar[open] > #urlbar-background { + box-shadow: none !important; +} + +/*.urlbarView { + border-inline: 0 !important; + margin-inline: 0 !important; + width: calc(100% + 16px) !important; + padding: 0 !important; + border-inline: 1px solid red; +} + +.urlbarView-body-outer { + border: 1px solid #000; + background-color: Window !important; +}*/ + +.urlbarView-results { + padding-block: 0 !important; +} + +.webextension-browser-action .toolbarbutton-badge-stack { + padding: 0 !important; +} + +#PanelUI-menu-button { + list-style-image: none !important; +} + +#PersonalToolbar + .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover, +#tabbrowser-arrowscrollbox:not([scrolledtostart="true"])::part( + scrollbutton-up + ):hover, +#tabbrowser-arrowscrollbox:not([scrolledtoend="true"])::part( + scrollbutton-down + ):hover, +toolbarbutton.bookmark-item:not( + .subviewbutton, + [disabled="true"], + [open] + ):hover, +toolbar + .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover + > .toolbarbutton-icon, +toolbar + .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover + > .toolbarbutton-text, +toolbar + .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover + > .toolbarbutton-badge-stack { + background: transparent !important; +} + +#BMB_bookmarksPopup { + box-shadow: none !important; + padding: 0 !important; +} + +#tabbrowser-tabs, +#tabbrowser-arrowscrollbox, +#tabbrowser-tabs[positionpinnedtabs] + > #tabbrowser-arrowscrollbox + > .tabbrowser-tab[pinned] { + min-height: 0 !important; +} + +#favimginurlbar[style='width: 16px; height: 16px; margin: 3px; list-style-image: url("chrome://branding/content/icon32.png");'] +{ + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; +} + +#PlacesChevron, +#nav-bar-overflow-button { + width: 16px !important; + height: 100% !important; + border: 1px solid transparent; + list-style-image: none !important; + padding: 0 !important; +} + +#personal-toolbar-empty-description, +#PersonalToolbar .toolbarbutton-1, +toolbarbutton.bookmark-item:not(.subviewbutton) { + margin: 0 !important; +} + +#PlacesChevron .toolbarbutton-icon, +#nav-bar-overflow-button .toolbarbutton-icon { + mask-position: center 4px; + width: 8px !important; + height: 100% !important; + padding: 6px !important; + margin: 0 !important; + background-color: WindowText !important; + mask-repeat: no-repeat; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAoSURBVBhXYwCC/1AMA+h8MMCpiBFEQAFMAUwMWQNCBxSg8PFIMjAAAMnUEfGcoUqiAAAAAElFTkSuQmCC") !important; +} + +findbar { + background-color: ThreeDFace !important; + color: WindowText !important; + transition: none !important; + border-top: 0 !important; + padding-block-start: 4px !important; + padding-block-end: 4px !important; +} + +.findbar-textbox { + border-radius: 0 !important; + border: 0 !important; + -moz-default-appearance: listbox !important; + -moz-appearance: listbox !important; + background-color: unset !important; + padding: 0px 3px !important; + height: 22px !important; +} + +.findbar-find-previous, +.findbar-find-next { + padding: 0 !important; + width: 22px !important; + min-height: 22px !important; + border-radius: 0 !important; + mask-repeat: no-repeat !important; + mask-position: center center !important; + border: 1px solid transparent; + background-color: -moz-Dialog !important; +} + +.findbar-find-previous { + margin-inline: 4px 0 !important; +} + +.findbar-find-next { + margin-inline-end: 4px !important; +} + +hbox[anonid="findbar-textbox-wrapper"]::after { + content: "" !important; + height: 20px !important; + display: inline-block !important; + border-left: 1px solid ThreeDShadow !important; + border-right: 1px solid ThreeDHighlight !important; +} + +.findbar-find-previous:not([disabled="true"]):hover, +.findbar-find-next:not([disabled="true"]):hover { + box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; +} + +.findbar-find-previous:not([disabled="true"]):active, +.findbar-find-next:not([disabled="true"]):active { + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; +} + +.findbar-find-previous .toolbarbutton-icon, +.findbar-find-next .toolbarbutton-icon { + list-style-image: none !important; + mask-repeat: no-repeat !important; + mask-position: center center !important; + background-color: WindowText !important; + padding: 0 !important; + min-width: 20px; + min-height: 20px; +} + +.findbar-find-next .toolbarbutton-icon { + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAkSURBVBhXY2RgYPgPxFgBSBIEsClghEmCALICZHE4QFLAwAAA+twEAr6ulF8AAAAASUVORK5CYII=") !important; +} + +.findbar-find-previous .toolbarbutton-icon { + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAlSURBVBhXY0AD/6E0GDBCaRBAlgCLwyRRdEABI0gSmwQQMDAAAPqFBAIR7Pg5AAAAAElFTkSuQmCC") !important; +} + +.findbar-container { + height: 22px !important; + margin-inline-start: 0 !important; + overflow-inline: unset !important; +} + +.findbar-container::before { + content: "Find:" !important; + display: inline-block !important; + margin-inline-start: 4px !important; + margin-inline-end: 4px !important; +} + +.findbar-textbox:focus { + outline: 0 !important; +} + +.toolbarbutton.tabbable { + padding: 0 !important; +} + +.browserContainer > findbar, +.close-icon.findbar-closebutton { + order: -1; +} + +.close-icon.findbar-closebutton, +.infobar.container .notification-close { + list-style-image: none !important; + height: 22px !important; + width: 22px !important; + border-radius: 0 !important; + padding: 0 !important; + margin: 0 !important; + margin-inline-start: 4px !important; + margin-inline-end: 4px !important; + background-color: WindowText !important; + fill: WindowText !important; + mask-repeat: no-repeat !important; + mask-position: center center !important; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAACRJREFUGFdjYGBgBAIgBWaBSTAbSEG5yAwQDVUBEQTRjIwMDAADqAAZRZMazAAAAABJRU5ErkJggg==") !important; +} + +#sidebar-box { + margin-right: 4px; + appearance: groupbox !important; + background-color: ThreeDFace !important; +} + +#historyTree, +#bookmarks-view, +#template-container { + background-color: Window !important; +} + +treecol, +treecolpicker { + border: 0 !important; +} + +#sidebar-search-container, +#sidebar-header { + font: Menu !important; + box-shadow: inset 0 -1px ThreeDShadow !important; + border-bottom: 1px solid ThreeDHighlight !important; +} + +#sidebar-icon { + list-style-image: none !important; + width: 0 !important; + height: 0 !important; +} + +#sidebar-header { + padding: 1px !important; + padding-bottom: 2px !important; +} + +#sidebar-close { + width: 20px !important; + height: 17px !important; + border: 1px solid transparent; + background-color: transparent !important; + padding: 0 !important; + list-style-image: none !important; + border-radius: 0 !important; +} + +#sidebar-close .toolbarbutton-icon { + background-color: WindowText !important; + width: 8px !important; + height: 7px !important; + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVBhXY2RgYPgPxCAAYiMDmDgYgDjIAnA+si4UHUCAbiIYoJtEvAnoOuF8kCqYBLqdQHEGBgAx7A/5GaSbcgAAAABJRU5ErkJggg==") !important; +} + +#sidebar-title { + padding-inline: 0 !important; +} + +#sidebar-switcher-arrow { + display: none !important; +} + +#sidebar-switcher-target { + padding: 3px 5px !important; + border: 0 !important; + border-radius: 0 !important; + background-color: transparent !important; +} + +#sidebar-switcher-target:hover { + box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; +} + +#sidebar-switcher-target:hover { + box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; +} + +#sidebar-switcher-target[open="true"] { + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; +} + +#sidebar-switcher-target[open="true"] #sidebar-title { + transform: translate(1px, 1px); +} + +#sidebar-search-container { + padding: 2px !important; +} + +.textbox-search-sign { + display: none !important; +} + +#viewButton { + appearance: button !important; +} + +#search-box { + padding: 2px !important; +} + +.content-header { + background-color: ThreeDFace !important; +} + +.sidebar-search-container { + padding: 2px !important; +} + +.tabsFilter { + margin: 0 !important; +} + +#main-window:-moz-window-inactive .menubar-text, +#wrapper-menubar-items .menubar-text { + color: ThreeDShadow; +} + +.menu-text, +.menu-iconic-text { + margin-inline-start: 0 !important; +} + +.menu-iconic-icon { + margin-left: -2px !important; +} + +#main-menubar { + display: flex !important; +} + +treechildren::-moz-tree-row { + height: 40% !important; + min-height: 40% !important; +} + +treechildren::-moz-tree-image(title, query, dayContainer), +treechildren::-moz-tree-image(query, OrganizerQuery_history____v) { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAeUExURWOczjExnDFjzmNjAJycY////87OnAAAAJwxYwAAAAggbzMAAAAKdFJOU////////////wCyzCzPAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAATElEQVQoU23PUQpAIQhEUX2Z5v433CCPGKNDX5cmSDKFqeTHFEHZQLA5/RyLV3Bf4OW/serQ5AqPyfUohxGCxWGGMJqaNAjR4fsscwNQNAUR4NgQXAAAAABJRU5ErkJggg==") !important; +} + +.titlebar-button { + list-style-image: none !important; + height: 20px !important; + min-width: 20px !important; + padding: 0 !important; + margin-top: 2px !important; +} + +.titlebar-min { + appearance: -moz-window-button-minimize !important; +} + +.titlebar-restore { + appearance: -moz-window-button-restore !important; +} + +.titlebar-max { + appearance: -moz-window-button-maximize !important; +} + +.titlebar-close { + appearance: -moz-window-button-close !important; +} + +.notification-anchor-icon { + padding: 0 !important; + margin-inline-start: 2px !important; +} + +.bookmark-item, +.bookmark-item > label::before, +.bookmark-item .menu-iconic-icon { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; +} + +.tab-icon-image:not([src]), +.tab-icon-image:-moz-broken { + content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; +} + +.desktop-notification-icon { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAPUExURYCAgP///wAAAMDAwAAAAGFF8HEAAAAFdFJOU/////8A+7YOUwAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAFlJREFUKFNdjkESwDAIAhPk/28uYG2b7sEJO4xxUazGT2qutRsgYqIomUNsKCpDeKTyLGig3d0IIz5Y1N1wLonzW0US9eYIIqrgHNEqcYSUrzQjVPoJ3axBXuvmAgsbIC+oAAAAAElFTkSuQmCC") !important; +} + +:root[sizemode="maximized"] .browserStack { + margin-left: -2px !important; + margin-right: -2px !important; +} + +#PanelUI-menu-button .toolbarbutton-icon { + display: none !important; +} + +#PanelUI-menu-button { + padding: 0 !important; + border: 0 !important; +} + +#PanelUI-menu-button .toolbarbutton-badge-stack { + padding: 0 !important; +} + +.checkbox-check { + background-color: Window !important; + border: 0 !important; + border-radius: 0 !important; + box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow, + inset -2px -2px 0 ThreeDFace, inset 2px 2px 0 ThreeDDarkShadow; +} + +.checkbox-check:not([native]) { + width: 13px !important; + height: 13px !important; +} + +.checkbox-check[checked] { + color: WindowText !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZlcnNpb249IjEuMSIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB2aWV3Qm94PSIwIDAgMy40Mzk2IDMuNDM5NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Zz48Zz48cmVjdCB4PSIuNzkzNzUiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjM4MTIiIHk9Ii43OTM3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjExNjciIHk9IjEuMDU4MyIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIxLjg1MjEiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuODUyMSIgd2lkdGg9Ii43OTM3NSIgaGVpZ2h0PSIuNTI5MTciLz48cmVjdCB4PSIxLjMyMjkiIHk9IjIuMzgxMiIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIxLjU4NzUiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48L2c+PC9nPjwvc3ZnPgo=") !important; +} + +#urlbar-zoom-button { + margin: 0 !important; + font: menu !important; + border-radius: 0 !important; + background-color: transparent !important; +} + +#configuration_toolbar { + -moz-box-ordinal-group: 12; +} + +#customization-panelWrapper > .panel-arrowbox > .panel-arrow[side="top"] { + display: none !important; +} + +.customizationmode-button { + appearance: button !important; + color: WindowText !important; + font-weight: 500 !important; +} + +:root[inFullscreen] #TabsToolbar { + -moz-box-ordinal-group: 0 !important; +} + +:root[inFullscreen] .tabbrowser-tab::before { + display: none !important; +} + +:root[inFullscreen] #tabbrowser-tabs tab:first-of-type:last-of-type, +:root[inFullscreen] + #tabbrowser-tabs + tab:first-of-type:last-of-type + ~ #tabs-newtab-button, +:root[inFullscreen] + #tabbrowser-tabs + tab:first-of-type:last-of-type + ~ #tabbrowser-arrowscrollbox-periphery + #tabs-newtab-button { + display: flex !important; +} + +#placesToolbar { + padding: 1px !important; + appearance: groupbox !important; + background-color: -moz-Dialog !important; + margin-bottom: 2px !important; +} + +#placesToolbar .toolbarbutton-text { + display: none !important; +} + +#placesToolbar .menu-iconic:hover .menubar-left, +#placesToolbar .menu-iconic[open="true"] .menubar-left, +#placesToolbar #back-button:not([disabled="true"]):hover .toolbarbutton-icon, +#placesToolbar + #forward-button:not([disabled="true"]):hover + .toolbarbutton-icon { + filter: none !important; +} + +#searchFilter { + min-height: 22px !important; +} + +#placesList, +#downloadsListBox, +tree { + background-color: Window !important; + color: -moz-DialogText !important; +} + +#detailsPane { + background-color: -moz-Dialog !important; + color: -moz-dialogText !important; +} + +#placeContent, +#placesViewsBox #downloadsListBox, +#placesList, +#searchFilter, +#editBMPanel_tagsSelector { + -moz-default-appearance: listbox !important; + -moz-appearance: listbox !important; + color: -moz-DialogText !important; +} + +#places input { + background-color: Field !important; + color: -moz-DialogText !important; + border: 0 !important; + border-radius: 0 !important; +} + +#searchFilter[focused], +#places input:focus { + outline: 0 !important; +} + +#searchFilter[focused] { + box-shadow: none !important; +} + +#editBookmarkPanelRows .expander-up, +#editBookmarkPanelRows .expander-down { + appearance: spinner-downbutton !important; + list-style-image: none !important; + padding: 2px !important; + height: 22px !important; +} + +#editBookmarkPanelRows .expander-up { + appearance: spinner-upbutton !important; +} + +#placesList { + border-right: unset !important; + margin-right: 4px !important; +} + +treecol { + color: -moz-fieldtext !important; + padding: 0 7px !important; + box-shadow: inset -1px -1px 0 ThreeDDarkShadow, + inset 1px 1px 0 ThreeDHighlight, inset -2px -2px 0 ThreeDShadow !important; +} + +treechildren::-moz-tree-row, +treecol:not([hideheader="true"]), +treecolpicker { + min-height: 17px !important; +} + +.caption-label { + margin-inline-start: 6px !important; + color: GrayText !important; + font: -moz-window !important; +} + +#editBMPanel_tagsSelectorRow > richlistbox > richlistitem[selected] { + color: HighlightText !important; + background-color: Highlight !important; +} + +richlistbox[seltype="multiple"]:focus > richlistitem[current="true"], +richlistbox.theme-listbox:focus > richlistitem[current="true"] { + outline: 0 !important; +} + +#placesMenu > menu { + appearance: button !important; + color: -moz-DialogText !important; +} + +#organizeButton { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAzUExURZmZmf/78Ofn1k1NTcDAwBwcHOrq6mZmAK2pkDMzAP//mZmZAMzMZgAAADMAAGZmZgAAAIQzlaMAAAARdFJOU/////////////////////8AJa2ZYgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAHxJREFUKFNVzgEOAyEIBECw1T0Blf+/tnD2GktCjJN1Ix3jOURcvvN64F1rpdJOYKb/RAJwQBSCGT+4er8gCle9oRQ0TdAMbVAkxLGhiwgsQhKRBHSIAZahDWAVFlMeN7S4Y7LNaB1Oay3EG2DMaI3S/Ax67Ih9ICfR3f0DrmQINMNg/hUAAAAASUVORK5CYII=") !important; +} + +#viewMenu { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP7ZLNCcAgDIVfulIzg6t0DU/uUGfSmWziT+lJUKH00A8CiZGXPBGrEJBSzSegIrCfksdyNEL0WcAubGAB51yaIYSgg9NWlAA+xBH7nBPJahKNXu8WiLFcUGRAjkav91v4ggVSC8aYWo7BzPqV8XiR1wEuUzD3/j0F1pEAAAAASUVORK5CYII=") !important; +} + +#maintenanceButton { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAADPM/zNm/5n//8z//zOZ/wAAAACTM88AAAAHdFJOU////////wAaSwNGAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAT0lEQVQoU62PiQ3AIAwDnXf/kWsXChmgJ2GFk4gFmuDNhUaYX8MJFsOA98yqY+AkCwsJHglmKaeIf4W7Oil2tfCIKBV/Qsb05oi5Y6PvdD8/ggRHRlWf0AAAAABJRU5ErkJggg==") !important; +} + +#placesToolbar > toolbarbutton[disabled] { + opacity: 1 !important; +} + +#placesToolbar > toolbarbutton { + border-radius: 0 !important; + appearance: button !important; + background-color: -moz-Dialog !important; + border: 1px solid transparent; + padding: 4px !important; +} + +.tabbrowser-tab[pinned] .tab-label-container { + display: none !important; +} + +.tabbrowser-tab[pinned]:not([selected="true"]) .tab-icon-overlay { + pointer-events: none !important; +} + +.tab-icon-overlay:not([crashed]):is([pinned], [sharing]) { + top: unset !important; + inset-inline-end: unset !important; + padding: 0 !important; + background-color: transparent !important; +} + +#context-navigation .menu-iconic-left { + padding-top: 0 !important; +} + +.urlbarView-results[wrap] + > .urlbarView-row[has-url] + > .urlbarView-row-inner + > .urlbarView-url:-moz-locale-dir(ltr) { + padding-left: 19px !important; +} + +#TabsToolbar .toolbarbutton-1 { + margin: 2px 0 0 !important; +} + +#alltabs-button { + list-style-image: none !important; + padding: 0 5px !important; + min-height: 0 !important; + display: var(--show-alltabs-button) !important; +} + +#alltabs-button .toolbarbutton-icon { + mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAdSURBVDhPYxiB4D8UwwA6Hy+gv2b6aRoFKICBAQA7tRPtf9lgfQAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") !important; + background-color: -moz-DialogText !important; + min-height: 0 !important; + width: 14px !important; + height: 14px !important; +} + +#alltabs-button .toolbarbutton-badge-stack { + padding: 0 !important; +} + +toolbar .toolbarbutton-1 > .toolbarbutton-icon { + height: 16px !important; + width: 16px !important; +} + +#wrapper-new-tab-button .toolbarbutton-icon { + padding: 0 !important; +} + +#wrapper-new-tab-button #new-tab-button { + min-width: 26px !important; +} + +#urlbar-background::after { + content: ""; + display: inline-block; + z-index: 99999; + width: 16px !important; + height: 18px !important; + top: 0px; + position: absolute !important; + right: 0 !important; + background-color: -moz-Dialog !important; + box-shadow: inset -1px -1px 0 ThreeDDarkShadow, inset 1px 1px 0 ThreeDLightShadow, inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4KICA8cmVjdCBoZWlnaHQ9IjEiIHdpZHRoPSI3IiB4PSIzIiB5PSI1IiBmaWxsPSJDYW52YXNUZXh0Ii8+PHJlY3QgaGVpZ2h0PSIxIiB3aWR0aD0iNSIgeT0iNiIgeD0iNCIgZmlsbD0iQ2FudmFzVGV4dCIvPjxyZWN0IGhlaWdodD0iMSIgd2lkdGg9IjMiIHg9IjUiIHk9IjciIGZpbGw9IkNhbnZhc1RleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4PSI2IiB5PSI4IiBmaWxsPSJDYW52YXNUZXh0Ii8+CiAgCiAgCjwvc3ZnPg==") !important; + background-position: center center !important; + pointer-events: none; +} + +#wrapper-menubar-items { + opacity: 1 !important; +} + +#history-menu { + display: var(--show-history-menu-item) !important; +} + +#go-button { + padding: 0 5px !important; + margin-inline-end: 3px !important; + margin-inline-start: 2px !important; +} + +#go-button .toolbarbutton-text { + display: block; + min-height: 0 !important; + padding: 0 0 0 1px !important; +} + +#go-button .toolbarbutton-icon { + padding: 0 !important; + filter: grayscale(1); + list-style-image: url("go.png") !important; +} + +#go-button:hover .toolbarbutton-icon, +#go-button:active .toolbarbutton-icon { + filter: none; +} + +:root[uidensity="touch"] #back-button > .toolbarbutton-icon, +:root[uidensity="touch"] #forward-button > .toolbarbutton-icon, +:root[uidensity="touch"] #stop-button > .toolbarbutton-icon, +:root[uidensity="touch"] #reload-button > .toolbarbutton-icon, +:root[uidensity="touch"] #home-button > .toolbarbutton-icon, +:root[uidensity="touch"] #history-panelmenu > .toolbarbutton-icon, +:root[uidensity="touch"] #bookmarks-menu-button > .toolbarbutton-icon, +:root[uidensity="touch"] #print-button > .toolbarbutton-icon, +:root[uidensity="touch"] #new-window-button > .toolbarbutton-icon, +:root[uidensity="touch"] #cut-button > .toolbarbutton-icon, +:root[uidensity="touch"] #copy-button > .toolbarbutton-icon, +:root[uidensity="touch"] #paste-button > .toolbarbutton-icon, +:root[uidensity="touch"] #fullscreen-button > .toolbarbutton-icon, +:root[uidensity="touch"] #find-button > .toolbarbutton-icon, +:root[uidensity="touch"] #email-link-button > .toolbarbutton-icon, +:root[uidensity="touch"] #sidebar-button > .toolbarbutton-icon, +:root[uidensity="touch"] #library-button > .toolbarbutton-icon, +:root[uidensity="touch"] #downloads-button #downloads-indicator-anchor, +:root[uidensity="touch"] #characterencoding-button > .toolbarbutton-icon, +:root[uidensity="touch"] #preferences-button > .toolbarbutton-icon { + width: 20px !important; + height: 20px !important; + background-image: url("toolbar_large.png") !important; +} + +:root[uidensity="touch"] #nav-bar { + height: 28px; +} + +:root[uidensity="touch"] { + --toolbar-size: -20px !important; +} + +:root[uidensity="touch"] #downloads-button { + width: 28px !important; +} + +:root[uidensity="touch"] #edit-controls .toolbarbutton-1 { + width: 28px !important; +} + +:root[uidensity="touch"] #back-button[disabled="true"] .toolbarbutton-icon, +:root[uidensity="touch"] #forward-button[disabled="true"] .toolbarbutton-icon { + list-style-image: none !important; + background-color: ThreeDShadow !important; + background-image: none !important; + mask-image: url("toolbar_large.png") !important; + filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; +} + +:root[uidensity="touch"] #back-button[disabled="true"], +:root[uidensity="touch"] #forward-button[disabled="true"] { + filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; +} + +:root[uidensity="touch"] #back-button[disabled="true"] .toolbarbutton-text, +:root[uidensity="touch"] #forward-button[disabled="true"] .toolbarbutton-text { + text-shadow: none !important; +} + +:root[uidensity="touch"] #search-box, +:root[uidensity="touch"] .sidebar-placesTreechildren::-moz-tree-row { + min-height: 20px !important; +} + +toolbar .toolbaritem-combined-buttons { + margin-inline: 0 !important; +} + +.unified-extensions-item-action.subviewbutton { + border-radius: 0 !important; + height: 100% !important; + width: 24px !important; + background-color: -moz-Dialog !important; +} + +toolbarbutton:where([disabled="true"]) { + text-shadow: none !important; + color: -moz-DialogText !important; +} + +#back-button:where([disabled="true"]), +#forward-button:where([disabled="true"]) { + color: ThreeDShadow !important; + text-shadow: 1px 1px 0 ThreeDHighlight !important; +} + +:root[uidensity="touch"] .unified-extensions-item-action.subviewbutton { + width: 28px !important; +} + +#unified-extensions-button { + padding: 0 !important; + border: 0 !important; +} + +#unified-extensions-button .toolbarbutton-icon, +#unified-extensions-button .toolbarbutton-text { + display: none !important; +} + +.urlbarView-dynamic-quickactions-buttons, +.urlbarView-button-help { + display: none !important; +} + +/*.urlbarView:not([noresults]) > .search-one-offs:not([hidden]) { + border: 1px solid #000000 !important; + margin-top: -1px !important; + background-color: Window !important; +}*/ + +#urlbar .search-one-offs:not([hidden]) { + padding-block: 0 !important; +} + +#urlbar .searchbar-engine-one-off-item { + border-radius: 0 !important; + margin-inline: 0 !important; +} + +.searchbar-engine-one-off-item:not([selected]):hover { + background-color: Highlight !important; + color: HighlightText !important; +} + +#urlbar .search-panel-one-offs-header-label { + padding-inline: 10px !important; +} + +#personal-toolbar-empty-description { + min-height: unset !important; + display: none !important; +} + +.urlbarView { + width: 100% !important; + background-color: Window !important; + border: 1px solid ThreeDShadow !important; + margin-inline: 0 !important; + position: relative !important; + max-width: 100% !important; + position: absolute !important; +} + +.urlbarView::after { + content: ""; + display: inline-block; + width: 16px; + height: 16px; + background-image: url("resizer.png") !important; + position: absolute; + right: 0; + bottom: 0; + z-index: 999999; +} + +#urlbar[breakout][breakout-extend] > #urlbar-input-container { + height: 22px !important; +} + +#urlbar[open] > .urlbarView > .urlbarView-body-outer > .urlbarView-body-inner { + border: 0 !important; +} + +#urlbar .search-one-offs:not([hidden]) { + display: none !important; +} + +#urlbar-input-container { + padding: 0 !important; + border: 0 !important; +} + +#urlbar[breakout] { + top: 0 !important; +} + +.urlbarView-row[label][dynamicType="quickactions"] { + display: none !important; +} + +.urlbarView-results, +.urlbarView-row { + padding-block: 0 !important; + min-height: 14px !important; + border-radius: 0 !important; + border: 0 !important; +} + +.urlbarView-row[type="search"] .urlbarView-action { + display: none !important; +} + +.urlbarView-row[type="search"] .urlbarView-title::before { + content: 'Search for "'; +} + +.urlbarView-row[type="search"] .urlbarView-title::after { + content: '"'; +} + +.urlbarView-title strong, +.urlbarView-url strong { + font-weight: 500 !important; +} + +.urlbarView-row-inner { + border-radius: 0 !important; + padding-block: 0 !important; + min-height: 14px !important; + padding-inline: 0 !important; + margin: 0 !important; + padding: 0 !important; + padding-left: 3px !important; +} + +.urlbarView-row[row-selectable]:not([selected]):hover { + background-color: Highlight !important; + color: HighlightText !important; +} + +.urlbarView-row[label] { + margin-block-start: 0 !important; +} + +.urlbarView-row[label]::before { + display: none !important; +} + +.urlbarView-row[selectable]:hover > .urlbarView-row-inner { + background-color: var(--autocomplete-popup-highlight-background) !important; + color: var(--autocomplete-popup-highlight-color) !important; +} + +.urlbarView-tags, +.urlbarView-url, +.urlbarView-title:not(:empty) ~ .urlbarView-action { + font-size: unset !important; +} + +.urlbarView-title-separator::before, +.urlbarView-type-icon { + display: none !important; +} + +.urlbarView-title-separator { + margin-inline: 2px !important; +} + +.urlbarView-row[selectable]:hover > .urlbarView-row-inner .urlbarView-url, +.urlbarView-row-inner[selectable]:hover .urlbarView-url { + color: HighlightText !important; +} + +.urlbarView-row:not([selected]) .urlbarView-url { + color: LinkText !important; +} + +.urlbarView-row[selected] { + background-color: Highlight !important; + color: HighlightText !important; +} + +.urlbarView-overflowable { + mask-image: none !important; +} + +#page-action-buttons { + display: none !important; +} + +#tab-notification-deck { + -moz-box-ordinal-group: 100 !important; +} + +notification-message { + margin: 0 !important; + border-radius: 0 !important; + border-top: 1px solid ThreeDShadow !important; + box-shadow: inset 0 1px 0 ThreeDHighlight !important; +} + +.container.infobar { + align-items: center !important; + box-shadow: none !important; + border-radius: 0 !important; + background: #fffedf !important; +} + +.container.infobar::before { + display: none !important; +} + +.infobar > .icon { + margin: 0 !important; + display: none !important; +} + +.notification-message { + padding-block: 0 !important; + min-height: unset !important; + position: absolute !important; +} + +.notification-button { + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: calc(100% - 30px) !important; + margin: 0 !important; + border-radius: 0 !important; + border: 0 !important; + font-size: 0 !important; + height: 100% !important; + background: none !important; +} + +toolbarspring { + max-width: 100% !important; + width: 100% !important; +} + +toolbarpaletteitem[place="toolbar"][id^="wrapper-customizableui-special-spring"], +toolbarspring { + max-width: 100% !important; +} + +toolbarpaletteitem[place="toolbar"] > toolbarspring { + outline: 1px dotted !important; +} + +#additional_top_toolbar1 #PlacesToolbarItems { + width: 0 !important; + max-width: 0 !important; +} + +#additional_top_toolbar1 #PlacesChevron { + visibility: visible !important; + width: 12px !important; +} + +#additional_top_toolbar1 #PlacesToolbar::before { + content: "Links" !important; + line-height: 21px !important; + margin-inline: 4px !important; +} + +#additional_top_toolbar1 #personal-bookmarks { + padding-left: 1px !important; + border-left: 1px solid ThreeDShadow !important; + box-shadow: inset 1px 0 0 ThreeDHighlight !important; + margin-right: -1px !important; +} + +#customization-content-container .toolbarbutton-text { + display: none !important; +} + +.statusBarInner { + display: flex; + align-items: center; +} + +.statusBarIcon { + width: 16px; + height: 16px; + background-image: url("page.png"); + margin-left: 2px; +} + +.statusBarDone { + margin-left: 5px; +} + +.urlbarView-button-menu { + display: none !important; +} + +/* ff 113 */ +#personal-bookmarks { + flex-grow: 0 !important; +} +#titlebar > #toolbar-menubar > spacer[style="order: 1000;"] { + display: none; +} + +#context-navigation > .menuitem-iconic { + justify-content: left !important; +} + +/* ff 117 */ +toolbar[brighttext], +&[lwt-popup="dark"] panel { + color-scheme: light !important; +} + +#navigator-toolbox { + &:-moz-lwtheme { + background-image: unset !important; + background-color: unset !important; + + &:-moz-window-inactive { + background-color: unset !important; + } + } +} + +menubar > menu:-moz-window-inactive { + color: ThreeDShadow !important; +} + +#TabsToolbar #firefox-view-button[open] > .toolbarbutton-icon, +.tabbrowser-tab:is([visuallyselected], [multiselected]) { + color: -moz-DialogText !important; + color-scheme: light !important; + font-weight: var(--selected-tab-font-weight); +} + +toolbar .toolbarbutton-1 { + & > .toolbarbutton-icon, + & > .toolbarbutton-text, + & > .toolbarbutton-badge-stack { + padding: 0 !important; + } +} + +:is(label, description)[value][crop] { + min-width: auto !important; +} + +toolbar .toolbarbutton-1 { + & > .toolbarbutton-text { + min-height: 16px !important; + } +} + +menupopup > menu, +menupopup > menuitem, +#context-navigation > menuitem, +.toolbar-menupopup :is(menu, menuitem), +#uc-menugroup > menuitem { + height: 18px !important; + min-height: 18px !important; + border: none !important; + border-radius: 0 !important; + margin: 0 !important; + padding: 0 !important; + padding-block: 0 !important; + padding-inline-start: 20px !important; + + &:has(> .menu-iconic-left[checked="true"]), + &.menuitem-with-favicon, + &.privatetab-icon, + &.context-menu-add-engine, + &[id="userChromejs_openChromeFolder"], + &[id="userChromejs_restartApp"], + &[data-usercontextid]:not([data-usercontextid="0"]), + &[image^="moz-extension://"], + &[image^="jar:file://"], + &[image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaUlEQVQ4y6WTW0sCQRiG/SEpVBDUVVfphbAEhWAlqYhrLWUlER2IIgrqYkEp6SBmudWiFf0SiSCwpAI7bJnprq6H/sTbGhJiEyt28fAN7zfz8DHDaABo/oPqBpovX7j4T1gOS6dNCcYiZbhOSrCHi2hugqNCwskVYNmXbxoSuPkCN3NWhCdahLLGKCfDcSBjOJiHeTeHPr8EyifCwGb9RMF0RIaHl+E+zoMJ5+AM5WALSBjaEWHayqLXm4GR/YB+Iw2iYIKTMB6WwIRE0EER9r0s+r1pGNZT6F55ReeigPb5F7TOPpMFTDCDkUAGA753GFYFdC08QedJEvkR2DbfzuntFBz+1K2ZFdCz9Ii2qQfo3Pck2MoZpVI/AqtXQAXjchIdk3fQMok/Ib6CaS0Z1c8pdlc8pqXjUOF7AqVSxDvQOq7RKERBi/UKdbDVnK3vkQWWS9Si1vstGIyxCqiBquZUXc429BfU+AL9Tqy8Q2Za8AAAAABJRU5ErkJggg=="] { + padding-inline-start: 0px !important; + } + & > .menu-iconic-left { + margin-inline-end: 0 !important; + &[checked="true"] { + margin-inline-start: 2px !important; + margin-inline-end: 2px !important; + list-style-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB2aWV3Qm94PSIwIDAgNC4yMzMzNTM1IDQuMjMzMzUzNSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Zz48Zz48cmVjdCB4PSIxLjMyMjkiIHk9IjEuODUyMSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjkxMDQiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjY0NTkiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjM4MTIiIHk9IjEuODUyMSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIxLjU4NzUiIHk9IjIuMzgxMiIgd2lkdGg9Ii43OTM3NSIgaGVpZ2h0PSIuNTI5MTciLz48cmVjdCB4PSIxLjg1MjEiIHk9IjIuOTEwNCIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIxLjU4NzUiIHk9IjIuMTE2NyIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIyLjExNjciIHk9IjIuMTE2NyIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48L2c+PC9nPjwvc3ZnPgo=") !important; + fill-opacity: 1 !important; + } + } + &.menuitem-with-favicon, + &.privatetab-icon, + &.context-menu-add-engine, + &[id="userChromejs_openChromeFolder"], + &[id="userChromejs_restartApp"], + &[data-usercontextid]:not([data-usercontextid="0"]), + &[image^="moz-extension://"], + &[image^="jar:file://"], + &[image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABaUlEQVQ4y6WTW0sCQRiG/SEpVBDUVVfphbAEhWAlqYhrLWUlER2IIgrqYkEp6SBmudWiFf0SiSCwpAI7bJnprq6H/sTbGhJiEyt28fAN7zfz8DHDaABo/oPqBpovX7j4T1gOS6dNCcYiZbhOSrCHi2hugqNCwskVYNmXbxoSuPkCN3NWhCdahLLGKCfDcSBjOJiHeTeHPr8EyifCwGb9RMF0RIaHl+E+zoMJ5+AM5WALSBjaEWHayqLXm4GR/YB+Iw2iYIKTMB6WwIRE0EER9r0s+r1pGNZT6F55ReeigPb5F7TOPpMFTDCDkUAGA753GFYFdC08QedJEvkR2DbfzuntFBz+1K2ZFdCz9Ii2qQfo3Pck2MoZpVI/AqtXQAXjchIdk3fQMok/Ib6CaS0Z1c8pdlc8pqXjUOF7AqVSxDvQOq7RKERBi/UKdbDVnK3vkQWWS9Si1vstGIyxCqiBquZUXc429BfU+AL9Tqy8Q2Za8AAAAABJRU5ErkJggg=="] { + & > .menu-iconic-left { + width: 16px !important; + margin-inline-start: 2px !important; + margin-inline-end: 2px !important; + } + } + &[_moz-menuactive] { + background-color: Highlight !important; + color: HighlightText !important; + } + & > .menu-right { + margin-inline-end: 0 !important; + list-style-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2Ij48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiB5PSIzIiB4PSI2IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI1IiB5PSI0IiB4PSI3IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIzIiB5PSI1IiB4PSI4IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI2IiB4PSI5IiBmaWxsPSJjdXJyZW50Q29sb3IiLz48L3N2Zz4=") !important; + fill-opacity: 1 !important; + } + &[disabled="true"], + &.disabled, + &.noOptions { + color: ThreeDShadow !important; + text-shadow: 1px 1px 0 ThreeDHighlight !important; + + &[_moz-menuactive="true"] { + text-shadow: none !important; + } + } + + &[restartless="true"] { + color: LinkText !important; + } + + &:not([disabled]) > .menu-accel-container > :is(.menu-accel, .menu-iconic-accel) { + color: -moz-DialogText !important; + } +} + +menuseparator { + padding-inline: 1px !important; + + &[hidden="true"] { + padding: 0 !important; + padding-block: 0 !important; + padding-inline: 0 !important; + + &::before { + display: none; + } + } +} + +tooltip { + background-color: Window !important; + color: -moz-DialogText !important; + border-color: -moz-DialogText !important; + border-radius: 0 !important; +} + +#userChromejs_openChromeFolder { + list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAYUExURZmZAAAAAPHx8f//zP//mczMZv/MmQAAAHwygQUAAAAIdFJOU/////////8A3oO9WQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAFBJREFUKFNdz0kSwCAIBVEICPe/cT5DkWC74slCya8AFHHPAHpEVEeITpV7uS9fejhAJ1tgOHsD8oO43xspA3VvDT1hLuiHVQDnVXxud4H7C0+1BHuF0oyhAAAAAElFTkSuQmCC") !important; +} + +#userChromejs_restartApp { + list-style-image: url("go.png") !important; + width: 18px !important; +} diff --git a/chrome/toolbar-label-under-icon.css b/chrome/msfx/toolbar-label-under-icon.css similarity index 100% rename from chrome/toolbar-label-under-icon.css rename to chrome/msfx/toolbar-label-under-icon.css diff --git a/chrome/msfx/toolbar.png b/chrome/msfx/toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..9e1fc016f9e15a6a577cc47c972aa4f408f93d0c GIT binary patch literal 3648 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 N)ipcwDl?x){|CsCrwsrA literal 0 HcmV?d00001 diff --git a/chrome/scrollbar.uc.js b/chrome/scrollbar.uc.js index 783df67..f8a9c70 100644 --- a/chrome/scrollbar.uc.js +++ b/chrome/scrollbar.uc.js @@ -1,146 +1,149 @@ (function () { var css = `@media all and (-moz-overlay-scrollbars) { - scrollbar[root="true"] { - position: relative; - z-index: 2147483647; - } - - scrollbar:not([active="true"]), - scrollbar[disabled="true"] { - visibility: hidden; - } -} - -scrollbar -{ - color-scheme: light !important; - -moz-default-appearance: none; - -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar"); - cursor: default; - min-width: 16px !important; - background-repeat: repeat !important; - background-color: ThreeDHighlight !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdib3g9IjAgMCAyIDIiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIGZpbGw9Ii1tb3otZGlhbG9nIi8+PHJlY3QgZmlsbD0iVGhyZWVESGlnaGxpZ2h0IiB4PSIxIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0iLW1vei1kaWFsb2ciLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHg9IjAiIHk9IjEiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiLz48L3N2Zz4=") !important; - opacity: 1 !important; -} - -thumb -{ - color-scheme: light !important; - -moz-default-appearance: none !important; - position: relative !important; - background-color: -moz-Dialog !important; - min-height: 8px !important; - pointer-events: auto !important; - border: 0 !important; - box-shadow: inset -1px -1px 0 WindowFrame, inset 1px 1px 0 -moz-Dialog, inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; -} - -thumb[orient="horizontal"] { - -moz-default-appearance: none; - min-height: 16px !important; - min-width: 8px !important; - max-width: 100% !important; - background-repeat: no-repeat !important; -} - -scrollbarbutton -{ - color-scheme: light !important; - min-width: 16px !important; - min-height: 16px !important; - -moz-default-appearance: none !important; - background-color: -moz-Dialog !important; - box-shadow: inset -1px -1px 0 WindowFrame, inset 1px 1px 0 -moz-Dialog, inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; -} - -scrollbarbutton:not(.disabled):hover:active -{ - background-color: -moz-dialog !important; - border: 1px solid ThreeDShadow !important; - box-shadow: none !important; -} - -slider, -slider[orient="vertical"] -{ - color-scheme: light !important; - -moz-default-appearance: none; -} - -scrollcorner -{ - color-scheme: light !important; - -moz-default-appearance: none !important; - -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base); - width: 16px; - cursor: default; - background-color: -moz-dialog; !important; -} - -scrollbarbutton[type="increment"] -{ - -moz-default-appearance: none; - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiB5PSI0IiB4PSI1IiBmaWxsPSJtZW51dGV4dCIvPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjUiIHk9IjUiIHg9IjYiIGZpbGw9Im1lbnV0ZXh0Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMyIgeT0iNiIgeD0iNyIgZmlsbD0ibWVudXRleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI4IiBmaWxsPSJtZW51dGV4dCIvPg0KCQ0KCQ0KPC9zdmc+") !important; - background-position: center center !important; -} - -scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] -{ - -moz-default-appearance: none; - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBoZWlnaHQ9IjEiIHdpZHRoPSI3IiB4PSIzIiB5PSI1IiBmaWxsPSJtZW51dGV4dCIvPjxyZWN0IGhlaWdodD0iMSIgd2lkdGg9IjUiIHk9IjYiIHg9IjQiIGZpbGw9Im1lbnV0ZXh0Ii8+PHJlY3QgaGVpZ2h0PSIxIiB3aWR0aD0iMyIgeD0iNSIgeT0iNyIgZmlsbD0ibWVudXRleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4PSI2IiB5PSI4IiBmaWxsPSJtZW51dGV4dCIvPg0KCQ0KCQ0KPC9zdmc+") !important; - background-position: center center !important; -} - -scrollbarbutton[type="decrement"] -{ - -moz-default-appearance: none; - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiB5PSI0IiB4PSI4IiBmaWxsPSJtZW51dGV4dCIvPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjUiIHk9IjUiIHg9IjciIGZpbGw9Im1lbnV0ZXh0Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMyIgeT0iNiIgeD0iNiIgZmlsbD0ibWVudXRleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI1IiBmaWxsPSJtZW51dGV4dCIvPg0KCQ0KCQ0KPC9zdmc+") !important; - background-position: center center !important; -} - -scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] -{ - -moz-default-appearance: none; - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBoZWlnaHQ9IjEiIHdpZHRoPSI3IiB5PSI4IiB4PSIzIiBmaWxsPSJtZW51dGV4dCIvPjxyZWN0IGhlaWdodD0iMSIgd2lkdGg9IjUiIHg9IjQiIHk9IjciIGZpbGw9Im1lbnV0ZXh0Ii8+PHJlY3QgaGVpZ2h0PSIxIiB3aWR0aD0iMyIgeT0iNiIgeD0iNSIgZmlsbD0ibWVudXRleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI1IiB4PSI2IiBmaWxsPSJtZW51dGV4dCIvPg0KCQ0KCQ0KPC9zdmc+") !important; - background-position: center center !important; -} - -scrollbarbutton[type="increment"][disabled="true"] -{ - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjciIHk9IjQiIHg9IjUiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIyIiBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHg9IjYiIHk9IjEwIi8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMiIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0IiB4PSI3IiB5PSI5Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMiIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0IiB4PSI4IiB5PSI4Ii8+PHJlY3Qgd2lkdGg9IjEiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIgaGVpZ2h0PSIxIiB5PSI4IiB4PSI5Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSI1IiB5PSI1IiB4PSI2Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSIzIiB5PSI2IiB4PSI3Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI4Ii8+DQoJDQoJDQo8L3N2Zz4="); - background-position: center center !important; -} - -scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] -{ - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjciIHg9IjMiIHk9IjUiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHk9IjYiIHg9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHk9IjciIHg9IjgiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHg9IjciIHk9IjgiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjEiIHg9IjciIHk9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjUiIHk9IjYiIHg9IjQiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjMiIHg9IjUiIHk9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHg9IjYiIHk9IjgiLz4NCgkNCgkNCjwvc3ZnPg=="); - background-position: center center !important; -} - -scrollbarbutton[type="decrement"][disabled="true"] -{ - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjciIHk9IjQiIHg9IjgiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHk9IjUiIHg9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjUiIHk9IjUiIHg9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjMiIHk9IjYiIHg9IjYiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHk9IjciIHg9IjUiLz4NCgkNCgkNCjwvc3ZnPg=="); - background-position: center center !important; -} - -scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] -{ - background-repeat: no-repeat !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjciIHk9IjgiIHg9IjMiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHdpZHRoPSI3IiBoZWlnaHQ9IjEiIHk9IjkiIHg9IjQiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjUiIHg9IjQiIHk9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjMiIHk9IjYiIHg9IjUiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHk9IjUiIHg9IjYiLz4NCgkNCgkNCjwvc3ZnPg==") !important; - background-position: center !important; -}`; + scrollbar[root="true"] { + position: relative; + z-index: 2147483647; + } + + scrollbar:not([active="true"]), + scrollbar[disabled="true"] { + visibility: hidden; + } + } + + scrollbar + { + color-scheme: light !important; + -moz-default-appearance: none; + -moz-binding: url("chrome://global/content/bindings/scrollbar.xml#scrollbar"); + cursor: default; + min-width: 16px !important; + background-color: ThreeDHighlight !important; + opacity: 1 !important; + } + + thumb + { + color-scheme: light !important; + -moz-default-appearance: none !important; + position: relative !important; + background-color: -moz-Dialog !important; + min-height: 8px !important; + pointer-events: auto !important; + border: 0 !important; + box-shadow: inset -1px -1px 0 WindowFrame, inset 1px 1px 0 -moz-Dialog, inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; + } + + thumb[orient="horizontal"] { + -moz-default-appearance: none; + min-height: 16px !important; + min-width: 8px !important; + max-width: 100% !important; + background-repeat: no-repeat !important; + } + + scrollbarbutton + { + color-scheme: light !important; + min-width: 16px !important; + min-height: 16px !important; + -moz-default-appearance: none !important; + background-color: -moz-Dialog !important; + box-shadow: inset -1px -1px 0 WindowFrame, inset 1px 1px 0 -moz-Dialog, inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; + } + + scrollbarbutton:not(.disabled):hover:active + { + background-color: -moz-dialog !important; + border: 1px solid ThreeDShadow !important; + box-shadow: none !important; + } + + slider, + slider[orient="vertical"] + { + color-scheme: light !important; + -moz-default-appearance: none; + background-color: ThreeDHighlight !important; + background-repeat: repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMiIgaGVpZ2h0PSIyIiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAuNTI5MTcgLjUyOTE3IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnPjxnPjxyZWN0IHg9Ii4yNjQ1OCIgeT0iMC4wMDAwIiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVEU2hhZG93Ii8+PHJlY3QgeD0iMC4wMDAwIiB5PSIuMjY0NTgiIHdpZHRoPSIuMjY0NTgiIGhlaWdodD0iLjI2NDU4IiBmaWxsPSJUaHJlZURTaGFkb3ciLz48cmVjdCB4PSIwLjAwMDAiIHk9IjAuMDAwMCIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIvPjxyZWN0IHg9Ii4yNjQ1OCIgeT0iLjI2NDU4IiB3aWR0aD0iLjI2NDU4IiBoZWlnaHQ9Ii4yNjQ1OCIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0Ii8+PC9nPjwvZz48L3N2Zz4=") !important; + } + + scrollcorner + { + color-scheme: light !important; + -moz-default-appearance: none !important; + -moz-binding: url(chrome://global/content/bindings/scrollbar.xml#scrollbar-base); + width: 16px; + cursor: default; + background-color: -moz-dialog; !important; + } + + scrollbarbutton[type="increment"] + { + -moz-default-appearance: none; + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4KICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiB5PSI0IiB4PSI1IiBmaWxsPSJDYW52YXNUZXh0Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iNSIgeT0iNSIgeD0iNiIgZmlsbD0iQ2FudmFzVGV4dCIvPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjMiIHk9IjYiIHg9IjciIGZpbGw9IkNhbnZhc1RleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI4IiBmaWxsPSJDYW52YXNUZXh0Ii8+CiAgCiAgCjwvc3ZnPg==") !important; + background-position: center center !important; + } + + scrollbar[orient="vertical"] > scrollbarbutton[type="increment"] + { + -moz-default-appearance: none; + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4KICA8cmVjdCBoZWlnaHQ9IjEiIHdpZHRoPSI3IiB4PSIzIiB5PSI1IiBmaWxsPSJDYW52YXNUZXh0Ii8+PHJlY3QgaGVpZ2h0PSIxIiB3aWR0aD0iNSIgeT0iNiIgeD0iNCIgZmlsbD0iQ2FudmFzVGV4dCIvPjxyZWN0IGhlaWdodD0iMSIgd2lkdGg9IjMiIHg9IjUiIHk9IjciIGZpbGw9IkNhbnZhc1RleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4PSI2IiB5PSI4IiBmaWxsPSJDYW52YXNUZXh0Ii8+CiAgCiAgCjwvc3ZnPg==") !important; + background-position: center center !important; + } + + scrollbarbutton[type="decrement"] + { + -moz-default-appearance: none; + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4KICA8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiB5PSI0IiB4PSI4IiBmaWxsPSJDYW52YXNUZXh0Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iNSIgeT0iNSIgeD0iNyIgZmlsbD0iQ2FudmFzVGV4dCIvPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjMiIHk9IjYiIHg9IjYiIGZpbGw9IkNhbnZhc1RleHQiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI1IiBmaWxsPSJDYW52YXNUZXh0Ii8+CiAgCiAgCjwvc3ZnPg==") !important; + background-position: center center !important; + } + + scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"] + { + -moz-default-appearance: none; + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4KCTxyZWN0IGhlaWdodD0iMSIgd2lkdGg9IjciIHk9IjgiIHg9IjMiIGZpbGw9IkNhbnZhc1RleHQiLz48cmVjdCBoZWlnaHQ9IjEiIHdpZHRoPSI1IiB4PSI0IiB5PSI3IiBmaWxsPSJDYW52YXNUZXh0Ii8+PHJlY3QgaGVpZ2h0PSIxIiB3aWR0aD0iMyIgeT0iNiIgeD0iNSIgZmlsbD0iQ2FudmFzVGV4dCIvPjxyZWN0IHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHk9IjUiIHg9IjYiIGZpbGw9IkNhbnZhc1RleHQiLz4KCQoJCjwvc3ZnPg==") !important; + background-position: center center !important; + } + + scrollbarbutton[type="increment"][disabled="true"] + { + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjciIHk9IjQiIHg9IjUiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIyIiBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHg9IjYiIHk9IjEwIi8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMiIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0IiB4PSI3IiB5PSI5Ii8+PHJlY3Qgd2lkdGg9IjEiIGhlaWdodD0iMiIgZmlsbD0iVGhyZWVESGlnaGxpZ2h0IiB4PSI4IiB5PSI4Ii8+PHJlY3Qgd2lkdGg9IjEiIGZpbGw9IlRocmVlREhpZ2hsaWdodCIgaGVpZ2h0PSIxIiB5PSI4IiB4PSI5Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSI1IiB5PSI1IiB4PSI2Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSIzIiB5PSI2IiB4PSI3Ii8+PHJlY3QgZmlsbD0iVGhyZWVEU2hhZG93IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB5PSI3IiB4PSI4Ii8+DQoJDQoJDQo8L3N2Zz4="); + background-position: center center !important; + } + + scrollbar[orient="vertical"] > scrollbarbutton[type="increment"][disabled="true"] + { + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjciIHg9IjMiIHk9IjUiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHk9IjYiIHg9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHk9IjciIHg9IjgiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjIiIHg9IjciIHk9IjgiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIGhlaWdodD0iMSIgd2lkdGg9IjEiIHg9IjciIHk9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjUiIHk9IjYiIHg9IjQiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjMiIHg9IjUiIHk9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHg9IjYiIHk9IjgiLz4NCgkNCgkNCjwvc3ZnPg=="); + background-position: center center !important; + } + + scrollbarbutton[type="decrement"][disabled="true"] + { + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMTUiIHdpZHRoPSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjciIHk9IjQiIHg9IjgiLz48cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSI3IiBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHk9IjUiIHg9IjkiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjUiIHk9IjUiIHg9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjMiIHk9IjYiIHg9IjYiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHk9IjciIHg9IjUiLz4NCgkNCgkNCjwvc3ZnPg=="); + background-position: center center !important; + } + + scrollbar[orient="vertical"] > scrollbarbutton[type="decrement"][disabled="true"] + { + background-repeat: no-repeat !important; + background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIgdmlld0JveD0iMCAwIDE1IDE1Ij4NCgk8cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjciIHk9IjgiIHg9IjMiLz48cmVjdCBmaWxsPSJUaHJlZURIaWdobGlnaHQiIHdpZHRoPSI3IiBoZWlnaHQ9IjEiIHk9IjkiIHg9IjQiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjUiIHg9IjQiIHk9IjciLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIGhlaWdodD0iMSIgd2lkdGg9IjMiIHk9IjYiIHg9IjUiLz48cmVjdCBmaWxsPSJUaHJlZURTaGFkb3ciIHdpZHRoPSIxIiBoZWlnaHQ9IjEiIHk9IjUiIHg9IjYiLz4NCgkNCgkNCjwvc3ZnPg==") !important; + background-position: center !important; + }`; var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService( Ci.nsIStyleSheetService ); - var uri = makeURI("data:text/css;charset=UTF=8," + encodeURIComponent(css)); + var uri = Services.io.newURI( + "data:text/css;charset=UTF=8," + encodeURIComponent(css) + ); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); })(); diff --git a/chrome/space_and_separator_restorer.uc.js b/chrome/space_and_separator_restorer.uc.js index 058bf41..0d94ae9 100644 --- a/chrome/space_and_separator_restorer.uc.js +++ b/chrome/space_and_separator_restorer.uc.js @@ -12,95 +12,118 @@ // [!] BUG: do not move main 'space'-item to palette or it will be hidden until customizing mode gets reopened // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts) +(function () { + Components.utils.import("resource:///modules/CustomizableUI.jsm"); + var appversion = parseInt(Services.appinfo.version); + var AddSeparator = { + init: function () { + if ( + appversion >= 76 && + location != "chrome://browser/content/browser.xhtml" + ) + return; -Components.utils.import("resource:///modules/CustomizableUI.jsm"); -var {Services} = Components.utils.import("resource://gre/modules/Services.jsm", {}); -var appversion = parseInt(Services.appinfo.version); + try { + document + .getElementById("back-button") + .setAttribute("removable", "true"); + document + .getElementById("forward-button") + .setAttribute("removable", "true"); + } catch (e) {} -var AddSeparator = { - init: function() { + /* blank tab workaround */ + try { + if (gBrowser.selectedBrowser.getAttribute("blank")) + gBrowser.selectedBrowser.removeAttribute("blank"); + } catch (e) {} - if (appversion >= 76 && location != 'chrome://browser/content/browser.xhtml') - return; + var tb_config_label = "Configuration Toolbar"; + var tb_spacer_label = "Space"; + var tb_sep_label = "Separator"; + var tb_spring_label = "Flexible Space"; - /* blank tab workaround */ - try { - if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank'); - } catch(e) {} - - var tb_config_label = "Configuration Toolbar"; - var tb_spacer_label = "Space"; - var tb_sep_label = "Separator"; - var tb_spring_label = "Flexible Space"; - - try { - if(document.getElementById('configuration_toolbar') == null) { - - if(appversion <= 62) var tb_config = document.createElement("toolbar"); - else var tb_config = document.createXULElement("toolbar"); - tb_config.setAttribute("id","configuration_toolbar"); - tb_config.setAttribute("customizable","true"); - tb_config.setAttribute("class","toolbar-primary chromeclass-toolbar browser-toolbar customization-target"); - tb_config.setAttribute("mode","icons"); - tb_config.setAttribute("iconsize","small"); - tb_config.setAttribute("toolboxid","navigator-toolbox"); - tb_config.setAttribute("lockiconsize","true"); - tb_config.setAttribute("ordinal","1005"); - tb_config.setAttribute("defaultset","toolbarspacer,toolbarseparator"); - - document.querySelector('#navigator-toolbox').appendChild(tb_config); - - CustomizableUI.registerArea("configuration_toolbar", {legacy: true}); - if(appversion >= 65) CustomizableUI.registerToolbarNode(tb_config); - - if(appversion <= 62) var tb_label = document.createElement("label"); - else var tb_label = document.createXULElement("label"); - tb_label.setAttribute("label", tb_config_label+": "); - tb_label.setAttribute("value", tb_config_label+": "); - tb_label.setAttribute("id","tb_config_tb_label"); - tb_label.setAttribute("removable","false"); - - tb_config.appendChild(tb_label); - - - if(appversion <= 62) var tb_spacer = document.createElement("toolbarspacer"); - else var tb_spacer = document.createXULElement("toolbarspacer"); - tb_spacer.setAttribute("id","spacer"); - tb_spacer.setAttribute("class","chromeclass-toolbar-additional"); - tb_spacer.setAttribute("customizableui-areatype","toolbar"); - tb_spacer.setAttribute("removable","false"); - tb_spacer.setAttribute("label", tb_spacer_label); - - tb_config.appendChild(tb_spacer); - - - if(appversion <= 62) var tb_sep = document.createElement("toolbarseparator"); - else var tb_sep = document.createXULElement("toolbarseparator"); - tb_sep.setAttribute("id","separator"); - tb_sep.setAttribute("class","chromeclass-toolbar-additional"); - tb_sep.setAttribute("customizableui-areatype","toolbar"); - tb_sep.setAttribute("removable","false"); - tb_sep.setAttribute("label", tb_sep_label); - - tb_config.appendChild(tb_sep); - - - if(appversion <= 62) var tb_spring = document.createElement("toolbarspring"); - else var tb_spring = document.createXULElement("toolbarspring"); - tb_spring.setAttribute("id","spring"); - tb_spring.setAttribute("class","chromeclass-toolbar-additional"); - tb_spring.setAttribute("customizableui-areatype","toolbar"); - tb_spring.setAttribute("removable","false"); - tb_spring.setAttribute("flex","1"); - tb_spring.setAttribute("label", tb_spring_label); - - tb_config.appendChild(tb_spring); - - // CSS - var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService); + try { + if (document.getElementById("configuration_toolbar") == null) { + if (appversion <= 62) + var tb_config = document.createElement("toolbar"); + else var tb_config = document.createXULElement("toolbar"); + tb_config.setAttribute("id", "configuration_toolbar"); + tb_config.setAttribute("customizable", "true"); + tb_config.setAttribute( + "class", + "toolbar-primary chromeclass-toolbar browser-toolbar customization-target" + ); + tb_config.setAttribute("mode", "icons"); + tb_config.setAttribute("iconsize", "small"); + tb_config.setAttribute("toolboxid", "navigator-toolbox"); + tb_config.setAttribute("lockiconsize", "true"); + tb_config.setAttribute("ordinal", "1005"); + tb_config.setAttribute( + "defaultset", + "toolbarspacer,toolbarseparator" + ); - var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\ + document.querySelector("#navigator-toolbox").appendChild(tb_config); + + CustomizableUI.registerArea("configuration_toolbar", { + legacy: true, + }); + if (appversion >= 65) CustomizableUI.registerToolbarNode(tb_config); + + if (appversion <= 62) var tb_label = document.createElement("label"); + else var tb_label = document.createXULElement("label"); + tb_label.setAttribute("label", tb_config_label + ": "); + tb_label.setAttribute("value", tb_config_label + ": "); + tb_label.setAttribute("id", "tb_config_tb_label"); + tb_label.setAttribute("removable", "false"); + + tb_config.appendChild(tb_label); + + if (appversion <= 62) + var tb_spacer = document.createElement("toolbarspacer"); + else var tb_spacer = document.createXULElement("toolbarspacer"); + tb_spacer.setAttribute("id", "spacer"); + tb_spacer.setAttribute("class", "chromeclass-toolbar-additional"); + tb_spacer.setAttribute("customizableui-areatype", "toolbar"); + tb_spacer.setAttribute("removable", "false"); + tb_spacer.setAttribute("label", tb_spacer_label); + + tb_config.appendChild(tb_spacer); + + if (appversion <= 62) + var tb_sep = document.createElement("toolbarseparator"); + else var tb_sep = document.createXULElement("toolbarseparator"); + tb_sep.setAttribute("id", "separator"); + tb_sep.setAttribute("class", "chromeclass-toolbar-additional"); + tb_sep.setAttribute("customizableui-areatype", "toolbar"); + tb_sep.setAttribute("removable", "false"); + tb_sep.setAttribute("label", tb_sep_label); + + tb_config.appendChild(tb_sep); + + if (appversion <= 62) + var tb_spring = document.createElement("toolbarspring"); + else var tb_spring = document.createXULElement("toolbarspring"); + tb_spring.setAttribute("id", "spring"); + tb_spring.setAttribute("class", "chromeclass-toolbar-additional"); + tb_spring.setAttribute("customizableui-areatype", "toolbar"); + tb_spring.setAttribute("removable", "false"); + tb_spring.setAttribute("flex", "1"); + tb_spring.setAttribute("label", tb_spring_label); + + tb_config.appendChild(tb_spring); + + // CSS + var sss = Components.classes[ + "@mozilla.org/content/style-sheet-service;1" + ].getService(Components.interfaces.nsIStyleSheetService); + + var uri = Services.io.newURI( + "data:text/css;charset=utf-8," + + encodeURIComponent( + '\ \ #configuration_toolbar { \ -moz-appearance: none !important; \ @@ -161,21 +184,24 @@ var AddSeparator = { max-width: 100% !important; \ }\ \ - '), null, null); + ' + ), + null, + null + ); - sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); - } - } catch(e){} + sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); + } + } catch (e) {} + }, + }; - } - -} - -/* initialization delay workaround */ -document.addEventListener("DOMContentLoaded", AddSeparator.init(), false); -/* Use the below code instead of the one above this line, if issues occur */ -/* + /* initialization delay workaround */ + document.addEventListener("DOMContentLoaded", AddSeparator.init(), false); + /* Use the below code instead of the one above this line, if issues occur */ + /* setTimeout(function(){ AddSeparator.init(); },2000); */ +})(); diff --git a/chrome/status-bar.uc.js b/chrome/status-bar.uc.js new file mode 100644 index 0000000..9bb355a --- /dev/null +++ b/chrome/status-bar.uc.js @@ -0,0 +1,207 @@ +// ==UserScript== +// @name Status Bar +// @author xiaoxiaoflood +// @include main +// @startup UC.statusBar.exec(win); +// @shutdown UC.statusBar.destroy(); +// @onlyonce +// ==/UserScript== + +const { CustomizableUI, StatusPanel } = window; + +UC.statusBar = { + PREF_ENABLED: "userChromeJS.statusbar.enabled", + PREF_STATUSTEXT: "userChromeJS.statusbar.appendStatusText", + + get enabled() { + return xPref.get(this.PREF_ENABLED); + }, + + get textInBar() { + return this.enabled && xPref.get(this.PREF_STATUSTEXT); + }, + + init: function () { + xPref.set(this.PREF_ENABLED, true, true); + xPref.set(this.PREF_STATUSTEXT, true, true); + this.enabledListener = xPref.addListener(this.PREF_ENABLED, (isEnabled) => { + CustomizableUI.getWidget("status-dummybar").instances.forEach( + (dummyBar) => { + dummyBar.node.setAttribute("collapsed", !isEnabled); + } + ); + }); + this.textListener = xPref.addListener(this.PREF_STATUSTEXT, (isEnabled) => { + if (!UC.statusBar.enabled) return; + + _uc.windows((doc, win) => { + let StatusPanel = win.StatusPanel; + if (isEnabled) + win.statusbar.textNode.appendChild(StatusPanel._labelElement); + else StatusPanel.panel.appendChild(StatusPanel._labelElement); + }); + }); + + this.setStyle(); + _uc.sss.loadAndRegisterSheet(this.STYLE.url, this.STYLE.type); + + CustomizableUI.registerArea("status-bar", {}); + + Services.obs.addObserver(this, "browser-delayed-startup-finished"); + }, + + exec: function (win) { + let document = win.document; + let StatusPanel = win.StatusPanel; + + let dummystatusbar = _uc.createElement(document, "toolbar", { + id: "status-dummybar", + toolbarname: "Status Bar", + hidden: "true", + }); + dummystatusbar.collapsed = !this.enabled; + dummystatusbar.setAttribute = function (att, value) { + let result = Element.prototype.setAttribute.apply(this, arguments); + + if (att == "collapsed") { + let StatusPanel = win.StatusPanel; + if (value === true) { + xPref.set(UC.statusBar.PREF_ENABLED, false); + win.statusbar.node.setAttribute("collapsed", true); + StatusPanel.panel.appendChild(StatusPanel._labelElement); + win.statusbar.node.parentNode.collapsed = true; + } else { + xPref.set(UC.statusBar.PREF_ENABLED, true); + win.statusbar.node.setAttribute("collapsed", false); + if (UC.statusBar.textInBar) + win.statusbar.textNode.appendChild(StatusPanel._labelElement); + win.statusbar.node.parentNode.collapsed = false; + } + } + + return result; + }; + win.gNavToolbox.appendChild(dummystatusbar); + + win.statusbar.node = _uc.createElement(document, "toolbar", { + id: "status-bar", + customizable: "true", + context: "toolbar-context-menu", + mode: "icons", + }); + + win.statusbar.textNode = _uc.createElement(document, "toolbaritem", { + id: "status-text", + flex: "1", + width: "100", + }); + if (this.textInBar) + win.statusbar.textNode.appendChild(StatusPanel._labelElement); + win.statusbar.node.appendChild(win.statusbar.textNode); + + win.eval( + 'Object.defineProperty(StatusPanel, "_label", {' + + Object.getOwnPropertyDescriptor(StatusPanel, "_label") + .set.toString() + .replace(/^set _label/, "set") + .replace( + /((\s+)this\.panel\.setAttribute\("inactive", "true"\);)/, + "$2this._labelElement.value = val;$1" + ) + + ", enumerable: true, configurable: true});" + ); + + let bottomBox = document.createElement("vbox"); + bottomBox.id = "browser-bottombox"; + bottomBox.append(win.statusbar.node); + + if (!this.enabled) bottomBox.collapsed = true; + + document + .getElementById("fullscreen-and-pointerlock-wrapper") + .insertAdjacentElement("afterend", bottomBox); + + win.addEventListener("fullscreen", this.fsEvent); + + if (document.readyState === "complete") this.observe(win); + }, + + fsEvent: function (ev) { + const { StatusPanel, fullScreen, statusbar } = ev.target; + if (fullScreen) StatusPanel.panel.appendChild(StatusPanel._labelElement); + else statusbar.textNode.appendChild(StatusPanel._labelElement); + }, + + observe: function (win) { + CustomizableUI.registerToolbarNode(win.statusbar.node); + }, + + orig: Object.getOwnPropertyDescriptor(StatusPanel, "_label").set.toString(), + + setStyle: function () { + this.STYLE = { + url: Services.io.newURI( + "data:text/css;charset=UTF-8," + + encodeURIComponent(` + @-moz-document url('${_uc.BROWSERCHROME}') { + #status-bar { + color: initial !important; + /*background-color: var(--toolbar-non-lwt-bgcolor);*/ + } + #status-text > #statuspanel-label { + border-top: 0 !important; + /*background-color: unset !important; + color: #444;*/ + } + #status-bar > #status-text { + display: flex !important; + justify-content: center !important; + align-content: center !important; + flex-direction: column !important; + -moz-window-dragging: drag; + } + toolbarpaletteitem #status-text:before { + content: "Status text"; + color: red; + border: 1px #aaa solid; + border-radius: 3px; + font-weight: bold; + } + /*#browser-bottombox:not([collapsed]) { + border-top: 1px solid #BCBEBF !important; + }*/ + :root[inFullscreen]:not([macOSNativeFullscreen]) #browser-bottombox { + visibility: collapse !important; + } + } + `) + ), + type: _uc.sss.USER_SHEET, + }; + }, + + destroy: function () { + const { CustomizableUI } = Services.wm.getMostRecentBrowserWindow(); + + xPref.removeListener(this.enabledListener); + xPref.removeListener(this.textListener); + CustomizableUI.unregisterArea("status-bar"); + _uc.sss.unregisterSheet(this.STYLE.url, this.STYLE.type); + _uc.windows((doc, win) => { + const { eval, statusbar, StatusPanel } = win; + eval( + 'Object.defineProperty(StatusPanel, "_label", {' + + this.orig.replace(/^set _label/, "set") + + ", enumerable: true, configurable: true});" + ); + StatusPanel.panel.appendChild(StatusPanel._labelElement); + doc.getElementById("status-dummybar").remove(); + statusbar.node.remove(); + win.removeEventListener("fullscreen", this.fsEvent); + }); + Services.obs.removeObserver(this, "browser-delayed-startup-finished"); + delete UC.statusBar; + }, +}; + +UC.statusBar.init(); diff --git a/chrome/toolbar.png b/chrome/toolbar.png deleted file mode 100644 index df62a972f34dd651bd3b610d1d566542360a2cbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3262 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 diff --git a/chrome/toolbar/back.png b/chrome/toolbar/back.png deleted file mode 100644 index 549fe89f7e3e30e52f10d1ae3ca192915570ecca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar}5yC*S3D5aelneO7Lp z!8CW~8%LGQ4BJ=pnimBxdGgKo(&w*V+M7-XOt1PO8n9}2E~A-ZOTeD*H|EMTBt4hO zSo^d=@0?|`A=|6jb3eX#x7DI6e0HZH6ZeWmO`>bJF7em&wKQhn;%K@!DJ<=Tt$Avb wO#Z^DN2Dj@KYaZC&jgkK$<>+GH%uQe2H(&VjD8hX0(2LHr>mdKI;Vst0M1fRN&o-= diff --git a/chrome/toolbar/bookmarks.png b/chrome/toolbar/bookmarks.png deleted file mode 100644 index 7d715b8798d755b4c9f1ff61ec435f67f5226cfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281 zcmV+!0p|XRP)szO+-V@0xZEStN<-iGQb_rCr9BDek9xkgTLqZ5GZLpKJ zpzr(7zgXM0w+naxaMLuA8KwB~rHD#xeiCbU$Kotd*Yy+TFq36jTEJTC2esBT41@2t zZKHKvxi5+$77!TVIF2L&RaKEOhCv9-^Gs2Ma5Dx0ONB7*T?&NYG)-cawaT*O^HRV$ z$3w6kI*{yuQKu0gAep>~HD|5XGz!{X-}}00000NkvXXu0mjfC&zPh diff --git a/chrome/toolbar/copy.png b/chrome/toolbar/copy.png deleted file mode 100644 index f0f93404e099e55e701e77f170d352b3c6ea8ebc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmV+h0r~!kP)Rh(%1~Vj{0!->X%?$0I)00|A_K z2M1c$b=cqnSZf=G_a06FzI%i`0uU+$NxF~*FijJ=NGSn2=$$%R*8vtIWE72cP&&`^ z%mV6YuN;&(T5FI}HpyN)*tU%d_kE{l&KYoK7eFa>n^}yJB5(sm{RKEH*+n`R4A6Gn zxpZk9^gb7E=&~#jLbyqcF^vP3fdDRA5!VrVCfI1Tc=)q)*YSVx18S>k3Qc&d!2kdN M07*qoM6N<$f@J7ptN;K2 diff --git a/chrome/toolbar/cut.png b/chrome/toolbar/cut.png deleted file mode 100644 index 9f4b388d8c8508de0a5a2ce76d599f8224815e87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`)t)YnAr}5;CkF~OC~&wuY?wEV zS<2+ngk1){@>ltzPA4BssrqSf;{7kXy4l~uZ|!GHyDT%SHeO$Lv6#<`+Qa`8OQ(E1 zwNkHGAojrFwuWm_;)0hvq!zAY+R(V?58oDsXDtt(TsgYcIlp1bP0l+XkK&A&=R diff --git a/chrome/toolbar/downloads.png b/chrome/toolbar/downloads.png deleted file mode 100644 index a830ddd25bb34b62d45414723b863bcbb6a1bd68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmV-k0iphhP))43D7FiU%Ok=y(F9M#5W2bTn!Yp`q01N!*>u*}a@|-LsncH+H`H zXJ!?6eNhyhTw|=NO1Yk&G+n}E+qPkvCcroh1DK`>bzRecrU||*i-H;>2P$D0o_U@_ z5Co!#<2a<}c_zp^fWt5n!1sNTfJv5RVGA&hBOJ%^CxAl;z%0SGZP*HdFxm4wNYj)6 z|II>Sc2B(AG!3|}E2`_d4qexM0C+pX0Sbg*)HDs&bp^vPpzr&~>eoREd#bA5*7(i3 z*n-Ti*_LkbEX#h^C<{oEgsv7vaZ8bUZRjA5jtQ`??vjOMlXuChfd$UZ>A# zn&w3otFCKQInPoDfTAdjh;>~l2m&*p>$)3KmgOJN3ShEe1<3PU$ry%#tN3bLItQNT32_ufbQ}k{uKNcu{sMPqF_hec$Q2E<(7p0EpYRr7X*YZSKrsoMRq{rWEB*Iz{(oS!kYT>4W$V>6EgK zYQ#H95+O$M@4}PDaU|Ru0XzfjJO>8hNz*iaXP^oYJ1~U{cUlLkx#(bTEbFWaLq{8Z P00000NkvXXu0mjf4y}Tq diff --git a/chrome/toolbar/find.png b/chrome/toolbar/find.png deleted file mode 100644 index b61ebb8a5157ea194a250656cf06d50a8cef73b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432 zcmV;h0Z;ykP)?RKN*^GWynorj z01%6?X&QRHUMw6Ahcul|x%qClqp~b1Q*X8tnzsCcl^?FU0 z%SG8>fCw>3TO0%djYcEBKA+FD-EJ8YMUf7e&*xke$1!=H$IoH4T9IX0N{j=x<2cT5 z!1a2iJkROzcqjlmOY{P82^->7UL5#`g|_%`IIxBP;0=DQ5lQSDgq-UzV#1z@)F4a0000=t2S@C$zPmpK91!bVa7(8A5T-G@yGywo`Gfu$( diff --git a/chrome/toolbar/fullscreen.png b/chrome/toolbar/fullscreen.png deleted file mode 100644 index 46dd9c0548c2e61d71bebe5c5299b95c51b77886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`yF6VSLoEE0bF#C4pLbAOv1(OP z0*j=8oZPt&KRzZ;>MblNXpkuQ{LFWfskeuRK}lJe6OV?LmeS1z?eKL5GiJ<~kmit+ zqjO`?)z#s~b1aM7N|+sHSz1^eXq%AA;9=~e+{XCz>(`3Ij3NmNzE)ON38fN=3`Peo zU!I)!@6XQ&-l!b~iii8& zo+fXLU1oQF-~3s2ME@9`=iQgf5v~!{NXV zLg;ilv3c}0mBNFA`8WR67qh#>T(`|=44zQ%{f;A<37I|1njNaxxNF&w`@00000 LNkvXXu0mjf7Sy=W diff --git a/chrome/toolbar/home.png b/chrome/toolbar/home.png deleted file mode 100644 index ad99d311f6425f49228c4248035b3e158a894f52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmV-M0lEH(P)`##4Zj^kJ~Ja;q?YaB;1P4hTL*w_PbuBwU!mjQSk zev>3&JHs%r@5_L`@3~X}48!0GE?bZW%IvXsT}M$AQCXI%CvSVO-13j|!`gmGKL|Ie Y5B>+l5x}hm1^@s607*qoM6N<$f;o_iVE_OC diff --git a/chrome/toolbar/hover/back.png b/chrome/toolbar/hover/back.png deleted file mode 100644 index 6af7669795b2d6f34416705a6384770ce5f0ca2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar}5yCmj?#puoYhQLXCI ztS#!kfWla$6J?_1fCuh#~Wm4U7^=8^svr zFSow-@?A&No~oHa3|Uo|UP^KrTPvM@{i{&7VTF~8#NE`;XOpB{cJG*SvUTI$azmc> lzx_{m*ZktZUqE~_;_P@nfj$MAuW9cApj#+ryRui ztYTvZ779Rvinv4vfO5d-oLxd(6tT6yse_F$Wf!ysojQQcqs&hJa=%F-f!o2G0S15>&QX{FMsWtOh46P&C9#PyBK>&p70wKN8q1^`^Ugq#32X6?=p%6Z&!3h4k`Y*EGG*VqWw$cS2N4Pb%ID?A8E z@2sMw{97Xx@Af+4vbIyT<1y03G z`tm+h00vLRjZ;V&^a}7hgjWY3$Avd^R>3KNvX(cO49M=ZNLm}FZ~?ge^#h6bYzlJ5 ROrQV&002ovPDHLkV1mI{XB`!QrQiQg;RnYo>pZ#eQLjV{60EXMFB<*;yeD%o#_l3`--jL}_JD@IKers>@x6SuM X+)Dg`_A_|8`njxgN@xNAUDZQw diff --git a/chrome/toolbar/hover/downloads.png b/chrome/toolbar/hover/downloads.png deleted file mode 100644 index 894e3ac72621925c1a9bbc3a276994d34dfedde6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 316 zcmV-C0mJ@@P)C{5}l!kNc7u4N+P8J6ak6-{B09MW$;X??qv-V znf83PS0i<1hF8D=tH+90!J7g}1ukdV*Z0`5OKF~orl|?Y#U7jtIRYeXhA4ml&>?~4 z5i#D7eOX%9^#qV13J4F_yy53^WN~K46rZsG&Z}X_Q4-^Tyji4|=vXLj3R*x-rzp@* zfM_uT3Wv##+>{0=rTf=cJQgWBi(>;{HUB|x$k6k1Dvb9{`q^~ zab1t{t2@%raj8H6Req~oQV~cuU>KI|mdb7Q_}jVxXU*&a6z5$VTi_Sz=yz@@g1L$S O0000$b5WSd!?>23 zG?b=kG>3JF`wpI@)Xjq5Nn$0WYg{K5+=B0bl^Hx4WN%)R{E_@|5Gymd%6yWA03qSK z6Qs4WcFQFnA(-HzcBj}q0<0rksCQFgo0S26d^DA1Nm9yn>|P8^IxPY2e;mgsr2uEy zL_*YYw$Y7v=Xq|ye$0FGx3bQ*4k86!Fb8&^uz~~&7HtN&o-= diff --git a/chrome/toolbar/hover/find.png b/chrome/toolbar/hover/find.png deleted file mode 100644 index 21b0026a7ff26b81bfa4ec9d68da408604d7a471..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmV;b0agBqP){o-DVD>L!eGqN++r{by-jn2+yjM)h`$qa56S=$d++Hgs*O-YA`Uzd2P*&>$~t}6 zi^GV?Dq2mmaM9Ox1DOFahRP5(unx-<{u5^d$qL&D>qKYhXiCnw0RSttiarChD=(#)#dTfN%loH}O=C~aIh32joB@8bWt?7C{e?u_b)ELVPA7$KAxjR1 z0q}NCU#&&8-rVl=@%EF%;#zkmP`IA)APc1kN`NGc9cV+V07mL_RRw^_uNi1)QifeW zo~oa;1gT%L&B2I+LDSOJ^Pd9nF{Ft}QjIMfFg;$I3=r`XJt?99WEaaWR5If5!@arU z6N^9{;A?^G4@lYu5xN`he$zT#op+GK6NY)a)3{m&B%);OMk?hmKwi5b+e`=hz^#?!f6#<7W6T2vAFVYo z0@ihf5JER2r96QcV|SPW`@WxmQmPv`jst`ceZYjbveA~`*|~n892>D9LjZ*-==0Gp z0OItc4-8xmbIwcMr3VDe_q^i2JAPx3Qu-`j0BbGOrtvQR17KN}Y9r~=G(Q1f^KFfy l3bb}^f#oXag5lqp@Fxt1l>wMoo;m;k002ovPDHLkV1k#vU}XRR diff --git a/chrome/toolbar/hover/history.png b/chrome/toolbar/hover/history.png deleted file mode 100644 index 08084d4badd5e75bf869fbfe7db36a0ba8e76113..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmV;X0a^ZuP)Kmw5XO&$xw;0i{R5Q~Gj*+MLbCLaXb1@86u22sNCbpb&Q7p|WU9D{A|~smHZ@mC z!uTFL_8zc_ohbCU?|0w31C9O>iA{}@k_M^x8AcEU%~am^eGOteIns7}PkEke3V?-{ zWszYRRHYi-*vFPt30~?r#NwhTsIKcD0K_ch?lNE~MokZ3ah7G|d0yYK168BW+&}?z zLZUDXTgc{D+wyD#K(*eT^{>vRY4#PEg8)p~MpaoZD2gINA%wS=@5*xA{c8u{tZW_P z)#}uqKOJopLJsK&kA0HG;yPPXc|OqT;Z6ZPeOw7=0x*B`+x;e@pj%fW?6Y`wT8n2( zSEqP)E$({&{xGC!X9x~DLVU5*=_Rh|yf}~yVJpfSH*=o=K-hM7WdIA{01@wMa`(FW zChEH0pc`8qP3~KWJd1I!d<%de3DEOrAQ+er2ZRV%=iKDi$e^JMS;)`60LfC_NIuOU Qp#T5?07*qoM6N<$f~=pp761SM diff --git a/chrome/toolbar/hover/home.png b/chrome/toolbar/hover/home.png deleted file mode 100644 index 62f1542a86ccdb53fd05c87d1bb950cf3a484e6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 298 zcmV+_0oDGAP)m-{ z_Z&c=-A)jnMFj*KhlsbJ^aPN=fI*0@ae=@}O>cz`Z=(bSh+hb{aMvM;OKZJILP~Ii z^E_uk-}gJoT(^A+F*wUw7{}+CWEEV&DT#D}+e0}^*a97QNk`IH+E~|hsH%$332N-z zZR$IAZ5ReV_rBnIe6&#n@?!gXz;+HoaJyPW1=|RW!7q<9fWiD0LBTv|6x@oSEX%nz w2sRoD5}<)Wf z|3vF{MZ4AHIh_YC7R}1M5_44Q-v1hh89FQp|IRshG^C2N^d`UXV6cC9fVoZJhNZcV zze_^TPhp0@N2|1sS!`=!GB|$r&?~kpr??*Y=KQ$r^_gqyr_Uj;mPju+wIhwaRmE=? z!_xnytl7DrCtkW7A{nE2>d6u9(_FqU-41i6x`r|HZkw!xN21)_+(UuppbWU&WpZ9EgL=B4)rlu|%!$+D%= z`~V=Jpre=SV*HYrzd~|w4B4;iGZ&}K#!sW~dzk0BmPUX$ zXw4u29<_UML6jbr)*2!}rrV0@K%d=7EkE}J$imZ8F0g5upzFFOygInd=4=1RU;kyl bgeCt5*>ST5JitF3_};EqNj>jfelhnG5`Z)19r#?R7pB!phbd)RD}DI4;wonC~nS{{NMk+ zgMj{AflptS<+Q~uiUL{(z~UrHD2gI4qiGsaN{QAB$n%`y%fSKE*B6ChXc=38z3$Ev z7y$R!<6euqnJkb5Tkfpl`13uQ8z>ckU%IYsO);LJW9tij-(x!r18UcG5}CX2B-rE5 zB%MI-tpx1O&e~PoFmJ5K`GIPt;1>vBE#}Lo;{v!p7l1JaOkwl0H3ZmZSw>Y=p@({m z(>RXwsex_VLYSthB?iHu?@1y$@87tN{O$Y(l@W#w(^sxC00000NkvXXu0mjfr&fVc diff --git a/chrome/toolbar/hover/refresh.png b/chrome/toolbar/hover/refresh.png deleted file mode 100644 index b03802f1523a642d2736f91300f279e420980f52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI?KP)LxsP<|y@p-vEbR0E+F96{&cmdOo!3aOm0_8I!Jn{BV#5rukH@znpuf7V zR~osmsw%PHVS>ZDciw&6Pa!zzP?ApV$*Hm%+`lrHH-3?Rz8FR2MsBt?{-t&faL#afLLUyjv zu{)3F7O(iNt}n=F%+Dgg9Tc*Iry}?M5&g@&KaL(aZ)TByY1NF)#^1!(W$rIpuytRq pGslYG*Q8Qg|13~GrO~j?is4OW3A2xEWgpN*44$rjF6*2UngAJ;NJ9Vs diff --git a/chrome/toolbar/hover/stop.png b/chrome/toolbar/hover/stop.png deleted file mode 100644 index 34f02b26800edac51e661a08f7bac90d845c9dfe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`=RI8obh!)C$~ako+As zrChdzV}(o4)Aq*vhRq9Zc|=+Fm^WQYVHOOyx-#j>(KSlCS4C^&4(Z44u2)*{%!5_9 z<*Misp-US+%yN)2z8Tl4W25}T`(Q8o-rvu@K4ZKx|6TclppMR2%vML$kDG_b7db?p z7FSuEHr+3obJ9{nuU<=gG0`)DB@+8ub)_H9@T=VKBN%vKQ|xp77bUse8ilh$p MboFyt=akR{09_z!f&c&j diff --git a/chrome/toolbar/large/back.png b/chrome/toolbar/large/back.png deleted file mode 100644 index 5d691bb694c01cea8a1788bd6e3ff24ddfd75e9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmV<90382`P)^Fj90X>JAtA&$cw;FgQc9hHEd~i-xi?H#zmlKbv{;Ohq?FT`dhcln_SjC~ zLkMH=3uKI^wXT==U{%wRd$j3bK^(iY9KI}z?<}wW#M|@j dL%)l&gC8#2OcjBjq-y{G002ovPDHLkV1n~fUf=)# diff --git a/chrome/toolbar/large/bookmarks.png b/chrome/toolbar/large/bookmarks.png deleted file mode 100644 index c11c2b628ed2e50cc31af9a5bc208cea892230ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmV-H0lxl;P)8re4lq`)~sYBG9!(@c)YtoVm=zJ%d!x-ZQBiA*OiWoq6nhNQ<<^-J=5Qaw)D$s%&G$0UZK_KxcfJ_s*(1S8W0x`**f8Xs|YwgZmaua&9pKpHiR?xQX zix|~3O~7cQ0KmGgoxNSx(E&t{7s>`ENkVZPd!cL~rkJM53%vk824eg)O*xSvic1WS zhRE%gY@LQCaN9Ozy(|k2!$4-XY(oj|Nbj#UmD9tb;3Lsmp z>nb+DYY1T9_s%b#Wf@t4`YHL90fb!`hBxRu&+6HK4Rtl$N`HPa#4edNj-yx!j9e6j zGsCK?&J2%E>-BZqLR6Ne0zH|@24(p4YFuj)_^qLp2_V*iTP#Ccwyqb5#db8XehudN YH~KH*3G{M8pa1{>07*qoM6N<$f`$u)g8%>k diff --git a/chrome/toolbar/large/cut.png b/chrome/toolbar/large/cut.png deleted file mode 100644 index 7d1a9d0aa50f42e459d33960d8dcf635d4ec4eb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvIrP)%mD+y0BnL}2OJuSWdt7SAw8uuP0z!X-1GJ3r%~X1!!TTZ z-{W89#_Tid@O*1uy4L|kS(ZUnRZ+mM>p&@uFq{t%MdLW)%`6lz=5(L5P+XQJ6h#pP zavCo%R^iec$0cPgs`4)Q!^5^BmT7)ok~PdY8kq zL7;70sO#FKN`r03(=>fG>H}<=29hMv#lL}<3k=0S9ix<{X)>j<9Y}F*1g?3WHE`QD m-`oY`+}P;#{(L?S8~*{!GSw9xFdQ-f0000& zg-7~0)Af4&_3nRNEmCYYo0aMu-1Pp8v~eQBCXV6|4>ZZ}Jex}Fjk1OcxVMIm7T?e}}ubGzMghAI&8fU8i;^SlzJ z!H`iU0gr%^P=_)Q8)4WCSmonPp`9>e4Y5H$qbOpnCX)$s&~4kcDM^xA zLr}J^ohV(_-)J;AXfPOXY@X+DVFIK=RUK=B3aEPer~CJ=(?*w79I#rgYNh(V|FYj0 z2-ti+uSvIFuWNH0@NeMb@nA@^+0^?&tyYVSfO@GqsmhG*_dB)QZF8Vrt_nqFUjcFP zJDm=*@U-C@BMgrT%&24pil#tA9riWwr3;z^S{i5gyZ7an(+~LpqJaS&tj*4100000 LNkvXXu0mjfF0$2W diff --git a/chrome/toolbar/large/email.png b/chrome/toolbar/large/email.png deleted file mode 100644 index bcf72ade19626823aa2bde08fbc3eb1d3c4aeed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 509 zcmV1Pj5|(kfU>S_|<7tQ9Q9Mhi;|%is%GrS}1Rf*^>MVq+nA1-04T z|F~zEB%9#sfW(=c`Q|^jNo+VAe$ktw+wEd!Oy3>@u+!=M8|k_(mCNPNf%p5J5{U%8 z1Z=fhp-RW&F`Z5)^?tM2e5Me}@RRWpFiN3-3WWmytyZhAEA*=o*km#xNnkRWl;!X& zM=69dfgzUX^O=gpVtAJI_`ph^>&is^e!r)9JRX3mI>f2HUN4YkzcLs=-Q)3~)oMlQ zbeb&7qTB7pu6uxfnyySr2FfsYyB$B5%OyYC?KVRh*lad=(XUX{MZt2p9BsE-Ivfr( z7z~~Y8;wT5)#-G~Nf?brRIAlEUT{;CEfx#P=kp3CWyC;CFl^gaV8bw|-|zDr&{C-C!Lq!ktLa=Ca^&gXMgCNQ4OW}f%Q9%46Dy(vxLs6R4PxGP19s!y;lK& z%L4P?NK%XNs$Q@2e%wAt^`H0Q&q3T?P^QE5L!}lGZxzEpHhveN9BxS*v8=bG)S~Qn z9EWh>diqd@>&Z%`Qgppu!_HRg9K#5!w>}Nui;X>Fj79qD00000NkvXXu0mjfa%uD% diff --git a/chrome/toolbar/large/find.png b/chrome/toolbar/large/find.png deleted file mode 100644 index 0ee29847970e1b6e9bf5cd1b1fc4917e07813531..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 524 zcmV+n0`vWeP)mkC6T#+j7W(DA|eN{0wIA+Q3zFW0MFm`x@%@< zhE8_3yXV_~x_c&~fDMPkcPQ5H_oGnE2?(g$?dqEA^{Vgl`CQ+9U<(MCfB-oh4wjJp zeox2ak?Qq2tyU`XfD_wcBk54h93O%L05ppH!>WSfvBRFeBl7K5Lf&g_%H^Q7HTh zM3=>~PylneoW=zPhgTs2(rLh?A+mMUuv{)H5XxYPqcNzrc?6xoHi3Ab&1TeWHmy1e ztkr7C{2`TD)>(!lJFqw{P?ELXZbuj&vmqAnf5E$2t?F8Hc*Tjay5H|QPFbk$qU4Je zwecBX%jJ?oyFS$5DWjim(TJxDDbddFyiPg zNa8L_WN=FsWOKAz%r>>j^hmSq<>~(xW)!VBDfgF$M=|An?RM?J)6yLqH&-TIkZ`^h zB_`T@&eBVB;|op~@5RPU9S<%@?@<4ekP!7+?H0?#4<<=HA!hYwLhcwDZIn17nw^_v zaoFg&XinnY>ZGW141%SzzeZoYIpv7xlMUgbc~{T;)LgOQ``ddV7JJlQ^6Y09@2GYY U%{1Dw1n6D{Pgg&ebxsLQ06O(m4*&oF diff --git a/chrome/toolbar/large/fullscreen.png b/chrome/toolbar/large/fullscreen.png deleted file mode 100644 index 9638e571416e3b328658d723472dbb55e72edb09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276 zcmV+v0qg#WP) zAr6Bu6b9gj;|LrAS%s=1sllSS0J0K;Yl7(=s<{dhNVow^>lNNW275EMZoir@!$+$l5c zHru`@-iUU)JA3xt>F(y}A7V0@yhfu@4k&)41rl9jG8tpY84LzA9*=1@o8_E90X3UV zDwoUD>-A{0S~2^2z0z*C({%uAwOX{_?^&P)OoC*V2{fSzm<i7F%(_A;UEQQVbL4Sb73X|%xY`T6RlxLN$l>csz@k{T)#LH77BaSsUNUL-A%lY;aQ;;nNJM2`u| z!~m`9ssQ8q{7=2g@QT%SO^`&#akSgA2@AteHBECv|IYlmC{Gv{>j5=`pD>{NzUy<8 z+n23Fx-G_;a&b&3wE+5z7oh++Ga1NC#&H~K7zWdsI>?Z^9$|~|dPc>=2&66hzHgP; z^=%R;SsF~!^y4mhlmk1ptW5F*naMW%3G?7%Ev+ zl|lyqTb6~Y`V|Na0T3+&tnYjJ{=EhnV-VE`HcgW%iozbeHZwrHy9i(ifL+(!ihZl{ jxk5L$sWmL;sAGNsJ%CRnl68+Q00000NkvXXu0mjfV5g?G diff --git a/chrome/toolbar/large/hover/back.png b/chrome/toolbar/large/hover/back.png deleted file mode 100644 index b370ed4956c68e0192f231e89bfc2b5961966eaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmV<0044v4P)cv$1p-Ao U6{t7arvLx|07*qoM6N<$g8WEYYybcN diff --git a/chrome/toolbar/large/hover/bookmarks.png b/chrome/toolbar/large/hover/bookmarks.png deleted file mode 100644 index 01b2b1e8a25fe1c77cc3404131caf7fd62aaf940..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmV-M0lEH(P)ZrRorC+fdpbS+w2V4e7yaGu(8p`JS4!T z!C1PW>(ba#TmTBpTpqygHi@+s(7KiL#f)5lhuP~9PzJF4bLN?e)-mf)s-?NMzFZbK zpfRj!10!l9Ag4K;p4i_H6A#sM8FckZS7$CsP&f?dB8*63?C1L-Af@=e94L**6_Oqu zDED4!43o2}LZ7Ck)(?41`HdQiBa#4|g?S0a(LXiZw_n*5DDC$U_pCTV6DB>z*&|B2Fes5 z&=@1uuIs8i5No>74si2~w?ZH`1qeJ5$^auMp3MW#01UJav;cxeP(1c^j#!3P6pGm^ z(={b(%Ue<5NLaPE8IXJ{gJ>&!){wVD3iYSN9^V)iK=lJdOLNF4OKIoH$L~!!H{IQ| z*5zQ=DU*k_!rBH@?3_~%V6LQ0x%3y6k-}VQ1@xZi)Enn8Dnzen$lDQJej6|fQ|J73 zv=oU7=Xrj#-uL}Kg`U)0Uq1c&{ibfbmzZ|&kb7GBIDt;1(W<|WDS6lj#v!gfV?C6B jEpMe|AzqpDwzt!M9}~(66#E()00000NkvXXu0mjfo&Sz0 diff --git a/chrome/toolbar/large/hover/cut.png b/chrome/toolbar/large/hover/cut.png deleted file mode 100644 index 9de73c6cf3b6c6727c614e121516459a06fe1dcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329 zcmV-P0k-~$P)AB4xlr5JF$jqczq%l1PbJciNU^neY8bI$=bHRydYV-vTt bq!Hs^%X`KZ=gAf@00000NkvXXu0mjfjf#yd diff --git a/chrome/toolbar/large/hover/downloads.png b/chrome/toolbar/large/hover/downloads.png deleted file mode 100644 index 153dd84005c685dce58fdd8ccedcd806cb74e8a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmV;V0bBlwP)L$nL zckkbU?}Wy0UCSy{+GX2QKO`uncv05{81!AkA}EDEe9X>Pgr>2dpTBdZs}5@nV2i71 zF0N%YkYK~`l^HkBZ8oL={{}YA%#iziIF+Ss+q##eOtmCI8SagRyvnEPD%})H%3cCC zpGY^{0e+3BAMU&CAu~OP=YyKhM3wAe0b|fBz`uf$m(^7cu!}2~hxq}k;=T^Q#zmX} O0000*c4*!x>WYBlK{=XJGlEeYEgGIqZxF|^v__(|0$I zj^d^v0`okFG)=)YO}Rl?me+SQvn(NxqU*X{$oO&kWLYLdMp#i4*B%_^b;Uz_T93C6 z(==`NJ`BSU9LJf!e)p&fmB9HEi&f?q42|-r-ZXUMs3V%x~`Y@9etNM fT$;I*iY@XFHtqz^XX<`!00000NkvXXu0mjfLVdf? diff --git a/chrome/toolbar/large/hover/find.png b/chrome/toolbar/large/hover/find.png deleted file mode 100644 index def6fb113ac8852e46d481dad2eb437d998b6d59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 527 zcmV+q0`UEbP)t@A@llAm`m<8t2uN4}T^dLs*2DO* zmDn4;^HPk>38W=rw2J^ENFn^y)hIHmvxa|HNvHz*Fs=(rnpe{SI<}!1P=2L?A0z~& z4bV9;nC5vD+9Q}M9k4Q!J6Dz>OGIZZpm5SWam?dF_mu^O2n1U?l`W75(I_`S0Wt(@ zJu2DM^(dFu`O(*E3aGhL55L#L1h7|Gtyc2%^43CszCUHR+adSt$)UnB(ZB|d0QOGJs`{BvN6ox(u7Z_5LUkj7iX*v|@`TCJEqad&kLL|Am&>*i8#m zWlhizfkC0qqiBb*?H+ce6gug4Y-HCA$tw}9`m?zXZV3;(Web`{8G@5JcTX%JsytG zcO|lI642B`*-+B&Yp>@tFS$5DWjilWz+iRp4;hs1`hV zrDydfwZmye&z~_08Tr{AGOvzF;5FHCC_%24MJ5)S-G5n{Qg?Gr{CQ5b*i&~B z&)i{J!0`H+XW`8-1-?zv#rI!#@p4P6JGR;u?bs>#Irzbb?{DW>m@q%M`|$Sx){;fG VqTD7s?*QG);OXk;vd$@?2>{zORm=bY diff --git a/chrome/toolbar/large/hover/fullscreen.png b/chrome/toolbar/large/hover/fullscreen.png deleted file mode 100644 index 76ea0648c665efc4ba19d8134b2842e28ba545e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE zC|lJe*U&2cLNda`$ETW2_D1eIo@eYr*K>FI2*Y++}_5$Vyhq9+N}Z8Qk718E1vM##PxnU17~uM+vbKA!IW+# zS(O}fyZk%1CGSmkH)Wsbe7#hmrQ%9G%hAlJ?TMeO9zNJxuX)F#f+IVa^^qZunJ=^9 z_d;JGpC9bzvp-*!3=0*#np(xuzopr0H9N1SpWb4 diff --git a/chrome/toolbar/large/hover/history.png b/chrome/toolbar/large/hover/history.png deleted file mode 100644 index 9e8ba111581a0b77057ff03f019aec5d5e7b6d8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 487 zcmVJrp z*@W$X?Q?zZC@*3sIC|In_5WO79Qud0oX~L^kpoKooNGZ49INJh-`DGaO_n=d4Gd!j2n>l< zs}*^kCo0W>yq(7kkTH~phLUphcI*T+Q=`%2Chj8#iFPZBcFCqxt%Ykidq3$R-kUx-uoOZg)?NrfJ()EDzS- z_v(TIjEs{d#%QT{aweU_b?-gaZ2>zDEqs^uKDV@u6x8H^{^ChyVx$2 z$8$D>W5)2`_}T!)ATI_~)sToG^eC0jtNeUP`0Xc9=VFh!A(0JT1bLESJEcry&t3dt dSJr!F@D~86C1w@1ai9PI002ovPDHLkV1k;?-TD9k diff --git a/chrome/toolbar/large/hover/home.png b/chrome/toolbar/large/hover/home.png deleted file mode 100644 index c23095f84f7c2b3a0e8332d8c8589a8921d60f69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370 zcmV-&0ge8NP)3dR29+!s!8Z!LD-2)@$ou#^FP0xw`1*Vwha3L_`t)P6x z`EDf4v0)fUYrR3kRj`CrRYl`C?$Bk=kBf4I#bO98FfDWXWCEg{EmfE;Gjps8}o5w(a4b9buS{ zm5){tj0Jf8{%rn)4+xs3NeXj0VS2N(mT)lOm6PT0Yll}bP5d!ois2z7G-e6u8D#hS zga8@ikM!vG3HjIp=K1T^9-?jX;hmOq5EuqP^lCnE5^buSHuvuC>l4y3fB2a^Btfui QIsgCw07*qoM6N<$g3?;3L;wH) diff --git a/chrome/toolbar/large/hover/new.png b/chrome/toolbar/large/hover/new.png deleted file mode 100644 index 0b6cb9b24d3c17ed40046cc64e6955d0bcd21bed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqEF}j!Myt&r0aLw zFiXp?m#UZA5&cqjw|v_)y^qTqLbt?EOzsKRy;7Z>9--^%F+Fbfxu98Xebw89(l5V0 f)z7@UejlSvbdjL>p$8#Amos>}`njxgN@xNAp)Xpz diff --git a/chrome/toolbar/large/hover/paste.png b/chrome/toolbar/large/hover/paste.png deleted file mode 100644 index ae59cfa206beb1ad30dcbae07f794c31ea9afaaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 378 zcmV-=0fqjFP)N&f?3%n~z1oKZh#ub_-{| zjtDR~DC)0TFEBfYkK`h{Wh3?4B}xm$W1FD^RJfsYSu%1CUb80?Cfnnp{cR`EOop2DZSOfvvD6 zUZP98^8|BKnLq8hbiSv%0mWQ z9Om8RE(eFQN8&trpbd=U2-~(@-K*%Z1midrtEr;k Y7kC=!6+#>E9{>OV07*qoM6N<$f*<&wd;kCd diff --git a/chrome/toolbar/large/hover/print.png b/chrome/toolbar/large/hover/print.png deleted file mode 100644 index c4d30defc0be72a0cf99c459be756192fc21832a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmV-r0h<1aP)d(!a;^le%SUO&oWyEp<0gIwY1wk;$tg1?Btu1R5$YJ4O;{=w+yYhWsh&h32n$A`` zv>Pp1*o6~z<)@t!xYCYS;)#;EogY@tl5b@|+4cRYPd~$Sjq?X^i5(yY$YHkRHS3LQ zbC@**j9ayBYrpBb&R#c7BO<`sGZ0?7_pKez&WuDEx(too&W`a=Lw)G zcL>v0+FG`qw`T!_*{i*QE*LuQcM^EIyn%S1B#A1Df+iWuX7L|IXufU$L*qc?Kr;=? zvFuD{9EkjeFjBP;UB$)_5TyEj00000NkvXXu0mjf Dt>&D< diff --git a/chrome/toolbar/large/hover/refresh.png b/chrome/toolbar/large/hover/refresh.png deleted file mode 100644 index ab4114f277c8be01e95b7fd1d7550aea922aa936..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327 zcmV-N0l5B&P)|3_zWU+=p!4xdvO=7#KMKYz%C$ahPsp;~L#zqA`^tHxNkFMo37=Jf1&Tz@Lvm zUR70VD7P%j?OppAU{Ms8%qSXQSyE`41~d@kcTjI2!SG(!FF*k)a(wOsg{?9yqjpacCl#$hwwOWLwi(?%!3TM5!UdL&YzL7%!3Vi zLqx9|r7x;&u;J0zkSS&Gli^WgPUq0o2wp=Q8f@tL2t9WiCP{L+4_yJfKSc)yZ*14H ZegpH!J0zz1H>v;t002ovPDHLkV1n^ugr)!h diff --git a/chrome/toolbar/large/hover/sidebar.png b/chrome/toolbar/large/hover/sidebar.png deleted file mode 100644 index 69a1ed7d2782122c9901fcbec8a287fe2b4a1dd2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqEFVdQ&MBb@ E0H7XG^8f$< diff --git a/chrome/toolbar/large/hover/stop.png b/chrome/toolbar/large/hover/stop.png deleted file mode 100644 index a0fd6ca8255f29dea68d85bab99559e691613762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmV-X0j~auP)9m$b};;d!r|}~YD@-aAuuzxNtb;We(k}z?vV@Q{ zsrVe2b<3Jr%IHpCVFf%>xK|I;wrVJVS8CV?g69Ud(v<#r99bPM_%Bmq<0DCSp_%Dt z)ae$Djjz-p^aMz05=^RNAgN4Hb;j)dCXIIT*%iQidHWV&?M7m2m>D4nsRzd8ZlDTnuxIS+$nBoNl;R zz2*IH;|EvOH2yGU|4;o|)f9U>=Pdsler88ek>`6f)^NY!XMBBn`!va9XU&$qYa5qq w)_e5-JKT22+v#^{oa>)Sb$vDV8!A8Xis?-dlx6s!4DmdKI;Vst00S0YegFUf diff --git a/chrome/toolbar/large/paste.png b/chrome/toolbar/large/paste.png deleted file mode 100644 index 5ffefb77a08a1c87ded60c34f3bd5cc76503003f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 399 zcmV;A0dW3_P)38VE^=NFgWTCqW1aL82 z!Y~XG*7rRriURlZJSX!!lT#t-x{lXElQS+*4qVrjlx2x9ShJX>36}tb5TPG|rfEJp zBBt^d==(l`48!2SZQF2t90%WnS&E?rs$e2ehC%KTkSY5FdjwR$hGEdoRrV&Hauh}Q zlWJ}N6m2Ea>$=8M7p=pAGK|d(?4kogj#9MZ`vVF+&*P2RsmeewJPYtDM3N-rye*<= zdI8EXsMINhJiDH@ZKFU0T9$P?cm@;|%Edtt5DxrJDqk1Koeghi$iSdd2Hq-UkH>!% tYJra9XuSx@#|qEd+i@tmybbit_yMYJ-WA`7Y_$LY002ovPDHLkV1mDmr^)~T diff --git a/chrome/toolbar/large/print.png b/chrome/toolbar/large/print.png deleted file mode 100644 index 16f6fa395ed01e7b01cd858cb3b9ff0f1cc933ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 350 zcmV-k0iphhP)X=Bt*}BL?;Y@p9Uv$MLFjEmzO&zWeB8_$0>-W8 zdA4(wWwHHfnnZ!H_qZX2uAkcR+|f!Vhdx8H+nQnWIF5#qrm3+cI8L4bQn*`K*L5OX zI*tT{*{6MhJ{SguVJLuo-&;d;vMf_=+nOR{+g!d;1oiU)7#as652n(vbmfk6#(@ZT w3p0v%`~oC1n?$zi)6m6fJG`-7IXnCJ2BICt5D7*N1poj507*qoM6N<$f_3AMfB*mh diff --git a/chrome/toolbar/large/refresh.png b/chrome/toolbar/large/refresh.png deleted file mode 100644 index 4af253991ecb4e41f1df0b6bedd9bdad59976785..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349 zcmV-j0iyniP)=N_d03> zrfEv!ILel|u6x@)V-NzP`@YkL}q%_buEU@^Ay)@+sFt^l7zxAB;WU` zsw%Nq$BaRgl;^oD5g=n~c19pDgbL!BcbQA&R(vg)L0+JKF2LHhrKV|QYd?Z2rb1oU zQBf2E`4gyPfB-JbLi0S^XUHHj(}OcL>LE(jn?DSLSgS){!8nd@cM_;I7)8;`A8@Jl vX5e<0gCH<9F7qzG-gAcaiT&p7;#~Lzr_T2k>flK=00000NkvXXu0mjf%|Vr1 diff --git a/chrome/toolbar/large/sidebar.png b/chrome/toolbar/large/sidebar.png deleted file mode 100644 index aba01c61322902441220833431699ef906376343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqEIA2PIJQe6+Wd}fL3@v|F+94vfu(Hvq&lD@89ZJ6 KT-G@yGywo&rc}59 diff --git a/chrome/toolbar/large/stop.png b/chrome/toolbar/large/stop.png deleted file mode 100644 index 7465d6ec6c454a3e6cf31d46ada1a14eac3f6361..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340 zcmV-a0jvIrP)_A-6(CfA4#bMk0J%&V_ug^*b9QHE5ZsN{KECtsOXB`q63grR z{$urZU1!dVIsoN)u6pabx*v$XXnxQ@7@#c67~Hn)tP|#!3l0qa00sz%1_9mo-Hqc& zpX{6!3zLboJy@2-&GXD?1X|0p4oIdqyc4FM(@>vuy=mC;0*#z(^P#FNQ6#02#E#YHSkl{wF*i|!!(fE&L3-4 mRVI8LfI8p&^8z+hbKVyr$nh1Khy`Z=0000 diff --git a/chrome/toolbar/new.png b/chrome/toolbar/new.png deleted file mode 100644 index 050658d3a2db5a8c457f2b9d24e61716ce9bf258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`D?D8sLoEE0Qx*sqY}>l^uln_# zRjahvHZVSX_>iYx-d^pd3_Ck}2cvoZJ(bAKEiEk0>FMf68cv<^n#5~S{Y|I2v-4zt zQNzTEf=6ekpPQq2mRo^&ncrM4GZky=*^L>@6LQ%kH{{+nYg-$={ZOp4f!Ksxw|=b& z-W_HPDVwKH7r()3z)-{)$acWw!I!4lv!xHVuy~oAU^~DpxMK2~Gc21#O^Y~pF$Xg; Yc-rMLTYvpA3+QGBPgg&ebxsLQ084#PJpcdz diff --git a/chrome/toolbar/paste.png b/chrome/toolbar/paste.png deleted file mode 100644 index 1e88a1f6568beaa7e26019ceba29fede32b0018d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQsxP)$+A2Q52EbaU6;jMM02p9L2V6 z6vIC^HvlYN*OdzAd8Y5OEF#Zy(RJNDK+4NiNq7t3uE%kxb>IaKkIsp&72-Ii+*v#f zgJB;3U>(B)0BoHB$g<3UR8>WO7=SPgzs5%33IOQGFG;rm0Pm~s4EIrt+rh#0rfDi( z??5#qKoA5fpc}@3vk}uYQ3!8^0Ius=%{ot@7h!4we1gW?=fbiqh39!zxSHTH`%YNF gy5|1r{h%ZL1e>6w40O*gzyJUM07*qoM6N<$f|&!6^#A|> diff --git a/chrome/toolbar/print.png b/chrome/toolbar/print.png deleted file mode 100644 index b4be5b3581e5c89e18920ed21f5264afca1bcf21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289 zcmV++0p9+JP)VU3`I@H6q$gM8K@8|utQ1)pkxPjU=${xpp67gIu2X1m5|(p=xE}g{P%xsDB#bh zi0Q|1yi(j@7)TocP~0>PR8C)}0&Hec!`8&(uR6<7KUdZw=h{ofuu$ nd14|s^qeH3i~fzz$iMa<$pwZDdeG`q00000NkvXXu0mjfBNcb= diff --git a/chrome/toolbar/refresh.png b/chrome/toolbar/refresh.png deleted file mode 100644 index ad471c99b0da43682c75feffee870936d2a2dc30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmV+^0oMMBP)Th(e;HdCzZ>5zoKnO(WUt_sws1m!hSL zqWIuzsw7F&eh)7|5QgC;KaL|+RYi*cdwwLZ1aTabQjDyUTR{*6l;=4ovn=a0y-@%P zl4+W#>pGU$w!Nk}6`=FJqA22}VHoZOfIZJ6$8ji4Q--oEqj{d63uJBxwy-e)t_zR| zFt>Cr%aSn0?FbM^0oGbGgnA_q7$5{q(@lWI!T{%RS1Y6nV8Th_` v=qhtR61c8=5L_)BUgEOx(eJzy@+6-ne_hGIl2!KNBJA?&hG7@%?;a=!_EcJioO3IF4PN zza;=#Ya4#wcN0QDzHnthFu=a=`NNbFzX?X z)(h#Plhpxx@0pvXiQn~}1kUqh7pj1S-~eK@|4BfrEE}mhSeB(68Mgm&0D-3-kbR2A zLH)nA?#uJjnwu!+;G0NY{Wb^3aTw>EIs*V<9o35fT#(48pfe*dg|x447vI8R7*w4L jym8I-yh!yrD+SFP$O_5}19xh000000NkvXXu0mjfQcrvE diff --git a/chrome/toolbar_large.png b/chrome/toolbar_large.png deleted file mode 100644 index 38c4694b706af940b2a00def458d3bea88e258dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4458 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 g)j|w1B6Rfv3A&rxlUq{9K6`_#%R diff --git a/chrome/userChrome.css b/chrome/userChrome.css index 9587fb8..bbf4008 100644 --- a/chrome/userChrome.css +++ b/chrome/userChrome.css @@ -1,4 +1,4 @@ -@import url("toolbar-label-under-icon.css"); +@import url("msfx/msfx.css"); :root { --toolbar-bgcolor: -moz-Dialog !important; @@ -17,14 +17,14 @@ ) !important; --toolbarbutton-border-radius: 2px !important; --toolbarbutton-icon-fill-opacity: 1 !important; - --panel-separator-color: ThreeDLightShadow !important; + --panel-separator-color: ThreeDShadow !important; --arrowpanel-background: -moz-field !important; --arrowpanel-color: -moz-FieldText !important; --arrowpanel-border-color: ThreeDShadow !important; --arrowpanel-dimmed: hsla(0, 0%, 80%, 0.35) !important; --arrowpanel-dimmed-further: hsla(0, 0%, 80%, 0.5) !important; --arrowpanel-dimmed-even-further: hsla(0, 0%, 80%, 0.8) !important; - --urlbar-separator-color: ThreeDLightShadow !important; + --urlbar-separator-color: ThreeDShadow !important; --chrome-content-separator-color: ThreeDShadow !important; --toolbarbutton-hover-transition-duration: 0 !important; --toolbarbutton-outer-padding: 2px !important; @@ -38,6 +38,7 @@ --tab-block-margin: 0px !important; --tab-min-height: 18px !important; --arrowpanel-border-radius: 0px !important; + --toolbar-size: -16px !important; /** MSFX CONFIGURATION **/ --hide-tab-close-button: none; /* none = hide | unset = show */ @@ -49,578 +50,14 @@ --show-alltabs-button: unset; /* none = hide | unset = show */ /* THIS BREAKS HIDING TABS WHEN THERES ONLY ONE!!! */ --show-status-bar: flex; /* none = hide | flex = show */ --lock-toolbars: none; /* none = hide | block = show */ - --navigator-toolbox-gap: 0px; /* 2px = Unlocked | 0px = Locked */ /* This variable is for the gap between the browser content and the Toolbars. */ --show-history-menu-item: none; /* none = hide | unset = show */ --selected-tab-font-weight: 600 !important; /* 600 = bold | 500 = normal */ --toolbar-tinting: luminosity !important; /* luminosity = tinted | normal = disabled */ --stop-reload-order: row-reverse; /* row-reverse = stop first, row = reload first */ } -menupopup, -panel { - --windows-panel-box-shadow: none !important; -} - -#urlbar-container { - --urlbar-container-height: 22px !important; -} - -#urlbar { - --urlbar-height: 22px !important; - --urlbar-toolbar-height: 22px !important; - color: WindowText !important; - padding-right: 16px !important; -} - -#urlbar-scheme { - color: WindowText !important; -} - -/* Add 3D Borders back to context menus. */ -menupopup { - appearance: none !important; - border: none !important; - padding: 2px !important; - box-shadow: inset -1px -1px 0 ThreeDDarkShadow, inset 1px 1px 0 ThreeDFace, - inset -2px -2px 0 ThreeDShadow, inset 2px 2px 0 ThreeDHighlight !important; -} - -/* Fix Menubar Selection. */ -#main-menubar > menu[_moz-menuactive="true"] { - color: inherit !important; -} - -#main-menubar > menu { - appearance: menuitem !important; - min-height: 19px !important; -} - -/* Status Bar */ - -#browser-bottombox { - margin-top: 2px; - height: 18px; - /*display: var(--show-status-bar); - gap: 2px; - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow;*/ -} - -#main-window:not([sizemode="maximized"]) #browser-bottombox::after { - content: ""; - display: inline-block; - width: 12px; - height: 12px; - appearance: resizer; - position: fixed; - right: 1px; - bottom: 1px; -} - -#status-text::before { - content: ""; - display: inline-block; - width: 16px; - height: 16px; - position: fixed; - left: 2px; - bottom: 1px; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg=="); -} -#status-text { - height: 18px; - padding-left: 16px; - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; -} - -#statuspanel-label { - background-color: unset !important; - border: 0 !important; - /*padding-top: unset !important; - padding-bottom: unset !important; - padding-left: 2px !important;*/ - padding-bottom: 4px !important; -} - -#statuspanel { - display: flex !important; - align-items: center !important; - margin-top: unset !important; - bottom: 1px !important; - left: 1px !important; - transition: none !important; - min-height: 16px !important; - position: fixed !important; - padding-top: 0 !important; - background-color: -moz-Dialog !important; -} - -#statuspanel-inner { - height: 100% !important; - display: flex; - align-items: center; -} - -/* I give up making comments. */ -#navigator-toolbox { - border-bottom: 0 !important; - appearance: groupbox !important; - margin-bottom: var(--navigator-toolbox-gap) !important; -} - -.browserStack, -#customization-container { - -moz-default-appearance: listbox !important; - -moz-appearance: listbox !important; -} - -.browser-toolbar:not(#TabsToolbar):not(#toolbar-menubar) { - border-top: 1px solid ThreeDShadow !important; - box-shadow: inset 0 1px 0 ThreeDHighlight !important; - padding-top: 1px !important; -} - -#PersonalToolbar { - padding-inline: 0 !important; -} - -.tabbrowser-tab { - appearance: tab !important; - padding: 0 5px !important; -} - -.tabbrowser-tab:not([pinned]) { - max-width: 176px !important; -} - -.tab-background { - display: none !important; -} - -.tab-close-button { - display: var(--hide-tab-close-button) !important; - padding: 0 !important; - width: 10px !important; - height: 10px !important; - transform: translate(-1px, -1px); - margin-inline-end: calc(var(--inline-tab-padding) + 2px) !important; - list-style-image: none !important; - background-color: -moz-DialogText !important; - mask-repeat: no-repeat !important; - mask-position: center center !important; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVBhXY2RgYPgPxCAAYiMDmDgYgDjIAnA+si4UHUCAbiIYoJtEvAnoOuF8kCqYBLqdQHEGBgAx7A/5GaSbcgAAAABJRU5ErkJggg==") !important; -} - -.tab-close-button[pinned] { - display: none !important; -} - -.tab-label { - line-height: unset !important; -} - -.tab-content { - display: flex !important; - align-items: center; -} - -.tab-close-button:hover { - background-color: WindowText; - opacity: 0.5 !important; -} - -#urlbar-background, -#searchbar { - border: 0 !important; - border-radius: 0 !important; - -moz-default-appearance: listbox !important; - -moz-appearance: listbox !important; - box-shadow: none !important; -} - -#urlbar[breakout][breakout-extend] #urlbar-background { - height: var(--urlbar-height) !important; -} - -#urlbar[breakout][breakout-extend] #favimginurlbar { - margin: 3px !important; -} - -#urlbar[breakout][breakout-extend] .urlbar-input-box::after { - display: none !important; -} - -#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) - > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[first-visible-unpinned-tab] { - margin-inline-start: 0 !important; -} - -#context-navigation { - display: flex; - flex-direction: column; - padding-bottom: 0 !important; -} - -#context-navigation::after { - content: ""; - display: block; - appearance: menuseparator; -} - -#context-sep-navigation { - display: none !important; -} - -#context-navigation > .menuitem-iconic { - list-style-image: none !important; - position: relative !important; - -moz-box-pack: unset !important; -} - -#context-navigation .menuitem-iconic::before { - display: block; - content: attr(aria-label); - margin-left: 18px; - padding-bottom: 0 !important; -} - -#context-sep-navigation { - margin-top: 0 !important; -} - -toolbarseparator { - border-left: 1px solid ThreeDShadow; - border-right: 1px solid ThreeDHighlight; - margin: 2px; -} - -toolbarpaletteitem[place="toolbar"][id^="wrapper-customizableui-special-spring"], -toolbarspring { - -moz-box-flex: 1000 !important; -} - -#activity_throbber { - background-color: #000; - border-left: 1px solid ThreeDHighlight; - box-shadow: -1px 0 0 ThreeDShadow; - height: 22px !important; - list-style-image: none !important; - background-repeat: no-repeat; - background-position: center center; - min-width: 39px !important; - min-height: 22px !important; - padding: 0 !important; - position: relative !important; - left: 1px; - background-image: url("data:image/bmp;base64,Qk0uCgAAAAAAADYAAAAoAAAAJgAAABYAAAABABgAAAAAAPgJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzAAAzMwAzMwAzAAAzMwAzAAAREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAADMzADMzM2YzM2YzM5lmZmZmM01NTWYzABEREQAzMxEREREREREREQAAMwAzMxEREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMAMzMzZjMzM2YzVVVVKSkpAAAAQkJCMzMzOTk5MzMzADMzADMzHBwcM2ZmADMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAREREzMwBmMzOZZjPMmWbMmWaZmWYcHBxmMzMREREAAAAAAAAAAAAAAAAAAAAzM2YAMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzAGYzM2ZmM5lmZpmZZsyZmZmZZikpKZlmM5lmM2YzMwBmMwCZzACZzAAAADNmZhEREQAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAKSkpmWYzmWZmmZlmzJmZmZlmAAAAmWYzzGYzZmYzADNmAMz/AJnMAAAAADMzERERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBw5OTlfX19mZjNCQkJCQkJCQkIcHBxmZjOZZjNmZjMAM2YAzP8AmcwAAAAzZmYAMzMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwcHDMzM0JCQmZmmWZmmZmZzGZmmSkpKTk5ORERETMAAAAzMwBmZgAzMwAAADNmZgAzMxEREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzNmM2aZZmaZZmbMmZnMZpnMERERM2bMMzPMADNmHBwcM2YzM2YzAAAAVVVVADMAADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAADMzM2ZmZsxmmcxmmcxmZswzAAAzZswAZswzM5kAZjNmmWYzmWYAAABmmWYzZjMcHBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMwAzZjMzmXd3d2ZmZmZmZnd3dyIiIjNmzDMz/wAzmTMzAGbMZjOZMwAAAF9fXwBmMxwcHAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzKSkpTU1NMzNmMzNmM2aZTU1NHBwcKSkpAAAzADMzADMzM2YzKSkpAAAAZplmMzMzADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAMzMAADMAMzMAADMzM2YAM2YzM2ZfX19CQkIcHBwAAAAREREpKSkzZmYzmTMzMzMAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMwAAAAAAMwAAAAAAAAAAMwAAMwAzZjMzZjNmZjNmZl9fXzOZZjNmMzNmMwAzAAAzMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzAAAzADMzIiIiADMzMzMAADMzADMAADMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAAAMwAAMwAREREAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="); -} - -#activity_throbber[busy] { - background-image: url("data:image/gif;base64,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"); -} - -#activity_throbber .toolbarbutton-icon { - display: none !important; -} - -#menubar-items { - -moz-box-pack: center !important; -} - -.tab-secondary-label { - display: none !important; -} - -#tabbrowser-tabs { - padding-left: 2px !important; -} - -:root:not([uidensity="compact"]) .tab-content[pinned] { - padding: 0 !important; -} - -#tabbrowser-tabs:not([secondarytext-unsupported]) .tab-label-container { - height: unset !important; - padding: 0 !important; - width: 100% !important; - margin-top: 1px !important; -} - -.tabbrowser-tab { - min-height: calc(var(--tab-min-height) - 3px) !important; - padding: 0 1px !important; - margin-top: 2px !important; -} - -.tabbrowser-tab[pinned="true"] { - padding: 0 4px !important; -} - -.tabbrowser-tab[visuallyselected="true"] { - position: unset !important; - font-weight: var(--selected-tab-font-weight) !important; -} - -.tabbrowser-tab:not([selected="true"]) { - min-height: calc(var(--tab-min-height) - 5px) !important; - margin-top: 4px !important; - margin-bottom: -1px !important; -} - -.tabbrowser-tab:not([pinned="true"]) .tab-icon-image { - display: var(--show-tab-icons) !important; -} - -.tabbrowser-tab .tab-icon-image { - margin-top: 1px !important; -} - -.tabbrowser-tab[selected="true"]:not([pinned="true"]) .tab-icon-overlay { - margin-top: 1px !important; -} - -.tabbrowser-tab[pinned="true"] - .tab-icon-stack[soundplaying="true"] - .tab-icon-image { - display: none !important; -} - -.tabbrowser-tab[pinned="true"] .tab-icon-overlay { - display: inline-block !important; -} - -.tabbrowser-tab[label="New Tab"][image]:not([busy]) .tab-icon-image { - opacity: 0; -} - -.tabbrowser-tab[label="New Tab"][image]:not([busy]) - .tab-label-container:not([selected="true"])::before { - top: 1px; -} - -.tabbrowser-tab[label="New Tab"][image]:not([busy]) - .tab-label-container::before { - content: ""; - display: var(--show-tab-icons) !important; - background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; - background-size: 100%; - width: 16px; - height: 16px; - position: absolute; - top: 2px; - left: 0px; - pointer-events: none; - opacity: 1; -} - -.tab-throbber:not([pinned]), -.tab-icon-pending:not([pinned]), -.tab-icon-image:not([pinned]), -.tab-sharing-icon-overlay:not([pinned]), -.tab-icon-overlay:not([pinned]) { - margin-inline-end: 3px !important; -} - -:root[uidensity="compact"] - .tab-icon-stack[indicator-replaces-favicon] - > :not(.tab-icon-overlay), -#tabbrowser-tabs[secondarytext-unsupported] - .tab-icon-stack[indicator-replaces-favicon] - > :not(.tab-icon-overlay), -:root:not([uidensity="compact"]) - #tabbrowser-tabs:not([secondarytext-unsupported]) - .tabbrowser-tab:not(:hover) - .tab-icon-overlay[indicator-replaces-favicon], -:root:not([uidensity="compact"]) - #tabbrowser-tabs:not([secondarytext-unsupported]) - .tabbrowser-tab:hover - .tab-icon-stack[indicator-replaces-favicon] - > :not(.tab-icon-overlay) { - opacity: 1 !important; -} - -.tab-icon-stack { - display: flex !important; -} - -.tab-icon-stack[indicator-replaces-favicon="true"] .tab-icon-image { - margin-inline-end: 0 !important; -} - -/*#tabbrowser-tabs tab:first-of-type:last-of-type, -#tabbrowser-tabs tab:first-of-type:last-of-type ~ #tabs-newtab-button, -#tabbrowser-tabs - tab:first-of-type:last-of-type - ~ #tabbrowser-arrowscrollbox-periphery - #tabs-newtab-button, -#tabbrowser-tabs tab:first-of-type:last-of-type { - display: none !important; -}*/ - -#reload-button, -#stop-button, -#reload-button:not([displaystop]) + #stop-button, -#reload-button[displaystop] { - display: inherit !important; -} - -#stop-reload-button { - flex-direction: var(--stop-reload-order) !important; -} - -#urlbar[breakout-extend] { - top: calc( - var((--urlbar-toolbar-height) - var(--urlbar-height)) / 2 - ) !important; - left: 0 !important; - width: 100% !important; -} - -#urlbar[breakout-extend] #urlbar-input-container { - height: var(--urlbar-height) !important; - padding-block: 0px !important; - padding-inline: 0px !important; -} - -:root[inFullscreen] #browser-bottombox { - display: none !important; -} - -:root[inFullscreen] .browserStack { - -moz-default-appearance: none !important; - -moz-appearance: none !important; -} - -.bookmark-item { - border: 1px solid transparent; - border-radius: 0 !important; - margin: 0 !important; - background: transparent !important; - padding: 2px !important; -} - -.bookmark-item[label=""], -#tabs-newtab-button, -.toolbarbutton-1:not(#activity_throbber):not(#back-button):not(#ie6_statusbar), -#PlacesChevron, -#sidebar-close, -#placesToolbar > toolbarbutton:not([disabled]) { - width: 22px; - height: 22px !important; -} - -#status-bar { - gap: 2px; -} - -#status-bar .toolbaritem-combined-buttons { - height: 18px !important; - min-height: 18px !important; -} - -#status-bar - .toolbarbutton-1:not(#activity_throbber):not(#back-button):not( - #ie6_statusbar - ) { - width: 22px; - height: 18px !important; - min-height: 18px !important; - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; -} - -.bookmark-item:not(.menuitem-iconic):hover, -#tabs-newtab-button:hover, -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( - [disabled] - ):hover, -#PlacesChevron:hover, -#sidebar-close:hover, -#placesToolbar > toolbarbutton:not([disabled]):hover { - border-top-color: ThreeDHighlight !important; - border-left-color: ThreeDHighlight !important; - border-right-color: ThreeDShadow !important; - border-bottom-color: ThreeDShadow !important; - background-color: transparent !important; - border-radius: 0 !important; -} - -.bookmark-item:active, -.bookmark-item[open="true"], -#sidebar-close:active, -#tabs-newtab-button:active, -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( - [disabled] - ):active, -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar)[open="true"], -#PlacesChevron[open="true"], -#PlacesChevron:active, -#placesToolbar > toolbarbutton:not([disabled]):active { - border-top-color: ThreeDShadow !important; - border-left-color: ThreeDShadow !important; - border-right-color: ThreeDHighlight !important; - border-bottom-color: ThreeDHighlight !important; - background-color: transparent !important; - border-radius: 0 !important; -} - -#PlacesChevron[open="true"] .toolbarbutton-icon, -#PlacesChevron:active .toolbarbutton-icon, -#PlacesToolbar .bookmark-item:active > *, -#PlacesToolbar .bookmark-item[open="true"] > *, -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):active > *, -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar)[open="true"] > *, -#viewButton[open="true"] .button-box, -#viewButton:active .button-box, -#sidebar-close:active .toolbarbutton-icon, -.close-icon.findbar-closebutton:active, -.findbar-find-previous:not([disabled="true"]):active .toolbarbutton-icon, -.findbar-find-next:not([disabled="true"]):active .toolbarbutton-icon, -#tabs-newtab-button:active .toolbarbutton-icon, -#placesToolbar > toolbarbutton:not([disabled]):active { - transform: translate(1px, 1px); -} - -#PlacesToolbarItems > toolbarseparator { - padding-inline: 0 !important; - margin: 2px !important; -} - -#PlacesToolbarItems > toolbarseparator::before { - display: none !important; -} - -.bookmark-item[container] { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAYUExURZmZAAAAAPHx8f//zP//mczMZv/MmQAAAHwygQUAAAAIdFJOU/////////8A3oO9WQAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAFBJREFUKFNdz0kSwCAIBVEICPe/cT5DkWC74slCya8AFHHPAHpEVEeITpV7uS9fejhAJ1tgOHsD8oO43xspA3VvDT1hLuiHVQDnVXxud4H7C0+1BHuF0oyhAAAAAElFTkSuQmCC") !important; -} - -.bookmark-item[open="true"][container] { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURZmZAPj4+P//mczMZgAAAP/MmQAAAICpg0sAAAAHdFJOU////////wAaSwNGAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAWElEQVQoU13PWw7AIAwDwdA87n/k2oagiG1/PKJItXoiGNtTYIu1GPbHls5hNoCQxwAGmLngHMgvPfxC8t3Qd+BEWuARYGHjGwLk7HQLwUhQMetfuD1Q9QOj9wNL8v7HsAAAAABJRU5ErkJggg==") !important; -} - -.bookmark-item .toolbarbutton-text { - margin-right: 2px !important; -} - -/*#PlacesToolbar menupopup { - background: transparent !important; - padding: 0 !important; - box-shadow: none !important; -}*/ - -.tab-throbber { - display: none !important; -} - -#PlacesToolbarItems::before { - content: "Links"; - display: inline-block; - height: 100%; - line-height: 22px; - padding-left: 4px; - padding-right: 4px; -} - -#additional_top_toolbar1::before { +/* Adds "Address" to navigation bar if desired to use that instead of a separate bar */ +/*#nav-bar::before { content: "Address"; display: block; height: 100%; @@ -628,1645 +65,4 @@ toolbarspring { padding-left: 4px; padding-right: 4px; -moz-box-ordinal-group: 1 !important; -} - -#additional_top_toolbar1::after, -.browser-toolbar:not(#TabsToolbar)::after { - content: ""; - display: var(--lock-toolbars); - width: 3px; - box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; - margin: 2px; - margin-right: 0; - cursor: ew-resize; - -moz-box-ordinal-group: 0 !important; -} - -#nav-bar::after, -#toolbar-menubar::after { - margin-right: 4px !important; -} - -#urlbar-container { - display: flex !important; -} - -#PersonalToolbar { - padding-left: 0 !important; - -moz-box-ordinal-group: 10 !important; -} - -#TabsToolbar { - -moz-box-ordinal-group: 11 !important; -} - -.tab-icon-overlay[soundplaying] { - list-style-image: none !important; - mask-position: center center; - mask-repeat: no-repeat; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAADFJREFUGFdjYEQGWHkoFAOQArHAPAYQD8QEIRAAMgjzwHy4PjAXwoLw0CgoQOYxMgIAL5wAhbFaK4UAAAAASUVORK5CYII=") !important; - background: -moz-DialogText !important; -} - -.tab-icon-overlay[muted] { - list-style-image: none !important; - mask-position: center center; - mask-repeat: no-repeat; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAMAAABFNRROAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAADNJREFUGFdtigEKADAIAvX/n17OhBoTSa8Cp36U3U1MQlFbXTePkL+em0u7SGk5N0WTyAMtxwCAzRsJ1wAAAABJRU5ErkJggg==") !important; - background: -moz-DialogText !important; -} - -.tab-icon-overlay[activemedia-blocked] { - list-style-image: none !important; - mask-position: center center; - mask-repeat: no-repeat; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAYAAABy6+R8AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAdSURBVChTYxhQ8B+KQQCZjReMaoKCQa6JFoCBAQARRSPdHMGSFgAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") !important; - background: -moz-DialogText !important; -} - -.tab-icon-overlay[indicator-replaces-favicon] { - padding: 0 !important; - border-radius: 0 !important; - margin-inline-end: 3px !important; -} - -.tab-icon-overlay[pinned]:not([soundplaying]):not([muted]):not( - [activemedia-blocked] - ) { - display: none !important; -} - -.tabbrowser-tab::before { - content: ""; - display: block; - width: calc(100% - 1px); - height: 2px; - margin-top: -8px; - left: 0; - appearance: menuseparator; - position: absolute; - z-index: 2; - pointer-events: none !important; -} - -.tabbrowser-tab:not([selected="true"])::before { - margin-top: -10px !important; -} - -#tabs-newtab-button { - min-height: 22px !important; - min-width: 24px !important; - border: 1px solid transparent; - padding: 0 !important; - background: transparent !important; -} - -toolbar:not(#TabsToolbar) #new-tab-button { - width: 24px !important; -} - -#tabs-newtab-button .toolbarbutton-icon, -toolbar:not(#TabsToolbar) #new-tab-button .toolbarbutton-icon, -#TabsToolbar #wrapper-new-tab-button #new-tab-button, -#tabs-newtab-button, -#TabsToolbar #new-tab-button { - padding: 0 !important; - width: 16px !important; - height: 16px !important; - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA2UExURYCAgP///+Pj40JCQsDAwDOZADPMMzNmAACAgDNm/8z//zPM/zP//wBmAAAAAACAAAAA/wAAAD6tG54AAAASdFJOU///////////////////////AOK/vxIAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABmSURBVChTXc7REoUgCEVR04NWBLf+/2cvpBbTfnKWDEMKXV5KyyiXmxxARDCAkwGoUlvhgOKw7a0xbwGOg1k0wE9YagCpH4DIeWpYukBVc37Anr0B5a2DHYvZhDFgdQgjE8a/Va4/5y0FqgTh7iIAAAAASUVORK5CYII=") !important; -} - -#TabsToolbar #new-tab-button { - padding-inline: 3px !important; -} - -toolbar #new-tab-button.toolbarbutton-1 > .toolbarbutton-icon { - padding: 0 !important; -} - -.tab-icon-pending { - display: none !important; -} - -#urlbar-container { - padding-top: 0 !important; - padding-bottom: 0 !important; - margin-inline: 0 !important; -} - -#urlbar[breakout] { - min-height: var(--urlbar-height) !important; - font: menu !important; - display: -moz-box !important; -} - -#urlbar[breakout][breakout-extend] { - display: block !important; -} - -#urlbar[breakout][breakout-extend] #identity-box { - margin-inline-end: 1px !important; -} - -#PersonalToolbar { - overflow: unset !important; -} - -#urlbar-input-container { - border: 0 !important; -} - -#tracking-protection-icon-container, -#star-button-box, -#identity-icon-box, -#identity-permission-box { - display: none !important; -} - -#favimginurlbar { - margin: 2px !important; -} - -#urlbar[focused="true"]:not([suppress-focus-border]) > #urlbar-background, -#searchbar:focus-within { - outline: 0 !important; - box-shadow: none !important; -} - -#identity-box { - margin-inline-end: 2px !important; -} - -#urlbar-go-button, -.urlbarView-row[label]::before { - display: none !important; -} - -.urlbarView-row[label] { - margin-block-start: 0 !important; -} - -.urlbarView-row:not([type="tip"], [type="dynamic"])[selected] - > .urlbarView-row-inner, -.urlbarView-row-inner[selected] { - background-color: Highlight !important; - color: HighlightText !important; -} - -.urlbarView-row { - padding-block: 0 !important; - border-radius: 0 !important; - padding: 0 !important; -} - -:root:not([uidensity="compact"]) .urlbarView-row-inner { - min-height: 100% !important; - padding-block: 0 !important; - padding-inline: 3px !important; - padding-top: 1px !important; -} - -:root:not([uidensity="compact"]) - .urlbarView-row:not([type="tip"], [type="dynamic"]) { - min-height: unset !important; -} - -.urlbarView-row-inner { - padding-block: 3px !important; - border-radius: 0 !important; - padding-inline: 2px !important; -} - -.urlbarView-row:not([type="tip"], [type="dynamic"], [has-buttons]):hover - > .urlbarView-row-inner, -.urlbarView-row[has-buttons] > .urlbarView-row-inner:not([selected]):hover { - background-color: Highlight !important; - color: HighlightText !important; -} - -#back-button, -#forward-button, -#stop-button, -#reload-button, -#home-button, -#downloads-button, -#history-panelmenu, -#bookmarks-menu-button, -#print-button, -#new-window-button, -#cut-button, -#copy-button, -#paste-button, -#fullscreen-button, -#find-button, -#email-link-button, -#sidebar-button, -#library-button { - list-style-image: none !important; - -moz-context-properties: unset !important; - fill: unset !important; - opacity: unset !important; -} - -#back-button > .toolbarbutton-icon, -#forward-button > .toolbarbutton-icon, -#stop-button > .toolbarbutton-icon, -#reload-button > .toolbarbutton-icon, -#home-button > .toolbarbutton-icon, -#downloads-button > .toolbarbutton-icon, -#downloads-button > .toolbarbutton-badge-stack, -#history-panelmenu > .toolbarbutton-icon, -#bookmarks-menu-button > .toolbarbutton-icon, -#print-button > .toolbarbutton-icon, -#new-window-button > .toolbarbutton-icon, -#cut-button > .toolbarbutton-icon, -#copy-button > .toolbarbutton-icon, -#paste-button > .toolbarbutton-icon, -#fullscreen-button > .toolbarbutton-icon, -#find-button > .toolbarbutton-icon, -#email-link-button > .toolbarbutton-icon, -#sidebar-button > .toolbarbutton-icon, -#library-button > .toolbarbutton-icon { - padding: 0 !important; - opacity: unset !important; - width: 16px !important; - height: 16px !important; -} - -#back-button > .toolbarbutton-icon { - list-style-image: url("toolbar/back.png") !important; -} -#forward-button > .toolbarbutton-icon { - list-style-image: url("toolbar/forward.png") !important; -} -#stop-button > .toolbarbutton-icon { - list-style-image: url("toolbar/stop.png") !important; -} -#reload-button > .toolbarbutton-icon { - list-style-image: url("toolbar/refresh.png") !important; -} -#home-button > .toolbarbutton-icon { - list-style-image: url("toolbar/home.png") !important; -} -#downloads-button > .toolbarbutton-icon, -#downloads-button > .toolbarbutton-badge-stack, -#downloads-button > .toolbarbutton-badge-stack > #downloads-indicator-anchor { - list-style-image: url("toolbar/downloads.png") !important; -} -#history-panelmenu > .toolbarbutton-icon { - list-style-image: url("toolbar/history.png") !important; -} -#library-button > .toolbarbutton-icon, -#bookmarks-menu-button > .toolbarbutton-icon { - list-style-image: url("toolbar/bookmarks.png") !important; -} -#print-button > .toolbarbutton-icon { - list-style-image: url("toolbar/print.png") !important; -} -#new-window-button > .toolbarbutton-icon { - list-style-image: url("toolbar/new.png") !important; -} -#cut-button > .toolbarbutton-icon { - list-style-image: url("toolbar/cut.png") !important; -} -#copy-button > .toolbarbutton-icon { - list-style-image: url("toolbar/copy.png") !important; -} -#paste-button > .toolbarbutton-icon { - list-style-image: url("toolbar/paste.png") !important; -} -#fullscreen-button > .toolbarbutton-icon { - list-style-image: url("toolbar/fullscreen.png") !important; -} -#find-button > .toolbarbutton-icon { - list-style-image: url("toolbar/find.png") !important; -} -#email-link-button > .toolbarbutton-icon { - list-style-image: url("toolbar/email.png") !important; -} -#sidebar-button > .toolbarbutton-icon { - list-style-image: url("toolbar/sidebar.png") !important; -} - -#back-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/back.png") !important; -} -#forward-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/forward.png") !important; -} -#stop-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/stop.png") !important; -} -#reload-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/refresh.png") !important; -} -#home-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/home.png") !important; -} -#downloads-button:hover > .toolbarbutton-icon, -#downloads-button:hover > .toolbarbutton-badge-stack, -#downloads-button:hover - > .toolbarbutton-badge-stack - > #downloads-indicator-anchor, -#downloads-button[open] > .toolbarbutton-icon, -#downloads-button[open] > .toolbarbutton-badge-stack, -#downloads-button[open] - > .toolbarbutton-badge-stack - > #downloads-indicator-anchor { - list-style-image: url("toolbar/hover/downloads.png") !important; -} -#history-panelmenu:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/history.png") !important; -} -#library-button:hover > .toolbarbutton-icon, -#bookmarks-menu-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/bookmarks.png") !important; -} -#print-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/print.png") !important; -} -#new-window-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/new.png") !important; -} -#cut-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/cut.png") !important; -} -#copy-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/copy.png") !important; -} -#paste-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/paste.png") !important; -} -#fullscreen-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/fullscreen.png") !important; -} -#find-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/find.png") !important; -} -#email-link-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/email.png") !important; -} -#sidebar-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/sidebar.png") !important; -} - -#nav-bar - toolbarbutton:not(#tabs-newtab-button):not(:hover):not( - #forward-button[disabled="true"] - ):not(#back-button[disabled="true"]) - .toolbarbutton-icon { - mix-blend-mode: var(--toolbar-tinting); -} - -#nav-bar .toolbarbutton-1 { - min-height: 12px !important; -} - -.toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not(#status-text) { - border: 1px solid transparent; -} -#status-bar - .toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( - #status-text - ), -#status-bar - .toolbarbutton-1:not(#activity_throbber):not(#ie6_statusbar):not( - #status-text - ):hover { - border: none !important; - border-radius: 0 !important; -} - -toolbarbutton:where([disabled="true"]) { - color: ThreeDShadow !important; - text-shadow: 1px 1px 0 ThreeDHighlight; -} - -#nav-bar #back-button:where([disabled="true"]), -#nav-bar #forward-button:where([disabled="true"]) { - border-color: transparent !important; -} - -toolbar:not(#nav-bar) .webextension-browser-action { - padding: 0 4px !important; -} - -#PersonalToolbar - .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active), -#tabbrowser-arrowscrollbox:not([scrolledtostart="true"])::part( - scrollbutton-up - ):hover:active, -#tabbrowser-arrowscrollbox:not([scrolledtoend="true"])::part( - scrollbutton-down - ):hover:active, -toolbarbutton.bookmark-item:hover:active:not(.subviewbutton, [disabled="true"]), -toolbarbutton.bookmark-item[open="true"], -toolbar - .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) - > .toolbarbutton-icon, -toolbar - .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) - > .toolbarbutton-text, -toolbar - .toolbarbutton-1:not([disabled="true"]):is([open], [checked], :hover:active) - > .toolbarbutton-badge-stack { - background: transparent !important; -} - -#nav-bar .toolbarbutton-icon { - margin-left: 1px !important; - margin-right: 1px !important; -} - -#back-button[disabled="true"] .toolbarbutton-icon, -#forward-button[disabled="true"] .toolbarbutton-icon { - fill: currentColor; - color: ThreeDShadow; - filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; - -moz-context-properties: fill, fill-opacity; -} - -#nav-bar #back-button[disabled="true"] > *, -#nav-bar #forward-button[disabled="true"] { - transform: none !important; -} - -#back-button[disabled="true"] .toolbarbutton-icon, -#forward-button[disabled="true"] .toolbarbutton-icon { - list-style-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZlcnNpb249IjEuMSIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB2aWV3Qm94PSIwIDAgNC4yMzMzIDQuMjMzMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBzdHJva2Utd2lkdGg9Ii4yNjQ1OCI+PHJlY3QgeD0iLjUyOTE3IiB5PSIxLjg1MjEiIHdpZHRoPSIzLjE3NSIgaGVpZ2h0PSIuNTI5MTciLz48cmVjdCB4PSIuNzkzNzUiIHk9IjEuNTg3NSIgd2lkdGg9IjIuOTEwNCIgaGVpZ2h0PSIxLjA1ODMiLz48cmVjdCB4PSIxLjMyMjkiIHk9IjEuMDU4MyIgd2lkdGg9Ii41MjkxNyIgaGVpZ2h0PSIyLjExNjciLz48cmVjdCB4PSIxLjU4NzUiIHk9Ii43OTM3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIyLjY0NTgiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIxLjU4NzUiLz48L2c+PC9zdmc+Cg==") !important; -} - -#forward-button[disabled="true"] .toolbarbutton-icon, -#forward-button[disabled="true"]:active .toolbarbutton-icon, -#forward-button[disabled="true"] .toolbarbutton-icon:active { - transform: scaleX(-1) !important; -} - -#nav-bar - .toolbarbutton-1:not(#back-button[disabled="true"]):not( - #forward-button[disabled="true"] - ):hover - .toolbarbutton-icon, -#nav-bar - .toolbarbutton-1:not(#back-button[disabled="true"]):not( - #forward-button[disabled="true"] - ):active - .toolbarbutton-icon, -#nav-bar - .toolbarbutton-1:not(#back-button[disabled="true"]):not( - #forward-button[disabled="true"] - )[open="true"] - .toolbarbutton-icon { - filter: none !important; -} - -#nav-bar-customization-target > :is(toolbarbutton, toolbaritem):first-child, -#nav-bar-customization-target - > toolbarpaletteitem:first-child - > :is(toolbarbutton, toolbaritem) { - padding-inline-start: 0 !important; -} - -#nav-bar { - height: 24px; -} - -#nav-bar .toolbarbutton-1 .toolbarbutton-text { - padding-left: 3px !important; - padding-top: 0 !important; - padding-bottom: 0 !important; - min-height: unset !important; -} - -#back-button .toolbarbutton-text { - display: var(--hide-back-button-text) !important; -} - -#find-button .toolbarbutton-text { - display: var(--hide-find-button-text) !important; -} - -#bookmarks-menu-button .toolbarbutton-text, -#library-button .toolbarbutton-text { - display: var(--hide-bookmarks-menu-button-text) !important; -} - -#history-panelmenu .toolbarbutton-text { - display: var(--hide-history-button-text) !important; -} - -#edit-controls { - margin: 0 !important; - display: flex; -} - -#edit-controls separator { - display: none !important; -} - -#edit-controls .toolbarbutton-1 { - width: 24px !important; - height: 100% !important; -} - -#downloads-button .toolbarbutton-animatable-box { - display: none !important; -} - -#downloads-button[indicator] - > .toolbarbutton-badge-stack - > image.toolbarbutton-icon { - display: unset !important; -} - -toolbarpaletteitem[mousedown] > toolbarbutton > .toolbarbutton-icon, -toolbarpaletteitem[mousedown] - > toolbarbutton - > .toolbarbutton-badge-stack - > .toolbarbutton-icon { - transform: none !important; -} - -.urlbarView-favicon { - margin-inline-end: 3px !important; -} - -#urlbar[open] > #urlbar-background { - box-shadow: none !important; -} - -.urlbarView { - border-inline: 0 !important; - margin-inline: 0 !important; - width: calc(100% + 16px) !important; - padding: 0 !important; - border-inline: 1px solid red; -} - -.urlbarView-body-outer { - border: 1px solid #000; - background-color: Window !important; -} - -.urlbarView-results { - padding-block: 0 !important; -} - -.webextension-browser-action .toolbarbutton-badge-stack { - padding: 0 !important; -} - -#PanelUI-menu-button { - list-style-image: none !important; -} - -#PersonalToolbar - .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover, -#tabbrowser-arrowscrollbox:not([scrolledtostart="true"])::part( - scrollbutton-up - ):hover, -#tabbrowser-arrowscrollbox:not([scrolledtoend="true"])::part( - scrollbutton-down - ):hover, -toolbarbutton.bookmark-item:not( - .subviewbutton, - [disabled="true"], - [open] - ):hover, -toolbar - .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover - > .toolbarbutton-icon, -toolbar - .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover - > .toolbarbutton-text, -toolbar - .toolbarbutton-1:not([disabled="true"], [checked], [open], :active):hover - > .toolbarbutton-badge-stack { - background: transparent !important; -} - -#BMB_bookmarksPopup { - box-shadow: none !important; - padding: 0 !important; -} - -#tabbrowser-tabs, -#tabbrowser-arrowscrollbox, -#tabbrowser-tabs[positionpinnedtabs] - > #tabbrowser-arrowscrollbox - > .tabbrowser-tab[pinned] { - min-height: 0 !important; -} - -#favimginurlbar[style='width: 16px; height: 16px; margin: 3px; list-style-image: url("chrome://branding/content/icon32.png");'] -{ - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; -} - -#PlacesChevron, -#nav-bar-overflow-button { - width: 16px !important; - height: 100% !important; - border: 1px solid transparent; - list-style-image: none !important; - padding: 0 !important; -} - -#personal-toolbar-empty-description, -#PersonalToolbar .toolbarbutton-1, -toolbarbutton.bookmark-item:not(.subviewbutton) { - margin: 0 !important; -} - -#PlacesChevron .toolbarbutton-icon, -#nav-bar-overflow-button .toolbarbutton-icon { - mask-position: center 4px; - width: 8px !important; - height: 100% !important; - padding: 6px !important; - margin: 0 !important; - background-color: WindowText !important; - mask-repeat: no-repeat; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAoSURBVBhXYwCC/1AMA+h8MMCpiBFEQAFMAUwMWQNCBxSg8PFIMjAAAMnUEfGcoUqiAAAAAElFTkSuQmCC") !important; -} - -findbar { - background-color: ThreeDFace !important; - color: WindowText !important; - transition: none !important; - border-top: 0 !important; - padding-block-start: 4px !important; - padding-block-end: 4px !important; -} - -.findbar-textbox { - border-radius: 0 !important; - border: 0 !important; - -moz-default-appearance: listbox !important; - -moz-appearance: listbox !important; - background-color: unset !important; - padding: 0px 3px !important; - height: 22px !important; -} - -.findbar-find-previous, -.findbar-find-next { - padding: 0 !important; - width: 22px !important; - min-height: 22px !important; - border-radius: 0 !important; - mask-repeat: no-repeat !important; - mask-position: center center !important; - border: 1px solid transparent; - background-color: -moz-Dialog !important; -} - -.findbar-find-previous { - margin-inline: 4px 0 !important; -} - -.findbar-find-next { - margin-inline-end: 4px !important; -} - -hbox[anonid="findbar-textbox-wrapper"]::after { - content: "" !important; - height: 20px !important; - display: inline-block !important; - border-left: 1px solid ThreeDShadow !important; - border-right: 1px solid ThreeDHighlight !important; -} - -.findbar-find-previous:not([disabled="true"]):hover, -.findbar-find-next:not([disabled="true"]):hover { - box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; -} - -.findbar-find-previous:not([disabled="true"]):active, -.findbar-find-next:not([disabled="true"]):active { - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; -} - -.findbar-find-previous .toolbarbutton-icon, -.findbar-find-next .toolbarbutton-icon { - list-style-image: none !important; - mask-repeat: no-repeat !important; - mask-position: center center !important; - background-color: WindowText !important; - padding: 0 !important; - min-width: 20px; - min-height: 20px; -} - -.findbar-find-next .toolbarbutton-icon { - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAkSURBVBhXY2RgYPgPxFgBSBIEsClghEmCALICZHE4QFLAwAAA+twEAr6ulF8AAAAASUVORK5CYII=") !important; -} - -.findbar-find-previous .toolbarbutton-icon { - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAECAYAAABCxiV9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAlSURBVBhXY0AD/6E0GDBCaRBAlgCLwyRRdEABI0gSmwQQMDAAAPqFBAIR7Pg5AAAAAElFTkSuQmCC") !important; -} - -.findbar-container { - height: 22px !important; - margin-inline-start: 0 !important; - overflow-inline: unset !important; -} - -.findbar-container::before { - content: "Find:" !important; - display: inline-block !important; - margin-inline-start: 4px !important; - margin-inline-end: 4px !important; -} - -.findbar-textbox:focus { - outline: 0 !important; -} - -.toolbarbutton.tabbable { - padding: 0 !important; -} - -.browserContainer { - flex-direction: column-reverse !important; -} - -findbar { - flex-direction: row-reverse !important; -} - -.close-icon.findbar-closebutton { - list-style-image: none !important; - height: 22px !important; - width: 22px !important; - border-radius: 0 !important; - padding: 0 !important; - margin: 0 !important; - margin-inline-start: 4px !important; - margin-inline-end: 4px !important; - background-color: WindowText !important; - mask-repeat: no-repeat !important; - mask-position: center center !important; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAGUExURQAAAAAAAKVnuc8AAAACdFJOU/8A5bcwSgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAACRJREFUGFdjYGBgBAIgBWaBSTAbSEG5yAwQDVUBEQTRjIwMDAADqAAZRZMazAAAAABJRU5ErkJggg==") !important; -} - -#sidebar-box { - margin-right: 4px; - appearance: groupbox !important; - background-color: ThreeDFace !important; -} - -#historyTree, -#bookmarks-view, -#template-container { - background-color: Window !important; -} - -treecol, -treecolpicker { - border: 0 !important; -} - -#sidebar-search-container, -#sidebar-header { - font: Menu !important; - box-shadow: inset 0 -1px ThreeDShadow !important; - border-bottom: 1px solid ThreeDHighlight !important; -} - -#sidebar-icon { - list-style-image: none !important; - width: 0 !important; - height: 0 !important; -} - -#sidebar-header { - padding: 1px !important; - padding-bottom: 2px !important; -} - -#sidebar-close { - width: 20px !important; - height: 17px !important; - border: 1px solid transparent; - background-color: transparent !important; - padding: 0 !important; - list-style-image: none !important; - border-radius: 0 !important; -} - -#sidebar-close .toolbarbutton-icon { - background-color: WindowText !important; - width: 8px !important; - height: 7px !important; - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA4SURBVBhXY2RgYPgPxCAAYiMDmDgYgDjIAnA+si4UHUCAbiIYoJtEvAnoOuF8kCqYBLqdQHEGBgAx7A/5GaSbcgAAAABJRU5ErkJggg==") !important; -} - -#sidebar-title { - padding-inline: 0 !important; -} - -#sidebar-switcher-arrow { - display: none !important; -} - -#sidebar-switcher-target { - padding: 3px 5px !important; - border: 0 !important; - border-radius: 0 !important; - background-color: transparent !important; -} - -#sidebar-switcher-target:hover { - box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; -} - -#sidebar-switcher-target:hover { - box-shadow: inset -1px -1px 0 ThreeDShadow, inset 1px 1px 0 ThreeDHighlight; -} - -#sidebar-switcher-target[open="true"] { - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow; -} - -#sidebar-switcher-target[open="true"] #sidebar-title { - transform: translate(1px, 1px); -} - -#sidebar-search-container { - padding: 2px !important; -} - -.textbox-search-sign { - display: none !important; -} - -#viewButton { - appearance: button !important; -} - -#search-box { - padding: 2px !important; -} - -.content-header { - background-color: ThreeDFace !important; -} - -.sidebar-search-container { - padding: 2px !important; -} - -.tabsFilter { - margin: 0 !important; -} - -#main-window:-moz-window-inactive .menubar-text, -#wrapper-menubar-items .menubar-text { - color: ThreeDShadow; -} - -.menu-text, -.menu-iconic-text { - margin-inline-start: 0 !important; -} - -.menu-iconic-icon { - margin-left: -2px !important; -} - -#main-menubar { - display: flex !important; -} - -treechildren::-moz-tree-row { - height: 40% !important; - min-height: 40% !important; -} - -treechildren::-moz-tree-image(title, query, dayContainer), -treechildren::-moz-tree-image(query, OrganizerQuery_history____v) { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAeUExURWOczjExnDFjzmNjAJycY////87OnAAAAJwxYwAAAAggbzMAAAAKdFJOU////////////wCyzCzPAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAATElEQVQoU23PUQpAIQhEUX2Z5v433CCPGKNDX5cmSDKFqeTHFEHZQLA5/RyLV3Bf4OW/serQ5AqPyfUohxGCxWGGMJqaNAjR4fsscwNQNAUR4NgQXAAAAABJRU5ErkJggg==") !important; -} - -.titlebar-button { - list-style-image: none !important; - height: 20px !important; - min-width: 20px !important; - padding: 0 !important; - margin-top: 2px !important; -} - -.titlebar-min { - appearance: -moz-window-button-minimize !important; -} - -.titlebar-restore { - appearance: -moz-window-button-restore !important; -} - -.titlebar-max { - appearance: -moz-window-button-maximize !important; -} - -.titlebar-close { - appearance: -moz-window-button-close !important; -} - -.notification-anchor-icon { - padding: 0 !important; - margin-inline-start: 2px !important; -} - -.bookmark-item, -.bookmark-item > label::before, -.bookmark-item .menu-iconic-icon { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; -} - -.tab-icon-image:not([src]), -.tab-icon-image:-moz-broken { - content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABgUExURYaGhv///5mZmVVVVf/78ABmzDMzMwAAgDNm//Hx8czMzHd3d2aZmZnMzDMzzGb//+rq6pmZZv//mQDM/+fn1v/MmcyZZjNmzF9fXwAzmcDAwABmmYCAADMzZgQEBAAAANSdJEsAAAAgdFJOU/////////////////////////////////////////8AXFwb7QAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAIpJREFUKFNNjFsWgyAMREUIRGhTbOlLW7P/XRoD2t6Tj8w9k3TM3O3IzipMpbeHcEpvxOwCwDnrvVcRQHA4xD7ZTYTTmegCg8tRvnQcxqvU6QZDLnET6Y7bCUAuKtLjidKQg1Ibr/GNOE2Ec2t86EsoSG4/iJdlnjVXwZRMliDTBKd40IT9oeIP5hU1fA8vue4FsgAAAABJRU5ErkJggg==") !important; -} - -.desktop-notification-icon { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAPUExURYCAgP///wAAAMDAwAAAAGFF8HEAAAAFdFJOU/////8A+7YOUwAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAFlJREFUKFNdjkESwDAIAhPk/28uYG2b7sEJO4xxUazGT2qutRsgYqIomUNsKCpDeKTyLGig3d0IIz5Y1N1wLonzW0US9eYIIqrgHNEqcYSUrzQjVPoJ3axBXuvmAgsbIC+oAAAAAElFTkSuQmCC") !important; -} - -:root[sizemode="maximized"] .browserStack { - margin-left: -2px !important; - margin-right: -2px !important; -} - -#PanelUI-menu-button, -#PanelUI-menu-button .toolbarbutton-icon { - display: none !important; -} - -#PanelUI-menu-button { - padding: 0 !important; - border: 0 !important; -} - -#PanelUI-menu-button .toolbarbutton-badge-stack { - padding: 0 !important; -} - -.checkbox-check { - background-color: Window !important; - border: 0 !important; - border-radius: 0 !important; - box-shadow: inset -1px -1px 0 ThreeDHighlight, inset 1px 1px 0 ThreeDShadow, - inset -2px -2px 0 ThreeDFace, inset 2px 2px 0 ThreeDDarkShadow; -} - -.checkbox-check:not([native]) { - width: 13px !important; - height: 13px !important; -} - -.checkbox-check[checked] { - color: WindowText !important; - background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHZlcnNpb249IjEuMSIgZmlsbD0iY29udGV4dC1maWxsIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiB2aWV3Qm94PSIwIDAgMy40Mzk2IDMuNDM5NiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48Zz48Zz48cmVjdCB4PSIuNzkzNzUiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjM4MTIiIHk9Ii43OTM3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIyLjExNjciIHk9IjEuMDU4MyIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIxLjg1MjEiIHk9IjEuMzIyOSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuNzkzNzUiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuODUyMSIgd2lkdGg9Ii43OTM3NSIgaGVpZ2h0PSIuNTI5MTciLz48cmVjdCB4PSIxLjMyMjkiIHk9IjIuMzgxMiIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIxLjA1ODMiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48cmVjdCB4PSIxLjU4NzUiIHk9IjEuNTg3NSIgd2lkdGg9Ii4yNjQ1OCIgaGVpZ2h0PSIuMjY0NTgiLz48L2c+PC9nPjwvc3ZnPgo=") !important; -} - -#urlbar[open] > .urlbarView > .urlbarView-body-outer > .urlbarView-body-inner { - border-top: 0 !important; -} - -#urlbar-zoom-button { - margin: 0 !important; - font: menu !important; - border-radius: 0 !important; - background-color: transparent !important; -} - -#configuration_toolbar { - -moz-box-ordinal-group: 12; -} - -#customization-panelWrapper > .panel-arrowbox > .panel-arrow[side="top"] { - display: none !important; -} - -.customizationmode-button { - appearance: button !important; - color: WindowText !important; - font-weight: 500 !important; -} - -:root[inFullscreen] #TabsToolbar { - -moz-box-ordinal-group: 0 !important; -} - -:root[inFullscreen] .tabbrowser-tab::before { - display: none !important; -} - -:root[inFullscreen] #tabbrowser-tabs tab:first-of-type:last-of-type, -:root[inFullscreen] - #tabbrowser-tabs - tab:first-of-type:last-of-type - ~ #tabs-newtab-button, -:root[inFullscreen] - #tabbrowser-tabs - tab:first-of-type:last-of-type - ~ #tabbrowser-arrowscrollbox-periphery - #tabs-newtab-button { - display: -moz-box !important; -} - -#placesToolbar { - padding: 1px !important; - appearance: groupbox !important; - background-color: -moz-Dialog !important; - margin-bottom: 2px !important; -} - -#placesToolbar .toolbarbutton-text { - display: none !important; -} - -#placesToolbar .toolbarbutton-icon, -#placesToolbar .menubar-left { - filter: grayscale(1); -} - -#placesToolbar .menu-iconic:hover .menubar-left, -#placesToolbar .menu-iconic[open="true"] .menubar-left, -#placesToolbar #back-button:not([disabled="true"]):hover .toolbarbutton-icon, -#placesToolbar - #forward-button:not([disabled="true"]):hover - .toolbarbutton-icon { - filter: none !important; -} - -#searchFilter { - min-height: 22px !important; -} - -#placesList, -#downloadsListBox, -tree { - background-color: Window !important; - color: -moz-DialogText !important; -} - -#detailsPane { - background-color: -moz-Dialog !important; - color: -moz-dialogText !important; -} - -#placeContent, -#placesViewsBox #downloadsListBox, -#placesList, -#searchFilter, -#editBMPanel_tagsSelector { - -moz-default-appearance: listbox !important; - -moz-appearance: listbox !important; - color: -moz-DialogText !important; -} - -#places input { - background-color: Field !important; - color: -moz-DialogText !important; - border: 0 !important; - border-radius: 0 !important; -} - -#searchFilter[focused], -#places input:focus { - outline: 0 !important; -} - -#searchFilter[focused] { - box-shadow: none !important; -} - -#editBookmarkPanelRows .expander-up, -#editBookmarkPanelRows .expander-down { - appearance: spinner-downbutton !important; - list-style-image: none !important; - padding: 2px !important; - height: 22px !important; -} - -#editBookmarkPanelRows .expander-up { - appearance: spinner-upbutton !important; -} - -#placesList { - border-right: unset !important; - margin-right: 4px !important; -} - -treecol { - color: -moz-fieldtext !important; - padding: 0 7px !important; - box-shadow: inset -1px -1px 0 ThreeDDarkShadow, - inset 1px 1px 0 ThreeDHighlight, inset -2px -2px 0 ThreeDShadow !important; -} - -treechildren::-moz-tree-row, -treecol:not([hideheader="true"]), -treecolpicker { - min-height: 17px !important; -} - -.caption-label { - margin-inline-start: 6px !important; - color: GrayText !important; - font: -moz-window !important; -} - -#editBMPanel_tagsSelectorRow > richlistbox > richlistitem[selected] { - color: HighlightText !important; - background-color: Highlight !important; -} - -richlistbox[seltype="multiple"]:focus > richlistitem[current="true"], -richlistbox.theme-listbox:focus > richlistitem[current="true"] { - outline: 0 !important; -} - -#placesMenu > menu { - appearance: button !important; - color: -moz-DialogText !important; -} - -#organizeButton { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAzUExURZmZmf/78Ofn1k1NTcDAwBwcHOrq6mZmAK2pkDMzAP//mZmZAMzMZgAAADMAAGZmZgAAAIQzlaMAAAARdFJOU/////////////////////8AJa2ZYgAAAAlwSFlzAAAOwwAADsMBx2+oZAAAAHxJREFUKFNVzgEOAyEIBECw1T0Blf+/tnD2GktCjJN1Ix3jOURcvvN64F1rpdJOYKb/RAJwQBSCGT+4er8gCle9oRQ0TdAMbVAkxLGhiwgsQhKRBHSIAZahDWAVFlMeN7S4Y7LNaB1Oay3EG2DMaI3S/Ax67Ih9ICfR3f0DrmQINMNg/hUAAAAASUVORK5CYII=") !important; -} - -#viewMenu { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP7ZLNCcAgDIVfulIzg6t0DU/uUGfSmWziT+lJUKH00A8CiZGXPBGrEJBSzSegIrCfksdyNEL0WcAubGAB51yaIYSgg9NWlAA+xBH7nBPJahKNXu8WiLFcUGRAjkav91v4ggVSC8aYWo7BzPqV8XiR1wEuUzD3/j0F1pEAAAAASUVORK5CYII=") !important; -} - -#maintenanceButton { - list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAVUExURQAAADPM/zNm/5n//8z//zOZ/wAAAACTM88AAAAHdFJOU////////wAaSwNGAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAT0lEQVQoU62PiQ3AIAwDnXf/kWsXChmgJ2GFk4gFmuDNhUaYX8MJFsOA98yqY+AkCwsJHglmKaeIf4W7Oil2tfCIKBV/Qsb05oi5Y6PvdD8/ggRHRlWf0AAAAABJRU5ErkJggg==") !important; -} - -#placesToolbar > toolbarbutton[disabled] { - opacity: 1 !important; -} - -#placesToolbar > toolbarbutton { - border-radius: 0 !important; - appearance: button !important; - background-color: -moz-Dialog !important; - border: 1px solid transparent; - padding: 4px !important; -} - -.tabbrowser-tab[pinned="true"] .tab-label-container { - display: none !important; -} - -.tabbrowser-tab[pinned="true"]:not([selected="true"]) .tab-icon-overlay { - pointer-events: none !important; -} - -.tab-icon-overlay:not([crashed]):is([pinned], [sharing]) { - top: unset !important; - inset-inline-end: unset !important; - padding: 0 !important; - background-color: transparent !important; -} - -#context-navigation .menu-iconic-left { - padding-top: 0 !important; -} - -.urlbarView-results[wrap] - > .urlbarView-row[has-url] - > .urlbarView-row-inner - > .urlbarView-url:-moz-locale-dir(ltr) { - padding-left: 19px !important; -} - -#TabsToolbar .toolbarbutton-1 { - margin: 2px 0 0 !important; -} - -#alltabs-button { - list-style-image: none !important; - padding: 0 !important; - width: 16px !important; - min-height: 0 !important; - display: var(--show-alltabs-button) !important; -} - -#alltabs-button .toolbarbutton-icon { - mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAdSURBVDhPYxiB4D8UwwA6Hy+gv2b6aRoFKICBAQA7tRPtf9lgfQAAAABJRU5ErkJgggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==") !important; - background-color: -moz-DialogText !important; - min-height: 0 !important; - width: 14px !important; - height: 14px !important; -} - -#alltabs-button .toolbarbutton-badge-stack { - padding: 0 !important; - width: 14px; - height: 14px; -} - -#alltabs-button:hover { - border-top-color: ThreeDHighlight !important; - border-left-color: ThreeDHighlight !important; - border-right-color: ThreeDShadow !important; - border-bottom-color: ThreeDShadow !important; - background-color: transparent !important; - border-radius: 0 !important; -} - -toolbar .toolbarbutton-1 > .toolbarbutton-icon { - height: 16px !important; - width: 16px !important; -} - -#wrapper-new-tab-button .toolbarbutton-icon { - padding: 0 !important; -} - -#wrapper-new-tab-button #new-tab-button { - min-width: 26px !important; -} - -#urlbar-background::after { - content: ""; - display: inline-block; - appearance: spinner-downbutton; - z-index: 99999; - padding-top: 18px !important; - width: 16px; - top: 0px; - position: absolute !important; - right: 0 !important; -} - -#wrapper-menubar-items { - opacity: 1 !important; -} - -#history-menu { - display: var(--show-history-menu-item) !important; -} - -#go-button { - padding: 0 5px !important; - margin-inline-end: 3px !important; - margin-inline-start: 2px !important; -} - -#go-button .toolbarbutton-text { - display: block; - min-height: 0 !important; - padding: 0 0 0 1px !important; -} - -#go-button .toolbarbutton-icon { - padding: 0 !important; - filter: grayscale(1); - list-style-image: url("go.png") !important; -} - -#go-button:hover .toolbarbutton-icon, -#go-button:active .toolbarbutton-icon { - filter: none; -} - -:root[uidensity="touch"] #back-button > .toolbarbutton-icon, -:root[uidensity="touch"] #forward-button > .toolbarbutton-icon, -:root[uidensity="touch"] #stop-button > .toolbarbutton-icon, -:root[uidensity="touch"] #reload-button > .toolbarbutton-icon, -:root[uidensity="touch"] #home-button > .toolbarbutton-icon, -:root[uidensity="touch"] #downloads-button > .toolbarbutton-icon, -:root[uidensity="touch"] #downloads-button > .toolbarbutton-badge-stack, -:root[uidensity="touch"] #history-panelmenu > .toolbarbutton-icon, -:root[uidensity="touch"] #bookmarks-menu-button > .toolbarbutton-icon, -:root[uidensity="touch"] #print-button > .toolbarbutton-icon, -:root[uidensity="touch"] #new-window-button > .toolbarbutton-icon, -:root[uidensity="touch"] #cut-button > .toolbarbutton-icon, -:root[uidensity="touch"] #copy-button > .toolbarbutton-icon, -:root[uidensity="touch"] #paste-button > .toolbarbutton-icon, -:root[uidensity="touch"] #fullscreen-button > .toolbarbutton-icon, -:root[uidensity="touch"] #find-button > .toolbarbutton-icon, -:root[uidensity="touch"] #email-link-button > .toolbarbutton-icon, -:root[uidensity="touch"] #sidebar-button > .toolbarbutton-icon, -:root[uidensity="touch"] #library-button > .toolbarbutton-icon { - width: 20px !important; - height: 20px !important; -} - -:root[uidensity="touch"] #back-button > .toolbarbutton-icon { - list-style-image: url("toolbar/back.png") !important; -} -:root[uidensity="touch"] #forward-button > .toolbarbutton-icon { - list-style-image: url("toolbar/forward.png") !important; -} -:root[uidensity="touch"] #stop-button > .toolbarbutton-icon { - list-style-image: url("toolbar/stop.png") !important; -} -:root[uidensity="touch"] #reload-button > .toolbarbutton-icon { - list-style-image: url("toolbar/refresh.png") !important; -} -:root[uidensity="touch"] #home-button > .toolbarbutton-icon { - list-style-image: url("toolbar/home.png") !important; -} -:root[uidensity="touch"] #downloads-button > .toolbarbutton-icon, -:root[uidensity="touch"] #downloads-button > .toolbarbutton-badge-stack, -:root[uidensity="touch"] - #downloads-button - > .toolbarbutton-badge-stack - > #downloads-indicator-anchor { - list-style-image: url("toolbar/downloads.png") !important; -} -:root[uidensity="touch"] #history-panelmenu > .toolbarbutton-icon { - list-style-image: url("toolbar/history.png") !important; -} -:root[uidensity="touch"] #library-button > .toolbarbutton-icon, -:root[uidensity="touch"] #bookmarks-menu-button > .toolbarbutton-icon { - list-style-image: url("toolbar/bookmarks.png") !important; -} -:root[uidensity="touch"] #print-button > .toolbarbutton-icon { - list-style-image: url("toolbar/print.png") !important; -} -:root[uidensity="touch"] #new-window-button > .toolbarbutton-icon { - list-style-image: url("toolbar/new.png") !important; -} -:root[uidensity="touch"] #cut-button > .toolbarbutton-icon { - list-style-image: url("toolbar/cut.png") !important; -} -:root[uidensity="touch"] #copy-button > .toolbarbutton-icon { - list-style-image: url("toolbar/copy.png") !important; -} -:root[uidensity="touch"] #paste-button > .toolbarbutton-icon { - list-style-image: url("toolbar/paste.png") !important; -} -:root[uidensity="touch"] #fullscreen-button > .toolbarbutton-icon { - list-style-image: url("toolbar/fullscreen.png") !important; -} -:root[uidensity="touch"] #find-button > .toolbarbutton-icon { - list-style-image: url("toolbar/find.png") !important; -} -:root[uidensity="touch"] #email-link-button > .toolbarbutton-icon { - list-style-image: url("toolbar/email.png") !important; -} -:root[uidensity="touch"] #sidebar-button > .toolbarbutton-icon { - list-style-image: url("toolbar/sidebar.png") !important; -} - -:root[uidensity="touch"] #back-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/back.png") !important; -} -:root[uidensity="touch"] #forward-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/forward.png") !important; -} -:root[uidensity="touch"] #stop-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/stop.png") !important; -} -:root[uidensity="touch"] #reload-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/refresh.png") !important; -} -:root[uidensity="touch"] #home-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/home.png") !important; -} -:root[uidensity="touch"] #downloads-button:hover > .toolbarbutton-icon, -:root[uidensity="touch"] #downloads-button:hover > .toolbarbutton-badge-stack, -:root[uidensity="touch"] - #downloads-button:hover - > .toolbarbutton-badge-stack - > #downloads-indicator-anchor, -:root[uidensity="touch"] #downloads-button[open] > .toolbarbutton-icon, -:root[uidensity="touch"] #downloads-button[open] > .toolbarbutton-badge-stack, -:root[uidensity="touch"] - #downloads-button[open] - > .toolbarbutton-badge-stack - > #downloads-indicator-anchor { - list-style-image: url("toolbar/hover/downloads.png") !important; -} -:root[uidensity="touch"] #history-panelmenu:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/history.png") !important; -} -:root[uidensity="touch"] #library-button:hover > .toolbarbutton-icon, -:root[uidensity="touch"] #bookmarks-menu-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/bookmarks.png") !important; -} -:root[uidensity="touch"] #print-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/print.png") !important; -} -:root[uidensity="touch"] #new-window-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/new.png") !important; -} -:root[uidensity="touch"] #cut-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/cut.png") !important; -} -:root[uidensity="touch"] #copy-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/copy.png") !important; -} -:root[uidensity="touch"] #paste-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/paste.png") !important; -} -:root[uidensity="touch"] #fullscreen-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/fullscreen.png") !important; -} -:root[uidensity="touch"] #find-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/find.png") !important; -} -:root[uidensity="touch"] #email-link-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/email.png") !important; -} -:root[uidensity="touch"] #sidebar-button:hover > .toolbarbutton-icon { - list-style-image: url("toolbar/hover/sidebar.png") !important; -} - -:root[uidensity="touch"] #nav-bar { - height: 28px; -} - -:root[uidensity="touch"] #edit-controls .toolbarbutton-1 { - width: 28px !important; -} - -:root[uidensity="touch"] #back-button[disabled="true"] .toolbarbutton-icon, -:root[uidensity="touch"] #forward-button[disabled="true"] .toolbarbutton-icon { - list-style-image: none !important; - background-color: ThreeDShadow !important; - mask-image: url("toolbar_large.png") !important; - filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; -} - -:root[uidensity="touch"] #back-button[disabled="true"], -:root[uidensity="touch"] #forward-button[disabled="true"] { - filter: drop-shadow(1px 1px 0 ThreeDHighlight) !important; -} - -:root[uidensity="touch"] #back-button[disabled="true"] .toolbarbutton-text, -:root[uidensity="touch"] #forward-button[disabled="true"] .toolbarbutton-text { - text-shadow: none !important; -} - -:root[uidensity="touch"] #search-box, -:root[uidensity="touch"] .sidebar-placesTreechildren::-moz-tree-row { - min-height: 20px !important; -} - -toolbar .toolbaritem-combined-buttons { - margin-inline: 0 !important; -} - -.unified-extensions-item-action.subviewbutton { - border-radius: 0 !important; - height: 100% !important; - width: 24px !important; - background-color: -moz-Dialog !important; -} - -toolbarbutton:where([disabled="true"]) { - text-shadow: none !important; - color: -moz-DialogText !important; -} - -#back-button:where([disabled="true"]), -#forward-button:where([disabled="true"]) { - color: ThreeDShadow !important; - text-shadow: 1px 1px 0 ThreeDHighlight !important; -} - -:root[uidensity="touch"] .unified-extensions-item-action.subviewbutton { - width: 28px !important; -} - -panelview { - background: -moz-Dialog !important; -} - -#unified-extensions-button { - padding: 0 !important; - border: 0 !important; -} - -#unified-extensions-button, -#unified-extensions-button .toolbarbutton-icon { - display: none !important; -} - -.urlbarView-dynamic-quickactions-buttons, -.urlbarView-button-help { - display: none !important; -} - -.urlbarView:not([noresults]) > .search-one-offs:not([hidden]) { - border: 1px solid #000000 !important; - margin-top: -1px !important; - background-color: Window !important; -} - -#urlbar .search-one-offs:not([hidden]) { - padding-block: 0 !important; -} - -#urlbar .searchbar-engine-one-off-item { - border-radius: 0 !important; - margin-inline: 0 !important; -} - -.searchbar-engine-one-off-item:not([selected]):hover { - background-color: Highlight !important; - color: HighlightText !important; -} - -#urlbar .search-panel-one-offs-header-label { - padding-inline: 10px !important; -} - -#personal-toolbar-empty-description { - min-height: unset !important; - display: none !important; -} - -:root[lwt-toolbar-field-brighttext] #urlbar:not([focused="true"]), -:root[lwt-toolbar-field-brighttext] #searchbar:not(:focus-within), -:root[lwt-toolbar-field-focus-brighttext] #urlbar[focused="true"], -:root[lwt-toolbar-field-focus-brighttext] #searchbar:focus-within { - color-scheme: light !important; -} - -toolbar .toolbarbutton-1 > .toolbarbutton-icon, -toolbar .toolbarbutton-1 > .toolbarbutton-text, -toolbar .toolbarbutton-1 > .toolbarbutton-badge-stack { - padding: 0 !important; - border-radius: 0 !important; -} - -.tabbrowser-tab - > .tab-stack - > .tab-content[pinned][titlechanged]:not([selected="true"]) { - background-image: none !important; -} - -toolbarbutton menupopup[placespopup] { - --panel-separator-margin-vertical: 0 !important; - --panel-shadow-margin: 0 !important; - --nested-margin: 0 !important; - --panel-shadow: none !important; - margin: 0 !important; -} - -toolbarbutton menupopup[placespopup] menuitem { - padding: 0 2px !important; - min-height: 20px !important; - border: none !important; -} - -toolbarbutton - menupopup[placespopup] - > :is(.menu-iconic, .menuitem-iconic) - > .menu-iconic-left { - margin-inline-end: 2px !important; -} - -toolbarbutton menupopup[placespopup] menuitem:hover { - background: Highlight !important; -} - -.bookmarks-actions-menuseparator, -.openintabs-menuitem { - display: none; -} - -toolbarbutton menupopup[placespopup] menuseparator { - padding: 0 !important; - margin: 0 !important; -} - -.menu-iconic-left { - width: 16px; - margin-right: 1px; -} - -.menu-text { - padding-inline-start: 18px !important; -} - -.toolbarbutton-badge-stack .toolbarbutton-badge { - margin-inline-end: 0 !important; - margin: 0 !important; - min-width: unset !important; - align-self: end !important; - border-radius: 0 !important; - padding: 0 2px 0 !important; - box-shadow: none !important; -} - -/* ff 113 */ -#personal-bookmarks { - flex-grow: 0 !important; -} -#titlebar > #toolbar-menubar > spacer[style="order: 1000;"] { - display: none; -} - -#context-navigation > .menuitem-iconic { - justify-content: left !important; -} +}*/ diff --git a/chrome/utils/BootstrapLoader.jsm b/chrome/utils/BootstrapLoader.jsm new file mode 100644 index 0000000..f90c554 --- /dev/null +++ b/chrome/utils/BootstrapLoader.jsm @@ -0,0 +1,477 @@ +/* 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/. */ + +"use strict"; + +let EXPORTED_SYMBOLS = []; + +const { XPCOMUtils } = ChromeUtils.import( + "resource://gre/modules/XPCOMUtils.jsm" +); +const Services = + globalThis.Services || + ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + +XPCOMUtils.defineLazyModuleGetters(this, { + Blocklist: "resource://gre/modules/Blocklist.jsm", + ConsoleAPI: "resource://gre/modules/Console.jsm", + InstallRDF: "chrome://userchromejs/content/RDFManifestConverter.jsm", +}); + +Services.obs.addObserver((doc) => { + if ( + doc.location.protocol + doc.location.pathname === "about:addons" || + doc.location.protocol + doc.location.pathname === + "chrome:/content/extensions/aboutaddons.html" + ) { + const win = doc.defaultView; + let handleEvent_orig = + win.customElements.get("addon-card").prototype.handleEvent; + win.customElements.get("addon-card").prototype.handleEvent = function (e) { + if ( + e.type === "click" && + e.target.getAttribute("action") === "preferences" && + this.addon.optionsType == 1 /*AddonManager.OPTIONS_TYPE_DIALOG*/ + ) { + var windows = Services.wm.getEnumerator(null); + while (windows.hasMoreElements()) { + var win2 = windows.getNext(); + if (win2.closed) { + continue; + } + if (win2.document.documentURI == this.addon.optionsURL) { + win2.focus(); + return; + } + } + var features = "chrome,titlebar,toolbar,centerscreen"; + win.docShell.rootTreeItem.domWindow.openDialog( + this.addon.optionsURL, + this.addon.id, + features + ); + } else { + handleEvent_orig.apply(this, arguments); + } + }; + let update_orig = win.customElements.get("addon-options").prototype.update; + win.customElements.get("addon-options").prototype.update = function ( + card, + addon + ) { + update_orig.apply(this, arguments); + if (addon.optionsType == 1 /*AddonManager.OPTIONS_TYPE_DIALOG*/) + this.querySelector( + 'panel-item[data-l10n-id="preferences-addon-button"]' + ).hidden = false; + }; + } +}, "chrome-document-loaded"); + +const { AddonManager } = ChromeUtils.import( + "resource://gre/modules/AddonManager.jsm" +); +const { XPIDatabase, AddonInternal } = ChromeUtils.import( + "resource://gre/modules/addons/XPIDatabase.jsm" +); + +const { defineAddonWrapperProperty } = Cu.import( + "resource://gre/modules/addons/XPIDatabase.jsm" +); +defineAddonWrapperProperty("optionsType", function optionsType() { + if (!this.isActive) { + return null; + } + + let addon = this.__AddonInternal__; + let hasOptionsURL = !!this.optionsURL; + + if (addon.optionsType) { + switch (parseInt(addon.optionsType, 10)) { + case 1 /*AddonManager.OPTIONS_TYPE_DIALOG*/: + case AddonManager.OPTIONS_TYPE_TAB: + case AddonManager.OPTIONS_TYPE_INLINE_BROWSER: + return hasOptionsURL ? addon.optionsType : null; + } + return null; + } + + return null; +}); + +XPIDatabase.isDisabledLegacy = () => false; + +XPCOMUtils.defineLazyGetter(this, "BOOTSTRAP_REASONS", () => { + const { XPIProvider } = ChromeUtils.import( + "resource://gre/modules/addons/XPIProvider.jsm" + ); + return XPIProvider.BOOTSTRAP_REASONS; +}); + +const { Log } = ChromeUtils.import("resource://gre/modules/Log.jsm"); +var logger = Log.repository.getLogger("addons.bootstrap"); + +/** + * Valid IDs fit this pattern. + */ +var gIDTest = + /^(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)$/i; + +// Properties that exist in the install manifest +const PROP_METADATA = [ + "id", + "version", + "type", + "internalName", + "updateURL", + "optionsURL", + "optionsType", + "aboutURL", + "iconURL", +]; +const PROP_LOCALE_SINGLE = ["name", "description", "creator", "homepageURL"]; +const PROP_LOCALE_MULTI = ["developers", "translators", "contributors"]; + +// Map new string type identifiers to old style nsIUpdateItem types. +// Retired values: +// 32 = multipackage xpi file +// 8 = locale +// 256 = apiextension +// 128 = experiment +// theme = 4 +const TYPES = { + extension: 2, + dictionary: 64, +}; + +const COMPATIBLE_BY_DEFAULT_TYPES = { + extension: true, + dictionary: true, +}; + +const hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); + +function isXPI(filename) { + let ext = filename.slice(-4).toLowerCase(); + return ext === ".xpi" || ext === ".zip"; +} + +/** + * Gets an nsIURI for a file within another file, either a directory or an XPI + * file. If aFile is a directory then this will return a file: URI, if it is an + * XPI file then it will return a jar: URI. + * + * @param {nsIFile} aFile + * The file containing the resources, must be either a directory or an + * XPI file + * @param {string} aPath + * The path to find the resource at, '/' separated. If aPath is empty + * then the uri to the root of the contained files will be returned + * @returns {nsIURI} + * An nsIURI pointing at the resource + */ +function getURIForResourceInFile(aFile, aPath) { + if (!isXPI(aFile.leafName)) { + let resource = aFile.clone(); + if (aPath) aPath.split("/").forEach((part) => resource.append(part)); + + return Services.io.newFileURI(resource); + } + + return buildJarURI(aFile, aPath); +} + +/** + * Creates a jar: URI for a file inside a ZIP file. + * + * @param {nsIFile} aJarfile + * The ZIP file as an nsIFile + * @param {string} aPath + * The path inside the ZIP file + * @returns {nsIURI} + * An nsIURI for the file + */ +function buildJarURI(aJarfile, aPath) { + let uri = Services.io.newFileURI(aJarfile); + uri = "jar:" + uri.spec + "!/" + aPath; + return Services.io.newURI(uri); +} + +var BootstrapLoader = { + name: "bootstrap", + manifestFile: "install.rdf", + async loadManifest(pkg) { + /** + * Reads locale properties from either the main install manifest root or + * an em:localized section in the install manifest. + * + * @param {Object} aSource + * The resource to read the properties from. + * @param {boolean} isDefault + * True if the locale is to be read from the main install manifest + * root + * @param {string[]} aSeenLocales + * An array of locale names already seen for this install manifest. + * Any locale names seen as a part of this function will be added to + * this array + * @returns {Object} + * an object containing the locale properties + */ + function readLocale(aSource, isDefault, aSeenLocales) { + let locale = {}; + if (!isDefault) { + locale.locales = []; + for (let localeName of aSource.locales || []) { + if (!localeName) { + logger.warn("Ignoring empty locale in localized properties"); + continue; + } + if (aSeenLocales.includes(localeName)) { + logger.warn("Ignoring duplicate locale in localized properties"); + continue; + } + aSeenLocales.push(localeName); + locale.locales.push(localeName); + } + + if (locale.locales.length == 0) { + logger.warn("Ignoring localized properties with no listed locales"); + return null; + } + } + + for (let prop of [...PROP_LOCALE_SINGLE, ...PROP_LOCALE_MULTI]) { + if (hasOwnProperty(aSource, prop)) { + locale[prop] = aSource[prop]; + } + } + + return locale; + } + + let manifestData = await pkg.readString("install.rdf"); + let manifest = InstallRDF.loadFromString(manifestData).decode(); + + let addon = new AddonInternal(); + for (let prop of PROP_METADATA) { + if (hasOwnProperty(manifest, prop)) { + addon[prop] = manifest[prop]; + } + } + + if (!addon.type) { + addon.type = "extension"; + } else { + let type = addon.type; + addon.type = null; + for (let name in TYPES) { + if (TYPES[name] == type) { + addon.type = name; + break; + } + } + } + + if (!(addon.type in TYPES)) + throw new Error("Install manifest specifies unknown type: " + addon.type); + + if (!addon.id) throw new Error("No ID in install manifest"); + if (!gIDTest.test(addon.id)) + throw new Error("Illegal add-on ID " + addon.id); + if (!addon.version) throw new Error("No version in install manifest"); + + addon.strictCompatibility = + !(addon.type in COMPATIBLE_BY_DEFAULT_TYPES) || + manifest.strictCompatibility == "true"; + + // Only read these properties for extensions. + if (addon.type == "extension") { + if (manifest.bootstrap != "true") { + throw new Error("Non-restartless extensions no longer supported"); + } + + if ( + addon.optionsType && + addon.optionsType != 1 /*AddonManager.OPTIONS_TYPE_DIALOG*/ && + addon.optionsType != AddonManager.OPTIONS_TYPE_INLINE_BROWSER && + addon.optionsType != AddonManager.OPTIONS_TYPE_TAB + ) { + throw new Error( + "Install manifest specifies unknown optionsType: " + addon.optionsType + ); + } + + if (addon.optionsType) addon.optionsType = parseInt(addon.optionsType); + } + + addon.defaultLocale = readLocale(manifest, true); + + let seenLocales = []; + addon.locales = []; + for (let localeData of manifest.localized || []) { + let locale = readLocale(localeData, false, seenLocales); + if (locale) addon.locales.push(locale); + } + + let dependencies = new Set(manifest.dependencies); + addon.dependencies = Object.freeze(Array.from(dependencies)); + + let seenApplications = []; + addon.targetApplications = []; + for (let targetApp of manifest.targetApplications || []) { + if (!targetApp.id || !targetApp.minVersion || !targetApp.maxVersion) { + logger.warn( + "Ignoring invalid targetApplication entry in install manifest" + ); + continue; + } + if (seenApplications.includes(targetApp.id)) { + logger.warn( + "Ignoring duplicate targetApplication entry for " + + targetApp.id + + " in install manifest" + ); + continue; + } + seenApplications.push(targetApp.id); + addon.targetApplications.push(targetApp); + } + + // Note that we don't need to check for duplicate targetPlatform entries since + // the RDF service coalesces them for us. + addon.targetPlatforms = []; + for (let targetPlatform of manifest.targetPlatforms || []) { + let platform = { + os: null, + abi: null, + }; + + let pos = targetPlatform.indexOf("_"); + if (pos != -1) { + platform.os = targetPlatform.substring(0, pos); + platform.abi = targetPlatform.substring(pos + 1); + } else { + platform.os = targetPlatform; + } + + addon.targetPlatforms.push(platform); + } + + addon.userDisabled = false; + addon.softDisabled = addon.blocklistState == Blocklist.STATE_SOFTBLOCKED; + addon.applyBackgroundUpdates = AddonManager.AUTOUPDATE_DEFAULT; + + addon.userPermissions = null; + + addon.icons = {}; + if (await pkg.hasResource("icon.png")) { + addon.icons[32] = "icon.png"; + addon.icons[48] = "icon.png"; + } + + if (await pkg.hasResource("icon64.png")) { + addon.icons[64] = "icon64.png"; + } + + return addon; + }, + + loadScope(addon) { + let file = addon.file || addon._sourceBundle; + let uri = getURIForResourceInFile(file, "bootstrap.js").spec; + let principal = Services.scriptSecurityManager.getSystemPrincipal(); + + let sandbox = new Cu.Sandbox(principal, { + sandboxName: uri, + addonId: addon.id, + wantGlobalProperties: ["ChromeUtils"], + metadata: { addonID: addon.id, URI: uri }, + }); + + try { + Object.assign(sandbox, BOOTSTRAP_REASONS); + + XPCOMUtils.defineLazyGetter( + sandbox, + "console", + () => new ConsoleAPI({ consoleID: `addon/${addon.id}` }) + ); + + Services.scriptloader.loadSubScript(uri, sandbox); + } catch (e) { + logger.warn(`Error loading bootstrap.js for ${addon.id}`, e); + } + + function findMethod(name) { + if (sandbox[name]) { + return sandbox[name]; + } + + try { + let method = Cu.evalInSandbox(name, sandbox); + return method; + } catch (err) {} + + return () => { + logger.warn(`Add-on ${addon.id} is missing bootstrap method ${name}`); + }; + } + + let install = findMethod("install"); + let uninstall = findMethod("uninstall"); + let startup = findMethod("startup"); + let shutdown = findMethod("shutdown"); + + return { + install(...args) { + install(...args); + // Forget any cached files we might've had from this extension. + Services.obs.notifyObservers(null, "startupcache-invalidate"); + }, + + uninstall(...args) { + uninstall(...args); + // Forget any cached files we might've had from this extension. + Services.obs.notifyObservers(null, "startupcache-invalidate"); + }, + + startup(...args) { + if (addon.type == "extension") { + logger.debug(`Registering manifest for ${file.path}\n`); + Components.manager.addBootstrappedManifestLocation(file); + } + return startup(...args); + }, + + shutdown(data, reason) { + try { + return shutdown(data, reason); + } catch (err) { + throw err; + } finally { + if (reason != BOOTSTRAP_REASONS.APP_SHUTDOWN) { + logger.debug(`Removing manifest for ${file.path}\n`); + Components.manager.removeBootstrappedManifestLocation(file); + } + } + }, + }; + }, +}; + +AddonManager.addExternalExtensionLoader(BootstrapLoader); + +if (AddonManager.isReady) { + AddonManager.getAllAddons().then((addons) => { + addons.forEach((addon) => { + if ( + addon.type == "extension" && + !addon.isWebExtension && + !addon.userDisabled + ) { + addon.reload(); + } + }); + }); +} diff --git a/chrome/utils/RDFDataSource.jsm b/chrome/utils/RDFDataSource.jsm new file mode 100644 index 0000000..e89244e --- /dev/null +++ b/chrome/utils/RDFDataSource.jsm @@ -0,0 +1,441 @@ + /* 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/. */ + +/** + * This module creates a new API for accessing and modifying RDF graphs. The + * goal is to be able to serialise the graph in a human readable form. Also + * if the graph was originally loaded from an RDF/XML the serialisation should + * closely match the original with any new data closely following the existing + * layout. The output should always be compatible with Mozilla's RDF parser. + * + * This is all achieved by using a DOM Document to hold the current state of the + * graph in XML form. This can be initially loaded and parsed from disk or + * a blank document used for an empty graph. As assertions are added to the + * graph, appropriate DOM nodes are added to the document to represent them + * along with any necessary whitespace to properly layout the XML. + * + * In general the order of adding assertions to the graph will impact the form + * the serialisation takes. If a resource is first added as the object of an + * assertion then it will eventually be serialised inside the assertion's + * property element. If a resource is first added as the subject of an assertion + * then it will be serialised at the top level of the XML. + */ + +const NS_XML = "http://www.w3.org/XML/1998/namespace"; +const NS_XMLNS = "http://www.w3.org/2000/xmlns/"; +const NS_RDF = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; +const NS_NC = "http://home.netscape.com/NC-rdf#"; + +/* eslint prefer-template: 1 */ + +var EXPORTED_SYMBOLS = ["RDFLiteral", "RDFBlankNode", "RDFResource", "RDFDataSource"]; + +const {XPCOMUtils} = ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm"); +const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + +XPCOMUtils.defineLazyGlobalGetters(this, ["DOMParser", "Element", "fetch"]); + +function isElement(obj) { + return Element.isInstance(obj); +} +function isText(obj) { + return obj && typeof obj == "object" && ChromeUtils.getClassName(obj) == "Text"; +} + +/** + * Returns either an rdf namespaced attribute or an un-namespaced attribute + * value. Returns null if neither exists, + */ +function getRDFAttribute(element, name) { + if (element.hasAttributeNS(NS_RDF, name)) + return element.getAttributeNS(NS_RDF, name); + if (element.hasAttribute(name)) + return element.getAttribute(name); + return undefined; +} + +/** + * Represents an assertion in the datasource + */ +class RDFAssertion { + constructor(subject, predicate, object) { + // The subject on this assertion, an RDFSubject + this._subject = subject; + // The predicate, a string + this._predicate = predicate; + // The object, an RDFNode + this._object = object; + // The datasource this assertion exists in + this._ds = this._subject._ds; + // Marks that _DOMnode is the subject's element + this._isSubjectElement = false; + // The DOM node that represents this assertion. Could be a property element, + // a property attribute or the subject's element for rdf:type + this._DOMNode = null; + } + + getPredicate() { + return this._predicate; + } + + getObject() { + return this._object; + } +} + +class RDFNode { + equals(rdfnode) { + return (rdfnode.constructor === this.constructor && + rdfnode._value == this._value); + } +} + +/** + * A simple literal value + */ +class RDFLiteral extends RDFNode { + constructor(value) { + super(); + this._value = value; + } + + getValue() { + return this._value; + } +} + +/** + * This is an RDF node that can be a subject so a resource or a blank node + */ +class RDFSubject extends RDFNode { + constructor(ds) { + super(); + // A lookup of the assertions with this as the subject. Keyed on predicate + this._assertions = {}; + // A lookup of the assertions with this as the object. Keyed on predicate + this._backwards = {}; + // The datasource this subject belongs to + this._ds = ds; + // The DOM elements in the document that represent this subject. Array of Element + this._elements = []; + } + + /** + * Parses the given Element from the DOM document + */ + /* eslint-disable complexity */ + _parseElement(element) { + this._elements.push(element); + + // There might be an inferred rdf:type assertion in the element name + if (element.namespaceURI != NS_RDF || + element.localName != "Description") { + var assertion = new RDFAssertion(this, RDF_R("type"), + this._ds.getResource(element.namespaceURI + element.localName)); + assertion._DOMnode = element; + assertion._isSubjectElement = true; + this._addAssertion(assertion); + } + + // Certain attributes can be literal properties + for (let attr of element.attributes) { + if (attr.namespaceURI == NS_XML || attr.namespaceURI == NS_XMLNS || + attr.nodeName == "xmlns") + continue; + if ((attr.namespaceURI == NS_RDF || !attr.namespaceURI) && + (["nodeID", "about", "resource", "ID", "parseType"].includes(attr.localName))) + continue; + var object = null; + if (attr.namespaceURI == NS_RDF) { + if (attr.localName == "type") + object = this._ds.getResource(attr.nodeValue); + } + if (!object) + object = new RDFLiteral(attr.nodeValue); + assertion = new RDFAssertion(this, attr.namespaceURI + attr.localName, object); + assertion._DOMnode = attr; + this._addAssertion(assertion); + } + + var child = element.firstChild; + element.listCounter = 1; + while (child) { + if (isElement(child)) { + object = null; + var predicate = child.namespaceURI + child.localName; + if (child.namespaceURI == NS_RDF) { + if (child.localName == "li") { + predicate = RDF_R(`_${element.listCounter}`); + element.listCounter++; + } + } + + // Check for and bail out on unknown attributes on the property element + for (let attr of child.attributes) { + // Ignore XML namespaced attributes + if (attr.namespaceURI == NS_XML) + continue; + // These are reserved by XML for future use + if (attr.localName.substring(0, 3).toLowerCase() == "xml") + continue; + // We can handle these RDF attributes + if ((!attr.namespaceURI || attr.namespaceURI == NS_RDF) && + ["resource", "nodeID"].includes(attr.localName)) + continue; + // This is a special attribute we handle for compatibility with Mozilla RDF + if (attr.namespaceURI == NS_NC && + attr.localName == "parseType") + continue; + } + + var parseType = child.getAttributeNS(NS_NC, "parseType"); + + var resource = getRDFAttribute(child, "resource"); + var nodeID = getRDFAttribute(child, "nodeID"); + + if (resource !== undefined) { + var base = Services.io.newURI(element.baseURI); + object = this._ds.getResource(base.resolve(resource)); + } else if (nodeID !== undefined) { + object = this._ds.getBlankNode(nodeID); + } else { + var hasText = false; + var childElement = null; + var subchild = child.firstChild; + while (subchild) { + if (isText(subchild) && /\S/.test(subchild.nodeValue)) { + hasText = true; + } else if (isElement(subchild)) { + childElement = subchild; + } + subchild = subchild.nextSibling; + } + + if (childElement) { + object = this._ds._getSubjectForElement(childElement); + object._parseElement(childElement); + } else + object = new RDFLiteral(child.textContent); + } + + assertion = new RDFAssertion(this, predicate, object); + this._addAssertion(assertion); + assertion._DOMnode = child; + } + child = child.nextSibling; + } + } + /* eslint-enable complexity */ + + /** + * Adds a new assertion to the internal hashes. Should be called for every + * new assertion parsed or created programmatically. + */ + _addAssertion(assertion) { + var predicate = assertion.getPredicate(); + if (predicate in this._assertions) + this._assertions[predicate].push(assertion); + else + this._assertions[predicate] = [ assertion ]; + + var object = assertion.getObject(); + if (object instanceof RDFSubject) { + // Create reverse assertion + if (predicate in object._backwards) + object._backwards[predicate].push(assertion); + else + object._backwards[predicate] = [ assertion ]; + } + } + + /** + * Returns all objects in assertions with this subject and the given predicate. + */ + getObjects(predicate) { + if (predicate in this._assertions) + return Array.from(this._assertions[predicate], + i => i.getObject()); + + return []; + } + + /** + * Retrieves the first property value for the given predicate. + */ + getProperty(predicate) { + if (predicate in this._assertions) + return this._assertions[predicate][0].getObject(); + return null; + } +} + +/** + * Creates a new RDFResource for the datasource. Private. + */ +class RDFResource extends RDFSubject { + constructor(ds, uri) { + super(ds); + // This is the uri that the resource represents. + this._uri = uri; + } +} + +/** + * Creates a new blank node. Private. + */ +class RDFBlankNode extends RDFSubject { + constructor(ds, nodeID) { + super(ds); + // The nodeID of this node. May be null if there is no ID. + this._nodeID = nodeID; + } + + /** + * Sets attributes on the DOM element to mark it as representing this node + */ + _applyToElement(element) { + if (!this._nodeID) + return; + if (USE_RDFNS_ATTR) { + var prefix = this._ds._resolvePrefix(element, RDF_R("nodeID")); + element.setAttributeNS(prefix.namespaceURI, prefix.qname, this._nodeID); + } else { + element.setAttribute("nodeID", this._nodeID); + } + } + + /** + * Creates a new Element in the document for holding assertions about this + * subject. The URI controls what tagname to use. + */ + _createNewElement(uri) { + // If there are already nodes representing this in the document then we need + // a nodeID to match them + if (!this._nodeID && this._elements.length > 0) { + this._ds._createNodeID(this); + for (let element of this._elements) + this._applyToElement(element); + } + + return super._createNewElement.call(uri); + } + + /** + * Adds a reference to this node to the given property Element. + */ + _addReferenceToElement(element) { + if (this._elements.length > 0 && !this._nodeID) { + // In document elsewhere already + // Create a node ID and update the other nodes referencing + this._ds._createNodeID(this); + for (let element of this._elements) + this._applyToElement(element); + } + + if (this._nodeID) { + if (USE_RDFNS_ATTR) { + let prefix = this._ds._resolvePrefix(element, RDF_R("nodeID")); + element.setAttributeNS(prefix.namespaceURI, prefix.qname, this._nodeID); + } else { + element.setAttribute("nodeID", this._nodeID); + } + } else { + // Add the empty blank node, this is generally right since further + // assertions will be added to fill this out + var newelement = this._ds._addElement(element, RDF_R("Description")); + newelement.listCounter = 1; + this._elements.push(newelement); + } + } + + /** + * Removes any reference to this node from the given property Element. + */ + _removeReferenceFromElement(element) { + if (element.hasAttributeNS(NS_RDF, "nodeID")) + element.removeAttributeNS(NS_RDF, "nodeID"); + if (element.hasAttribute("nodeID")) + element.removeAttribute("nodeID"); + } + + getNodeID() { + return this._nodeID; + } +} + +/** + * Creates a new RDFDataSource from the given document. The document will be + * changed as assertions are added and removed to the RDF. Pass a null document + * to start with an empty graph. + */ +class RDFDataSource { + constructor(document) { + // All known resources, indexed on URI + this._resources = {}; + // All blank nodes + this._allBlankNodes = []; + + // The underlying DOM document for this datasource + this._document = document; + this._parseDocument(); + } + + static loadFromString(text) { + let parser = new DOMParser(); + let document = parser.parseFromString(text, "application/xml"); + + return new this(document); + } + + /** + * Returns an rdf subject for the given DOM Element. If the subject has not + * been seen before a new one is created. + */ + _getSubjectForElement(element) { + var about = getRDFAttribute(element, "about"); + + if (about !== undefined) { + let base = Services.io.newURI(element.baseURI); + return this.getResource(base.resolve(about)); + } + return this.getBlankNode(null); + } + + /** + * Parses the document for subjects at the top level. + */ + _parseDocument() { + var domnode = this._document.documentElement.firstChild; + while (domnode) { + if (isElement(domnode)) { + var subject = this._getSubjectForElement(domnode); + subject._parseElement(domnode); + } + domnode = domnode.nextSibling; + } + } + + /** + * Gets a blank node. nodeID may be null and if so a new blank node is created. + * If a nodeID is given then the blank node with that ID is returned or created. + */ + getBlankNode(nodeID) { + var rdfnode = new RDFBlankNode(this, nodeID); + this._allBlankNodes.push(rdfnode); + return rdfnode; + } + + /** + * Gets the resource for the URI. The resource is created if it has not been + * used already. + */ + getResource(uri) { + if (uri in this._resources) + return this._resources[uri]; + + var resource = new RDFResource(this, uri); + this._resources[uri] = resource; + return resource; + } +} diff --git a/chrome/utils/RDFManifestConverter.jsm b/chrome/utils/RDFManifestConverter.jsm new file mode 100644 index 0000000..370c388 --- /dev/null +++ b/chrome/utils/RDFManifestConverter.jsm @@ -0,0 +1,102 @@ + /* 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/. */ +"use strict"; + +var EXPORTED_SYMBOLS = ["InstallRDF"]; + +ChromeUtils.defineModuleGetter(this, "RDFDataSource", + "chrome://userchromejs/content/RDFDataSource.jsm"); + +const RDFURI_INSTALL_MANIFEST_ROOT = "urn:mozilla:install-manifest"; + +function EM_R(aProperty) { + return `http://www.mozilla.org/2004/em-rdf#${aProperty}`; +} + +function getValue(literal) { + return literal && literal.getValue(); +} + +function getProperty(resource, property) { + return getValue(resource.getProperty(EM_R(property))); +} + +class Manifest { + constructor(ds) { + this.ds = ds; + } + + static loadFromString(text) { + return new this(RDFDataSource.loadFromString(text)); + } +} + +class InstallRDF extends Manifest { + _readProps(source, obj, props) { + for (let prop of props) { + let val = getProperty(source, prop); + if (val != null) { + obj[prop] = val; + } + } + } + + _readArrayProp(source, obj, prop, target, decode = getValue) { + let result = Array.from(source.getObjects(EM_R(prop)), + target => decode(target)); + if (result.length) { + obj[target] = result; + } + } + + _readArrayProps(source, obj, props, decode = getValue) { + for (let [prop, target] of Object.entries(props)) { + this._readArrayProp(source, obj, prop, target, decode); + } + } + + _readLocaleStrings(source, obj) { + this._readProps(source, obj, ["name", "description", "creator", "homepageURL"]); + this._readArrayProps(source, obj, { + locale: "locales", + developer: "developers", + translator: "translators", + contributor: "contributors", + }); + } + + decode() { + let root = this.ds.getResource(RDFURI_INSTALL_MANIFEST_ROOT); + let result = {}; + + let props = ["id", "version", "type", "updateURL", "optionsURL", + "optionsType", "aboutURL", "iconURL", + "bootstrap", "unpack", "strictCompatibility"]; + this._readProps(root, result, props); + + let decodeTargetApplication = source => { + let app = {}; + this._readProps(source, app, ["id", "minVersion", "maxVersion"]); + return app; + }; + + let decodeLocale = source => { + let localized = {}; + this._readLocaleStrings(source, localized); + return localized; + }; + + this._readLocaleStrings(root, result); + + this._readArrayProps(root, result, {"targetPlatform": "targetPlatforms"}); + this._readArrayProps(root, result, {"targetApplication": "targetApplications"}, + decodeTargetApplication); + this._readArrayProps(root, result, {"localized": "localized"}, + decodeLocale); + this._readArrayProps(root, result, {"dependency": "dependencies"}, + source => getProperty(source, "id")); + + return result; + } +} diff --git a/chrome/utils/aboutconfig/aboutconfig.xhtml b/chrome/utils/aboutconfig/aboutconfig.xhtml new file mode 100644 index 0000000..80fafa0 --- /dev/null +++ b/chrome/utils/aboutconfig/aboutconfig.xhtml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/chrome/utils/userChrome.jsm b/chrome/utils/userChrome.jsm new file mode 100644 index 0000000..44d871b --- /dev/null +++ b/chrome/utils/userChrome.jsm @@ -0,0 +1,222 @@ +let EXPORTED_SYMBOLS = []; + +const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; +const { xPref } = ChromeUtils.import('chrome://userchromejs/content/xPref.jsm'); +const { Management } = ChromeUtils.import('resource://gre/modules/Extension.jsm'); +const { AppConstants } = ChromeUtils.import('resource://gre/modules/AppConstants.jsm'); + +let UC = { + webExts: new Map(), + sidebar: new Map() +}; + +let _uc = { + ALWAYSEXECUTE: 'rebuild_userChrome.uc.js', + BROWSERCHROME: AppConstants.MOZ_APP_NAME == 'thunderbird' ? 'chrome://messenger/content/messenger.xhtml' : 'chrome://browser/content/browser.xhtml', + BROWSERTYPE: AppConstants.MOZ_APP_NAME == 'thunderbird' ? 'mail:3pane' : 'navigator:browser', + BROWSERNAME: AppConstants.MOZ_APP_NAME.charAt(0).toUpperCase() + AppConstants.MOZ_APP_NAME.slice(1), + PREF_ENABLED: 'userChromeJS.enabled', + PREF_SCRIPTSDISABLED: 'userChromeJS.scriptsDisabled', + + chromedir: Services.dirsvc.get('UChrm', Ci.nsIFile), + scriptsDir: '', + + sss: Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService), + + getScripts: function () { + this.scripts = {}; + let files = this.chromedir.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator); + while (files.hasMoreElements()) { + let file = files.getNext().QueryInterface(Ci.nsIFile); + if (/\.uc\.js$/i.test(file.leafName)) { + _uc.getScriptData(file); + } + } + }, + + getScriptData: function (aFile) { + let aContent = this.readFile(aFile); + let header = (aContent.match(/^\/\/ ==UserScript==\s*\n(?:.*\n)*?\/\/ ==\/UserScript==\s*\n/m) || [''])[0]; + let match, rex = { + include: [], + exclude: [] + }; + let findNextRe = /^\/\/ @(include|exclude)\s+(.+)\s*$/gm; + while ((match = findNextRe.exec(header))) { + rex[match[1]].push(match[2].replace(/^main$/i, _uc.BROWSERCHROME).replace(/\*/g, '.*?')); + } + if (!rex.include.length) { + rex.include.push(_uc.BROWSERCHROME); + } + let exclude = rex.exclude.length ? '(?!' + rex.exclude.join('$|') + '$)' : ''; + + let def = ['', '']; + let author = (header.match(/\/\/ @author\s+(.+)\s*$/im) || def)[1]; + let filename = aFile.leafName || ''; + + return this.scripts[filename] = { + filename: filename, + file: aFile, + url: Services.io.getProtocolHandler('file').QueryInterface(Ci.nsIFileProtocolHandler).getURLSpecFromDir(this.chromedir) + filename, + name: (header.match(/\/\/ @name\s+(.+)\s*$/im) || def)[1], + description: (header.match(/\/\/ @description\s+(.+)\s*$/im) || def)[1], + version: (header.match(/\/\/ @version\s+(.+)\s*$/im) || def)[1], + author: (header.match(/\/\/ @author\s+(.+)\s*$/im) || def)[1], + regex: new RegExp('^' + exclude + '(' + (rex.include.join('|') || '.*') + ')$', 'i'), + id: (header.match(/\/\/ @id\s+(.+)\s*$/im) || ['', filename.split('.uc.js')[0] + '@' + (author || 'userChromeJS')])[1], + homepageURL: (header.match(/\/\/ @homepageURL\s+(.+)\s*$/im) || def)[1], + downloadURL: (header.match(/\/\/ @downloadURL\s+(.+)\s*$/im) || def)[1], + updateURL: (header.match(/\/\/ @updateURL\s+(.+)\s*$/im) || def)[1], + optionsURL: (header.match(/\/\/ @optionsURL\s+(.+)\s*$/im) || def)[1], + startup: (header.match(/\/\/ @startup\s+(.+)\s*$/im) || def)[1], + shutdown: (header.match(/\/\/ @shutdown\s+(.+)\s*$/im) || def)[1], + onlyonce: /\/\/ @onlyonce\b/.test(header), + isRunning: false, + get isEnabled() { + return (xPref.get(_uc.PREF_SCRIPTSDISABLED) || '').split(',').indexOf(this.filename) == -1; + } + } + }, + + readFile: function (aFile, metaOnly = false) { + let stream = Cc['@mozilla.org/network/file-input-stream;1'].createInstance(Ci.nsIFileInputStream); + stream.init(aFile, 0x01, 0, 0); + let cvstream = Cc['@mozilla.org/intl/converter-input-stream;1'].createInstance(Ci.nsIConverterInputStream); + cvstream.init(stream, 'UTF-8', 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); + let content = '', + data = {}; + while (cvstream.readString(4096, data)) { + content += data.value; + if (metaOnly && content.indexOf('// ==/UserScript==') > 0) { + break; + } + } + cvstream.close(); + return content.replace(/\r\n?/g, '\n'); + }, + + everLoaded: [], + + loadScript: function (script, win) { + if (!script.regex.test(win.location.href) || (script.filename != this.ALWAYSEXECUTE && !script.isEnabled)) { + return; + } + + if (script.onlyonce && script.isRunning) { + if (script.startup) { + eval(script.startup); + } + return; + } + + try { + Services.scriptloader.loadSubScript(script.url + '?' + script.file.lastModifiedTime, + script.onlyonce ? { window: win } : win); + script.isRunning = true; + if (script.startup) { + eval(script.startup); + } + if (!script.shutdown) { + this.everLoaded.push(script.id); + } + } catch (ex) { + Cu.reportError(ex); + } + }, + + windows: function (fun, onlyBrowsers = true) { + let windows = Services.wm.getEnumerator(onlyBrowsers ? this.BROWSERTYPE : null); + while (windows.hasMoreElements()) { + let win = windows.getNext(); + if (!win._uc) + continue; + if (!onlyBrowsers) { + let frames = win.docShell.getAllDocShellsInSubtree(Ci.nsIDocShellTreeItem.typeAll, Ci.nsIDocShell.ENUMERATE_FORWARDS); + let res = frames.some(frame => { + let fWin = frame.domWindow; + let {document, location} = fWin; + if (fun(document, fWin, location)) + return true; + }); + if (res) + break; + } else { + let {document, location} = win; + if (fun(document, win, location)) + break; + } + } + }, + + createElement: function (doc, tag, atts, XUL = true) { + let el = XUL ? doc.createXULElement(tag) : doc.createElement(tag); + for (let att in atts) { + el.setAttribute(att, atts[att]); + } + return el + } +}; + +if (xPref.get(_uc.PREF_ENABLED) === undefined) { + xPref.set(_uc.PREF_ENABLED, true, true); +} + +if (xPref.get(_uc.PREF_SCRIPTSDISABLED) === undefined) { + xPref.set(_uc.PREF_SCRIPTSDISABLED, '', true); +} + +let UserChrome_js = { + observe: function (aSubject) { + aSubject.addEventListener('DOMContentLoaded', this, {once: true}); + }, + + handleEvent: function (aEvent) { + let document = aEvent.originalTarget; + let window = document.defaultView; + let location = window.location; + + if (!this.sharedWindowOpened && location.href == 'chrome://extensions/content/dummy.xhtml') { + this.sharedWindowOpened = true; + + Management.on('extension-browser-inserted', function (topic, browser) { + browser.messageManager.addMessageListener('Extension:ExtensionViewLoaded', this.messageListener.bind(this)); + }.bind(this)); + } else if (/^(chrome:(?!\/\/global\/content\/commonDialog\.x?html)|about:(?!blank))/i.test(location.href)) { + window.UC = UC; + window._uc = _uc; + window.xPref = xPref; + if (window._gBrowser) // bug 1443849 + window.gBrowser = window._gBrowser; + + if (xPref.get(_uc.PREF_ENABLED)) { + Object.values(_uc.scripts).forEach(script => { + _uc.loadScript(script, window); + }); + } else if (!UC.rebuild) { + _uc.loadScript(_uc.scripts[_uc.ALWAYSEXECUTE], window); + } + } + }, + + messageListener: function (msg) { + const browser = msg.target; + const { addonId } = browser._contentPrincipal; + + browser.messageManager.removeMessageListener('Extension:ExtensionViewLoaded', this.messageListener); + + if (browser.ownerGlobal.location.href == 'chrome://extensions/content/dummy.xhtml') { + UC.webExts.set(addonId, browser); + Services.obs.notifyObservers(null, 'UCJS:WebExtLoaded', addonId); + } else { + let win = browser.ownerGlobal.windowRoot.ownerGlobal; + UC.sidebar.get(addonId)?.set(win, browser) || UC.sidebar.set(addonId, new Map([[win, browser]])); + Services.obs.notifyObservers(win, 'UCJS:SidebarLoaded', addonId); + } + } +}; + +if (!Services.appinfo.inSafeMode) { + _uc.chromedir.append(_uc.scriptsDir); + _uc.getScripts(); + Services.obs.addObserver(UserChrome_js, 'chrome-document-global-created', false); +} diff --git a/chrome/utils/xPref.jsm b/chrome/utils/xPref.jsm new file mode 100644 index 0000000..5cbf7cb --- /dev/null +++ b/chrome/utils/xPref.jsm @@ -0,0 +1,94 @@ +let EXPORTED_SYMBOLS = ['xPref']; + +const Services = globalThis.Services || ChromeUtils.import("resource://gre/modules/Services.jsm").Services; + +var xPref = { + // Retorna o valor da preferência, seja qual for o tipo, mas não + // testei com tipos complexos como nsIFile, não sei como detectar + // uma preferência assim, na verdade nunca vi uma + get: function (prefPath, def = false, valueIfUndefined, setDefault = true) { + let sPrefs = def ? + Services.prefs.getDefaultBranch(null) : + Services.prefs; + + try { + switch (sPrefs.getPrefType(prefPath)) { + case 0: + if (valueIfUndefined != undefined) + return this.set(prefPath, valueIfUndefined, setDefault); + else + return undefined; + case 32: + return sPrefs.getStringPref(prefPath); + case 64: + return sPrefs.getIntPref(prefPath); + case 128: + return sPrefs.getBoolPref(prefPath); + } + } catch (ex) { + return undefined; + } + return; + }, + + set: function (prefPath, value, def = false) { + let sPrefs = def ? + Services.prefs.getDefaultBranch(null) : + Services.prefs; + + switch (typeof value) { + case 'string': + return sPrefs.setStringPref(prefPath, value) || value; + case 'number': + return sPrefs.setIntPref(prefPath, value) || value; + case 'boolean': + return sPrefs.setBoolPref(prefPath, value) || value; + } + return; + }, + + lock: function (prefPath, value) { + let sPrefs = Services.prefs; + this.lockedBackupDef[prefPath] = this.get(prefPath, true); + if (sPrefs.prefIsLocked(prefPath)) + sPrefs.unlockPref(prefPath); + + this.set(prefPath, value, true); + sPrefs.lockPref(prefPath); + }, + + lockedBackupDef: {}, + + unlock: function (prefPath) { + Services.prefs.unlockPref(prefPath); + let bkp = this.lockedBackupDef[prefPath]; + if (bkp == undefined) + Services.prefs.deleteBranch(prefPath); + else + this.set(prefPath, bkp, true); + }, + + clear: Services.prefs.clearUserPref, + + // Detecta mudanças na preferência e retorna: + // return[0]: valor da preferência alterada + // return[1]: nome da preferência alterada + // Guardar chamada numa var se quiser interrompê-la depois + addListener: function (prefPath, trat) { + this.observer = function (aSubject, aTopic, prefPath) { + return trat(xPref.get(prefPath), prefPath); + } + + Services.prefs.addObserver(prefPath, this.observer); + return { + prefPath: prefPath, + observer: this.observer + }; + }, + + // Encerra pref observer + // Só precisa passar a var definida quando adicionou + removeListener: function (obs) { + Services.prefs.removeObserver(obs.prefPath, obs.observer); + } +} diff --git a/ffroot/browser/chrome/icons/default/_main-window.ico b/ffroot/browser/chrome/icons/default/_main-window.ico new file mode 100644 index 0000000000000000000000000000000000000000..dd52a9c1c17c0d226ed7b7fce74ef97897539863 GIT binary patch literal 4150 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 I;P00I2G>4Jp8x;= literal 0 HcmV?d00001 diff --git a/ffroot/config.js b/ffroot/config.js new file mode 100644 index 0000000..d2c47d0 --- /dev/null +++ b/ffroot/config.js @@ -0,0 +1,34 @@ +// skip 1st line +lockPref("xpinstall.signatures.required", false); +lockPref("extensions.install_origins.enabled", false); + +try { + const cmanifest = Cc["@mozilla.org/file/directory_service;1"] + .getService(Ci.nsIProperties) + .get("UChrm", Ci.nsIFile); + cmanifest.append("utils"); + cmanifest.append("chrome.manifest"); + Components.manager + .QueryInterface(Ci.nsIComponentRegistrar) + .autoRegister(cmanifest); + + const objRef = ChromeUtils.import( + "resource://gre/modules/addons/AddonSettings.jsm" + ); + const temp = Object.assign( + {}, + Object.getOwnPropertyDescriptors(objRef.AddonSettings), + { + REQUIRE_SIGNING: { value: false }, + } + ); + objRef.AddonSettings = Object.defineProperties({}, temp); +} catch (err) {} + +try { + Cu.import("chrome://userchromejs/content/BootstrapLoader.jsm"); +} catch (err) {} + +try { + Cu.import("chrome://userchromejs/content/userChrome.jsm"); +} catch (err) {} diff --git a/ffroot/defaults/pref/channel-prefs.js b/ffroot/defaults/pref/channel-prefs.js new file mode 100644 index 0000000..a545242 --- /dev/null +++ b/ffroot/defaults/pref/channel-prefs.js @@ -0,0 +1,9 @@ +/* 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/. */ +// +// This pref is in its own file for complex reasons. See the comment in +// browser/app/Makefile.in, bug 756325, and bug 1431342 for details. Do not add +// other prefs to this file. + +pref("app.update.channel", "aurora"); diff --git a/ffroot/defaults/pref/config-prefs.js b/ffroot/defaults/pref/config-prefs.js new file mode 100644 index 0000000..65ff8af --- /dev/null +++ b/ffroot/defaults/pref/config-prefs.js @@ -0,0 +1,3 @@ +pref("general.config.obscure_value", 0); +pref("general.config.filename", "config.js"); +pref("general.config.sandbox_enabled", false); \ No newline at end of file