diff --git a/l10n b/l10n
index 5185d8bad..d6e073a98 160000
--- a/l10n
+++ b/l10n
@@ -1 +1 @@
-Subproject commit 5185d8badc790814c015b306d456bd7e2233dde9
+Subproject commit d6e073a9816b4941ebfd6055c8193456307fcbce
diff --git a/src/browser/base/content/ZenCustomizableUI.sys.mjs b/src/browser/base/content/ZenCustomizableUI.sys.mjs
new file mode 100644
index 000000000..006004186
--- /dev/null
+++ b/src/browser/base/content/ZenCustomizableUI.sys.mjs
@@ -0,0 +1,127 @@
+
+export var ZenCustomizableUI = new class {
+ constructor() {}
+
+ TYPE_TOOLBAR = 'toolbar';
+ defaultSidebarIcons = [
+ 'zen-sidepanel-button',
+ 'zen-workspaces-button',
+ 'new-tab-button'
+ ];
+
+ startup(CustomizableUIInternal) {
+ CustomizableUIInternal.registerArea(
+ "zen-sidebar-top-buttons",
+ {
+ type: this.TYPE_TOOLBAR,
+ defaultPlacements: [
+ "PanelUI-menu-button", "zen-expand-sidebar-button", "zen-profile-button"
+ ],
+ defaultCollapsed: null,
+ }
+ );
+ CustomizableUIInternal.registerArea(
+ "zen-sidebar-icons-wrapper",
+ {
+ type: this.TYPE_TOOLBAR,
+ defaultPlacements: this.defaultSidebarIcons,
+ defaultCollapsed: null,
+ }
+ );
+ }
+
+ // We do not have access to the window object here
+ init(window) {
+ this._addSidebarButtons(window);
+ this._hideToolbarButtons(window);
+ }
+
+ _addSidebarButtons(window) {
+ const sidebarBox = window.MozXULElement.parseXULToFragment(`
+
+ `);
+ window.document.getElementById('navigator-toolbox').prepend(sidebarBox);
+ const sideBarTopButtons = window.document.getElementById('zen-sidebar-top-buttons')
+ .querySelector('#zen-sidebar-top-buttons-customization-target');
+
+ const newTab = window.document.getElementById('vertical-tabs-newtab-button');
+ newTab.classList.add('zen-sidebar-action-button');
+
+ window.CustomizableUI.registerToolbarNode(
+ window.document.getElementById('zen-sidebar-top-buttons')
+ );
+
+ const panelMenu = window.document.getElementById('PanelUI-menu-button');
+ panelMenu.classList.add('zen-sidebar-action-button');
+ panelMenu.setAttribute('cui-areatype', 'toolbar');
+
+ sideBarTopButtons.prepend(panelMenu);
+
+ for (let id of this.defaultSidebarIcons) {
+ const elem = window.document.getElementById(id);
+ if (id === 'zen-workspaces-button' || !elem) continue;
+ elem.setAttribute('removable', 'true');
+ }
+
+ window.CustomizableUI.registerToolbarNode(
+ window.document.getElementById('zen-sidebar-icons-wrapper')
+ );
+
+ this._moveWindowButtons(window);
+ }
+
+ _moveWindowButtons(window) {
+ const windowControls = window.document.getElementsByClassName('titlebar-buttonbox-container');
+ const toolboxIcons = window.document.getElementById('zen-sidebar-top-buttons-customization-target');
+ if (window.AppConstants.platform === "macosx") {
+ for (let i = 0; i < windowControls.length; i++) {
+ if (i === 0) {
+ toolboxIcons.prepend(windowControls[i]);
+ continue;
+ }
+ windowControls[i].remove();
+ }
+ }
+ }
+
+ _hideToolbarButtons(window) {
+ const elementsToHide = [
+ 'alltabs-button',
+ ];
+ for (let id of elementsToHide) {
+ const elem = window.document.getElementById(id);
+ if (elem) {
+ elem.setAttribute('hidden', 'true');
+ }
+ }
+ }
+};
diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs
index 18bf6064a..45c3e89a4 100644
--- a/src/browser/base/content/ZenStartup.mjs
+++ b/src/browser/base/content/ZenStartup.mjs
@@ -128,122 +128,6 @@
splitter.setAttribute('resizebefore', 'sibling');
splitter.setAttribute('resizeafter', 'none');
toolbox.insertAdjacentElement('afterend', splitter);
-
- this._addSidebarButtons();
- this._hideToolbarButtons();
- },
-
- _moveWindowButtons() {
- const windowControls = document.getElementsByClassName('titlebar-buttonbox-container');
- const toolboxIcons = document.getElementById('zen-sidebar-top-buttons-customization-target');
- if (AppConstants.platform === "macosx") {
- for (let i = 0; i < windowControls.length; i++) {
- if (i === 0) {
- toolboxIcons.prepend(windowControls[i]);
- continue;
- }
- windowControls[i].remove();
- }
- }
- },
-
- _hideToolbarButtons() {
- const elementsToHide = [
- 'alltabs-button',
- ];
- for (let id of elementsToHide) {
- const elem = document.getElementById(id);
- if (elem) {
- elem.setAttribute('hidden', 'true');
- }
- }
- },
-
- _addSidebarButtons() {
- const sidebarBox = window.MozXULElement.parseXULToFragment(`
-
- `);
- document.getElementById('navigator-toolbox').prepend(sidebarBox);
- const sideBarTopButtons = document.getElementById('zen-sidebar-top-buttons')
- .querySelector('#zen-sidebar-top-buttons-customization-target');
-
- const newTab = document.getElementById('vertical-tabs-newtab-button');
- newTab.classList.add('zen-sidebar-action-button');
-
- setTimeout(() => {
- CustomizableUI.registerArea(
- "zen-sidebar-top-buttons",
- {
- type: CustomizableUI.TYPE_TOOLBAR,
- defaultPlacements: [
- "PanelUI-menu-button", "zen-expand-sidebar-button", "zen-profile-button"
- ],
- defaultCollapsed: null,
- }
- );
- CustomizableUI.registerToolbarNode(
- document.getElementById('zen-sidebar-top-buttons')
- );
-
- const panelMenu = document.getElementById('PanelUI-menu-button');
- panelMenu.classList.add('zen-sidebar-action-button');
- panelMenu.setAttribute('cui-areatype', 'toolbar');
-
- sideBarTopButtons.prepend(panelMenu);
-
- const defaultSidebarIcons = [
- 'zen-sidepanel-button',
- 'zen-workspaces-button',
- 'new-tab-button'
- ];
- for (let id of defaultSidebarIcons) {
- const elem = document.getElementById(id);
- if (id === 'zen-workspaces-button' || !elem) continue;
- elem.setAttribute('removable', 'true');
- }
- CustomizableUI.registerArea(
- "zen-sidebar-icons-wrapper",
- {
- type: CustomizableUI.TYPE_TOOLBAR,
- defaultPlacements: defaultSidebarIcons,
- defaultCollapsed: null,
- }
- );
- CustomizableUI.registerToolbarNode(
- document.getElementById('zen-sidebar-icons-wrapper')
- );
-
- this._moveWindowButtons();
- }, 100);
},
_focusSearchBar() {
@@ -260,9 +144,9 @@
If you have any questions or need help, please contact us in any media in https://zen-browser.app/
- Note: This developer console is not the same as the browser console, it has access to Zen's internal functions and variables,
- including your passwords and other sensitive information. Please do not paste any code here unless you know what you are doing.
-`);
+ Note: This developer console is not the same as the browser console, it has access to Zen's internal functions and variables, including your passwords and other sensitive information. Please do not paste any code here unless you know what you are doing.
+
+ `);
}
};
diff --git a/src/browser/base/content/browser-init-js.patch b/src/browser/base/content/browser-init-js.patch
index 5b816d152..3b7de3467 100644
--- a/src/browser/base/content/browser-init-js.patch
+++ b/src/browser/base/content/browser-init-js.patch
@@ -1,8 +1,16 @@
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
-index f8d49ac2a3a62f389ea44b07a26fcb102abc0b24..c29415e10c776ebc435f33e55f8afb71f0dcf22a 100644
+index bee5309c04775adff8652bfe6c54b2d466e821ac..e9741628dcc9eda3500f69441bae293548179e71 100644
--- a/browser/base/content/browser-init.js
+++ b/browser/base/content/browser-init.js
-@@ -237,6 +237,10 @@ var gBrowserInit = {
+@@ -143,6 +143,7 @@ var gBrowserInit = {
+ gNavToolbox.palette = document.getElementById(
+ "BrowserToolbarPalette"
+ ).content;
++ ZenCustomizableUI.init(window);
+ for (let area of CustomizableUI.areas) {
+ let type = CustomizableUI.getAreaType(area);
+ if (type == CustomizableUI.TYPE_TOOLBAR) {
+@@ -239,6 +240,10 @@ var gBrowserInit = {
gPrivateBrowsingUI.init();
BrowserSearch.init();
BrowserPageActions.init();
diff --git a/src/browser/base/content/browser-js.patch b/src/browser/base/content/browser-js.patch
index 9aed4b7d2..9944a908c 100644
--- a/src/browser/base/content/browser-js.patch
+++ b/src/browser/base/content/browser-js.patch
@@ -1,8 +1,16 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
-index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b915a3ea700 100644
+index a29d7a84e84651ea0bdc9be8e4ac650bde2e048a..e1d1cf3bb925b8efb1411d1dc77a56f086858b5a 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
-@@ -630,6 +630,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
+@@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, {
+ ContextualIdentityService:
+ "resource://gre/modules/ContextualIdentityService.sys.mjs",
+ CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
++ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
+ DevToolsSocketStatus:
+ "resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
+ DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
+@@ -629,6 +630,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
false
);
@@ -18,7 +26,7 @@ index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b91
customElements.setElementCreationCallback("screenshots-buttons", () => {
Services.scriptloader.loadSubScript(
"chrome://browser/content/screenshots/screenshots-buttons.js",
-@@ -3679,6 +3688,9 @@ var XULBrowserWindow = {
+@@ -3435,6 +3445,9 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@@ -28,7 +36,7 @@ index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b91
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
-@@ -5001,7 +5013,7 @@ function setToolbarVisibility(
+@@ -4769,7 +4782,7 @@ function setToolbarVisibility(
);
}
@@ -37,7 +45,7 @@ index b18f371a47fec53882c3dfb68e34d1a474eaf446..2c183d7e7fc65e00403f5e40e7859b91
switch (isVisible) {
case true:
case "always":
-@@ -7832,6 +7844,12 @@ var gDialogBox = {
+@@ -7609,6 +7622,12 @@ var gDialogBox = {
parentElement.showModal();
this._didOpenHTMLDialog = true;
diff --git a/src/browser/base/content/zen-assets.jar.inc.mn b/src/browser/base/content/zen-assets.jar.inc.mn
index 3e828a6b1..3ebe9fd3a 100644
--- a/src/browser/base/content/zen-assets.jar.inc.mn
+++ b/src/browser/base/content/zen-assets.jar.inc.mn
@@ -3,6 +3,7 @@
content/browser/zenThemeModifier.js (content/zenThemeModifier.js)
content/browser/ZenStartup.mjs (content/ZenStartup.mjs)
content/browser/ZenUIManager.mjs (content/ZenUIManager.mjs)
+ content/browser/ZenCustomizableUI.sys.mjs (content/ZenCustomizableUI.sys.mjs)
content/browser/zen-components/ZenCompactMode.mjs (content/zen-components/src/ZenCompactMode.mjs)
content/browser/zen-components/ZenViewSplitter.mjs (content/zen-components/src/ZenViewSplitter.mjs)
content/browser/zen-components/ZenThemesCommon.mjs (content/zen-components/src/ZenThemesCommon.mjs)
diff --git a/src/browser/base/content/zen-styles/zen-sidebar.css b/src/browser/base/content/zen-styles/zen-sidebar.css
index 8012776ac..5c1b895bf 100644
--- a/src/browser/base/content/zen-styles/zen-sidebar.css
+++ b/src/browser/base/content/zen-styles/zen-sidebar.css
@@ -4,6 +4,15 @@ toolbar {
}
#zen-profile-button {
+
+ & stack {
+ padding: 0;
+ }
+
+ & .toolbarbutton-badge {
+ display: none !important;
+ }
+
& #zen-profile-button-icon {
width: 16px;
height: 16px;
diff --git a/src/browser/components/customizableui/CustomizableUI-sys-mjs.patch b/src/browser/components/customizableui/CustomizableUI-sys-mjs.patch
index 03d93876e..600b5c952 100644
--- a/src/browser/components/customizableui/CustomizableUI-sys-mjs.patch
+++ b/src/browser/components/customizableui/CustomizableUI-sys-mjs.patch
@@ -1,8 +1,16 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
-index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..07ecece92643203d376378818facfc55774c63e9 100644
+index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..aa7d86770cce41a720e92f63392a763b16381f55 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
-@@ -25,7 +25,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
+@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
+ AddonManagerPrivate: "resource://gre/modules/AddonManager.sys.mjs",
+ BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
+ CustomizableWidgets: "resource:///modules/CustomizableWidgets.sys.mjs",
++ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
+ HomePage: "resource:///modules/HomePage.sys.mjs",
+ PanelMultiView: "resource:///modules/PanelMultiView.sys.mjs",
+ PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
+@@ -25,7 +26,7 @@ ChromeUtils.defineLazyGetter(lazy, "gWidgetsBundle", function () {
return Services.strings.createBundle(kUrl);
});
@@ -11,7 +19,16 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..07ecece92643203d376378818facfc55
const kSpecialWidgetPfx = "customizableui-special-";
-@@ -253,10 +253,9 @@ var CustomizableUIInternal = {
+@@ -222,6 +223,8 @@ var CustomizableUIInternal = {
+ this._updateForNewProtonVersion();
+ this._markObsoleteBuiltinButtonsSeen();
+
++ lazy.ZenCustomizableUI.startup(this);
++
+ this.registerArea(
+ CustomizableUI.AREA_FIXED_OVERFLOW_PANEL,
+ {
+@@ -253,10 +256,9 @@ var CustomizableUIInternal = {
"spring",
"urlbar-container",
"spring",
@@ -23,7 +40,7 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..07ecece92643203d376378818facfc55
lazy.resetPBMToolbarButtonEnabled ? "reset-pbm-toolbar-button" : null,
].filter(name => name);
-@@ -288,10 +287,10 @@ var CustomizableUIInternal = {
+@@ -288,10 +290,10 @@ var CustomizableUIInternal = {
{
type: CustomizableUI.TYPE_TOOLBAR,
defaultPlacements: [
@@ -37,7 +54,7 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..07ecece92643203d376378818facfc55
],
defaultCollapsed: null,
},
-@@ -331,6 +330,7 @@ var CustomizableUIInternal = {
+@@ -331,6 +333,7 @@ var CustomizableUIInternal = {
CustomizableUI.AREA_NAVBAR,
CustomizableUI.AREA_BOOKMARKS,
CustomizableUI.AREA_TABSTRIP,
@@ -45,3 +62,13 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..07ecece92643203d376378818facfc55
]);
if (AppConstants.platform != "macosx") {
toolbars.add(CustomizableUI.AREA_MENUBAR);
+@@ -3289,6 +3292,9 @@ var CustomizableUIInternal = {
+ gSeenWidgets.add(widgetId);
+ }
+ }
++
++
++
+ if (gSeenWidgets.size || gNewElementCount) {
+ gDirty = true;
+ this.saveState();
diff --git a/src/browser/themes/BuiltInThemeConfig-sys-mjs.patch b/src/browser/themes/BuiltInThemeConfig-sys-mjs.patch
index 5ae0fa162..f77fd03c6 100644
--- a/src/browser/themes/BuiltInThemeConfig-sys-mjs.patch
+++ b/src/browser/themes/BuiltInThemeConfig-sys-mjs.patch
@@ -1,8 +1,8 @@
diff --git a/browser/themes/BuiltInThemeConfig.sys.mjs b/browser/themes/BuiltInThemeConfig.sys.mjs
-index 7cfea4b705a1338b1eb5c4f255808aeac4bdb819..9a2d2e096db483f5b93fd39886bee5dda38ce9c4 100644
+index 7cfea4b705a1338b1eb5c4f255808aeac4bdb819..cf7dc720a3bd2b14535d57262ad2297f9478eddc 100644
--- a/browser/themes/BuiltInThemeConfig.sys.mjs
+++ b/browser/themes/BuiltInThemeConfig.sys.mjs
-@@ -22,22 +22,29 @@ export const BuiltInThemeConfig = new Map([
+@@ -22,24 +22,17 @@ export const BuiltInThemeConfig = new Map([
[
"firefox-compact-light@mozilla.org",
{
@@ -19,21 +19,13 @@ index 7cfea4b705a1338b1eb5c4f255808aeac4bdb819..9a2d2e096db483f5b93fd39886bee5dd
path: "resource://builtin-themes/dark/",
},
],
- [
+- [
- "firefox-alpenglow@mozilla.org",
-+ "firefox-compact-galaxy@mozilla.org",
- {
+- {
- version: "1.4",
- path: "resource://builtin-themes/alpenglow/",
-+ version: "1.3",
-+ path: "resource://builtin-themes/galaxy/",
-+ },
-+ ],
-+ [
-+ "firefox-compact-dream@mozilla.org",
-+ {
-+ version: "1.3",
-+ path: "resource://builtin-themes/dream/",
- },
- ],
+- },
+- ],
[
+ "2022red-colorway@mozilla.org",
+ {
diff --git a/src/browser/themes/addons/dream/experiment.css b/src/browser/themes/addons/dream/experiment.css
deleted file mode 100644
index 32fb8faff..000000000
--- a/src/browser/themes/addons/dream/experiment.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* Proton Light theme */
-@import url('chrome://browser/skin/light-dark-overrides.css');
diff --git a/src/browser/themes/addons/dream/icon.svg b/src/browser/themes/addons/dream/icon.svg
deleted file mode 100644
index 5a4c2d0e6..000000000
--- a/src/browser/themes/addons/dream/icon.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
diff --git a/src/browser/themes/addons/dream/manifest.json b/src/browser/themes/addons/dream/manifest.json
deleted file mode 100644
index aa2f383c0..000000000
--- a/src/browser/themes/addons/dream/manifest.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "manifest_version": 2,
-
- "browser_specific_settings": {
- "gecko": {
- "id": "firefox-compact-dream@mozilla.org"
- }
- },
-
- "name": "Zen Dream",
- "description": "A theme with a light color scheme and a dream-y vibe.",
- "author": "Zen",
- "version": "1.3",
-
- "icons": { "32": "icon.svg" },
-
- "theme": {
- "colors": {
- "tab_background_text": "rgb(21,20,26)",
- "tab_selected": "#fff",
- "tab_text": "rgb(21,20,26)",
- "icons": "rgb(91,91,102)",
- "frame": "rgb(240, 240, 244)",
- "frame_inactive": "rgb(235, 235, 239)",
- "popup": "#fff",
- "popup_text": "rgb(21,20,26)",
- "popup_border": "rgb(240,240,244)",
- "popup_highlight": "#e0e0e6",
- "popup_highlight_text": "#15141a",
- "tab_line": "transparent",
- "toolbar": "#f9f9fb",
- "toolbar_top_separator": "transparent",
- "toolbar_bottom_separator": "#ccc",
- "toolbar_field": "rgb(240, 240, 244)",
- "toolbar_field_text": "rgb(21, 20, 26)",
- "toolbar_field_border": "transparent",
- "toolbar_field_focus": "white",
- "toolbar_text": "rgb(21,20,26)",
- "ntp_background": "#F9F9FB",
- "ntp_text": "rgb(21, 20, 26)",
- "popup_action_color": "rgb(91,91,102)",
- "button": "rgba(207,207,216,.33)",
- "button_hover": "rgba(207,207,216,.66)",
- "button_active": "rgb(207,207,216)",
- "button_primary": "#000",
- "button_primary_hover": "rgb(31, 31, 31)",
- "button_primary_active": "rgb(207,207,216)",
- "button_primary_color": "#fff",
- "input_color": "rgb(21,20,26)",
- "input_background": "#f0f0f4",
- "urlbar_popup_hover": "rgb(240,240,244)",
- "urlbar_popup_separator": "rgb(240,240,244)",
- "appmenu_update_icon_color": "#2AC3A2",
- "appmenu_info_icon_color": "#0090ED",
- "tab_icon_overlay_stroke": "rgb(255,255,255)",
- "tab_icon_overlay_fill": "rgb(91,91,102)"
- },
- "properties": {
- "color_scheme": "light",
- "panel_hover": "color-mix(in srgb, currentColor 12%, transparent)",
- "panel_active": "color-mix(in srgb, currentColor 20%, transparent)",
- "panel_active_darker": "color-mix(in srgb, currentColor 27%, transparent)",
- "toolbar_field_icon_opacity": "0.72",
- "input_border_color": "rgba(0, 0, 0, .3)",
- "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)",
- "zen_main_browser_background": "radial-gradient(ellipse, var(--zen-browser-gradient-base, #1B1E27) 20%, rgb(255, 255, 255) 100%)"
- }
- },
-
- "theme_experiment": {
- "stylesheet": "experiment.css",
- "colors": {
- "popup_action_color": "--urlbarView-action-color",
- "button": "--button-bgcolor",
- "button_hover": "--button-hover-bgcolor",
- "button_active": "--button-active-bgcolor",
- "button_primary": "--button-primary-bgcolor",
- "button_primary_hover": "--button-primary-hover-bgcolor",
- "button_primary_active": "--button-primary-active-bgcolor",
- "button_primary_color": "--button-primary-color",
- "input_background": "--input-bgcolor",
- "input_color": "--input-color",
- "input_border": "--input-border-color",
- "urlbar_popup_hover": "--urlbarView-hover-background",
- "urlbar_popup_separator": "--urlbarView-separator-color",
- "appmenu_update_icon_color": "--panel-banner-item-update-supported-bgcolor",
- "appmenu_info_icon_color": "--panel-banner-item-info-icon-bgcolor",
- "tab_icon_overlay_stroke": "--tab-icon-overlay-stroke",
- "tab_icon_overlay_fill": "--tab-icon-overlay-fill"
- },
- "properties": {
- "panel_hover": "--panel-item-hover-bgcolor",
- "panel_active": "--arrowpanel-dimmed-further",
- "panel_active_darker": "--panel-item-active-bgcolor",
- "toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity",
- "input_border_color": "--input-border-color",
- "zap_gradient": "--panel-separator-zap-gradient",
- "zen_main_browser_background": "--zen-main-browser-background"
- }
- }
-}
diff --git a/src/browser/themes/addons/dream/preview.svg b/src/browser/themes/addons/dream/preview.svg
deleted file mode 100644
index 19e964316..000000000
--- a/src/browser/themes/addons/dream/preview.svg
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
diff --git a/src/browser/themes/addons/galaxy/experiment.css b/src/browser/themes/addons/galaxy/experiment.css
deleted file mode 100644
index e9c8fb780..000000000
--- a/src/browser/themes/addons/galaxy/experiment.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-/* Proton Dark theme */
-@import url('chrome://browser/skin/light-dark-overrides.css');
diff --git a/src/browser/themes/addons/galaxy/icon.svg b/src/browser/themes/addons/galaxy/icon.svg
deleted file mode 100644
index 6d60850b7..000000000
--- a/src/browser/themes/addons/galaxy/icon.svg
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
diff --git a/src/browser/themes/addons/galaxy/manifest.json b/src/browser/themes/addons/galaxy/manifest.json
deleted file mode 100644
index e8d078b44..000000000
--- a/src/browser/themes/addons/galaxy/manifest.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "manifest_version": 2,
-
- "browser_specific_settings": {
- "gecko": {
- "id": "firefox-compact-galaxy@mozilla.org"
- }
- },
-
- "name": "Zen Galaxy",
- "description": "A theme with a dark color scheme and galaxy effects.",
- "author": "Zen",
- "version": "1.3",
-
- "icons": { "32": "icon.svg" },
-
- "theme": {
- "colors": {
- "tab_background_text": "#fbfbfe",
- "tab_selected": "rgb(66,65,77)",
- "tab_text": "rgb(251,251,254)",
- "icons": "rgb(251,251,254)",
- "frame": "rgb(28, 27, 34)",
- "frame_inactive": "rgb(31, 30, 37)",
- "popup": "rgb(66,65,77)",
- "popup_text": "rgb(251,251,254)",
- "popup_border": "rgb(82,82,94)",
- "popup_highlight": "rgb(43,42,51)",
- "tab_line": "transparent",
- "toolbar": "rgb(43,42,51)",
- "toolbar_top_separator": "transparent",
- "toolbar_bottom_separator": "hsl(240, 5%, 5%)",
- "toolbar_field": "rgb(28,27,34)",
- "toolbar_field_border": "transparent",
- "toolbar_field_text": "rgb(251,251,254)",
- "toolbar_field_focus": "rgb(66,65,77)",
- "toolbar_text": "rgb(251, 251, 254)",
- "ntp_background": "rgb(43, 42, 51)",
- "ntp_card_background": "rgb(66,65,77)",
- "ntp_text": "rgb(251, 251, 254)",
- "sidebar_text": "rgb(249, 249, 250)",
- "sidebar_border": "rgba(255, 255, 255, 0.1)",
- "button": "rgba(0, 0, 0, .33)",
- "button_hover": "rgba(207, 207, 216, .20)",
- "button_active": "rgba(207, 207, 216, .40)",
- "button_primary": "#fff",
- "button_primary_hover": "rgb(207, 207, 216)",
- "button_primary_active": "rgb(207, 207, 216)",
- "button_primary_color": "#000",
- "input_background": "#42414D",
- "input_color": "rgb(251,251,254)",
- "input_border": "#fff",
- "urlbar_popup_separator": "rgb(82,82,94)",
- "appmenu_update_icon_color": "#54FFBD",
- "appmenu_info_icon_color": "#80EBFF",
- "tab_icon_overlay_stroke": "rgb(66,65,77)",
- "tab_icon_overlay_fill": "rgb(251,251,254)"
- },
- "properties": {
- "color_scheme": "dark",
- "panel_active": "color-mix(in srgb, currentColor 14%, transparent)",
- "toolbar_field_icon_opacity": "1",
- "zap_gradient": "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)",
- "zen_main_browser_background": "radial-gradient(ellipse, var(--zen-browser-gradient-base, #1B1E27) 20%, #1b1b1b 100%)"
- }
- },
-
- "theme_experiment": {
- "stylesheet": "experiment.css",
- "colors": {
- "button": "--button-bgcolor",
- "button_hover": "--button-hover-bgcolor",
- "button_active": "--button-active-bgcolor",
- "button_primary": "--button-primary-bgcolor",
- "button_primary_hover": "--button-primary-hover-bgcolor",
- "button_primary_active": "--button-primary-active-bgcolor",
- "button_primary_color": "--button-primary-color",
- "input_background": "--input-bgcolor",
- "input_color": "--input-color",
- "input_border": "--input-border-color",
- "urlbar_popup_separator": "--urlbarView-separator-color",
- "zoom_controls": "--zoom-controls-bgcolor",
- "appmenu_update_icon_color": "--panel-banner-item-update-supported-bgcolor",
- "appmenu_info_icon_color": "--panel-banner-item-info-icon-bgcolor",
- "tab_icon_overlay_stroke": "--tab-icon-overlay-stroke",
- "tab_icon_overlay_fill": "--tab-icon-overlay-fill"
- },
- "properties": {
- "panel_active": "--arrowpanel-dimmed-further",
- "toolbar_field_icon_opacity": "--urlbar-icon-fill-opacity",
- "zap_gradient": "--panel-separator-zap-gradient",
- "zen_main_browser_background": "--zen-main-browser-background"
- }
- }
-}
diff --git a/src/browser/themes/addons/galaxy/preview.svg b/src/browser/themes/addons/galaxy/preview.svg
deleted file mode 100644
index 7fd9cbcfa..000000000
--- a/src/browser/themes/addons/galaxy/preview.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
diff --git a/src/browser/themes/addons/zen-addons.inc.mn b/src/browser/themes/addons/zen-addons.inc.mn
index 5df515c5f..8b1378917 100644
--- a/src/browser/themes/addons/zen-addons.inc.mn
+++ b/src/browser/themes/addons/zen-addons.inc.mn
@@ -1,8 +1 @@
- content/builtin-themes/galaxy (galaxy/*.svg)
- content/builtin-themes/galaxy (galaxy/*.css)
- content/builtin-themes/galaxy/manifest.json (galaxy/manifest.json)
-
- content/builtin-themes/dream (dream/*.svg)
- content/builtin-themes/dream (dream/*.css)
- content/builtin-themes/dream/manifest.json (dream/manifest.json)
\ No newline at end of file
diff --git a/src/toolkit/mozapps/extensions/internal/XPIDatabase-sys-mjs.patch b/src/toolkit/mozapps/extensions/internal/XPIDatabase-sys-mjs.patch
index 83469f4bf..d8e7ef263 100644
--- a/src/toolkit/mozapps/extensions/internal/XPIDatabase-sys-mjs.patch
+++ b/src/toolkit/mozapps/extensions/internal/XPIDatabase-sys-mjs.patch
@@ -1,8 +1,8 @@
diff --git a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
-index 0e02963b7e2f44e7669a34ded9f0f0636e36e66c..03e203b4eb0c9436ff9767756bfe8e64dd49096e 100644
+index 17219a88b42b0954f7bd7f7ea7ae8dcad55cc77c..e59373c2cac68fb3075e32143bb8940749c20a8a 100644
--- a/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
+++ b/toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
-@@ -137,7 +137,7 @@ const KEY_APP_GLOBAL = "app-global";
+@@ -138,7 +138,7 @@ const KEY_APP_GLOBAL = "app-global";
const KEY_APP_PROFILE = "app-profile";
const KEY_APP_TEMPORARY = "app-temporary";
@@ -11,12 +11,3 @@ index 0e02963b7e2f44e7669a34ded9f0f0636e36e66c..03e203b4eb0c9436ff9767756bfe8e64
// Properties to cache and reload when an addon installation is pending
const PENDING_INSTALL_METADATA = [
-@@ -214,7 +214,7 @@ const SIGNED_TYPES = new Set(["extension", "locale", "theme"]);
- // Time to wait before async save of XPI JSON database, in milliseconds
- const ASYNC_SAVE_DELAY_MS = 20;
-
--const l10n = new Localization(["browser/appExtensionFields.ftl"], true);
-+const l10n = new Localization(["browser/appExtensionFields.ftl", "browser/zenAppExtensionFields.ftl"], true);
-
- /**
- * Schedules an idle task, and returns a promise which resolves to an