mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-05 19:08:18 +00:00
Compare commits
39 Commits
1.0.1-a.14
...
1.0.1-a.15
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b64d007315 | ||
![]() |
88f954fc28 | ||
![]() |
f6acb174a4 | ||
![]() |
b8a927b163 | ||
![]() |
4e93b06772 | ||
![]() |
65934f5e00 | ||
![]() |
fb89aab252 | ||
![]() |
db9a0edce5 | ||
![]() |
a85baa5cca | ||
![]() |
7d6125c367 | ||
![]() |
2caeea2a14 | ||
![]() |
c3e2447924 | ||
![]() |
f12d888e42 | ||
![]() |
f92966d57a | ||
![]() |
245c75ab2c | ||
![]() |
ef0b6d947e | ||
![]() |
bd511d17e9 | ||
![]() |
b0b73b5d97 | ||
![]() |
a8d2773f5d | ||
![]() |
9749a79f7f | ||
![]() |
6a7cbf1a47 | ||
![]() |
ff1d1474d4 | ||
![]() |
2b18df8398 | ||
![]() |
d978d35533 | ||
![]() |
10cd70e858 | ||
![]() |
0552c2f245 | ||
![]() |
a08df8f9ef | ||
![]() |
1a906b746e | ||
![]() |
c916732f4e | ||
![]() |
22df6d5638 | ||
![]() |
4783f264df | ||
![]() |
64c3ff4573 | ||
![]() |
9c105c988c | ||
![]() |
c7bf92f20b | ||
![]() |
15548d9bb2 | ||
![]() |
441379b6e8 | ||
![]() |
6e5d117720 | ||
![]() |
c1aea93389 | ||
![]() |
e28af61ac2 |
@@ -28,7 +28,7 @@
|
||||
|
||||
## 🖥️ Compatibility
|
||||
|
||||
Zen is currently built using firefox version `131.0.3`! 🚀
|
||||
Zen is currently built using firefox version `132.0`! 🚀
|
||||
|
||||
- Check out the latest [release notes](https://zen-browser.app/release-notes)!
|
||||
- Part of our mission is to keep Zen up-to-date with the latest version of Firefox, so you can enjoy the latest features and security updates!
|
||||
|
@@ -36,4 +36,7 @@ else
|
||||
export RUSTFLAGS="-C target-feature=+v8.3a -C codegen-units=1 -Ctarget-cpu=apple-m1"
|
||||
fi
|
||||
export VERBOSE=1
|
||||
#export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
||||
|
||||
# Enable polly for macos, since they have a more stable set of GPU drivers,
|
||||
# unlike Linux, which has a lot of different drivers.
|
||||
export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine"
|
||||
|
2
l10n
2
l10n
Submodule l10n updated: 3351a875d9...7c92e63885
@@ -70,11 +70,6 @@ pref("browser.download.start_downloads_in_tmp_dir", true);
|
||||
pref("browser.helperApps.deleteTempFileOnExit", true);
|
||||
pref("browser.uitour.enabled", false);
|
||||
|
||||
/** OCSP & CERTS / HPKP ***/
|
||||
pref("security.OCSP.enabled", 0);
|
||||
pref("security.remote_settings.crlite_filters.enabled", true);
|
||||
pref("security.pki.crlite_mode", 2);
|
||||
|
||||
/** SSL / TLS ***/
|
||||
pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
||||
pref("browser.xul.error_pages.expert_bad_cert", true);
|
||||
@@ -106,12 +101,6 @@ pref("privacy.userContext.ui.enabled", true);
|
||||
/** SAFE BROWSING ***/
|
||||
pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||
|
||||
/** MOZILLA ***/
|
||||
pref("permissions.default.desktop-notification", 2);
|
||||
pref("permissions.default.geo", 2);
|
||||
pref("permissions.manager.defaultsUrl", "");
|
||||
pref("webchannel.allowObject.urlWhitelist", "");
|
||||
|
||||
/** TELEMETRY ***/
|
||||
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
|
||||
pref("datareporting.healthreport.uploadEnabled", false, locked);
|
||||
@@ -141,9 +130,6 @@ pref("browser.tabs.crashReporting.sendReport", false);
|
||||
pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
||||
|
||||
/** DETECTION ***/
|
||||
pref("captivedetect.canonicalURL", "");
|
||||
pref("network.captive-portal-service.enabled", false);
|
||||
pref("network.connectivity-service.enabled", false);
|
||||
pref("dom.private-attribution.submission.enabled", false);
|
||||
|
||||
/****************************************************************************
|
||||
|
@@ -75,24 +75,35 @@ pref('zen.welcomeScreen.enabled', true);
|
||||
pref('zen.welcomeScreen.seen', false);
|
||||
pref('zen.tabs.vertical', true);
|
||||
pref('zen.tabs.vertical.right-side', false);
|
||||
pref('zen.tabs.show-newtab-under', false);
|
||||
pref('zen.tabs.show-newtab-under', true);
|
||||
pref('zen.theme.accent-color', "#aac7ff");
|
||||
pref('zen.theme.border-radius', 8); // In pixels
|
||||
pref('zen.theme.content-element-separation', 6); // In pixels
|
||||
pref('zen.theme.toolbar-themed', true);
|
||||
pref('zen.theme.pill-button', false);
|
||||
pref('zen.theme.gradient', true);
|
||||
pref('zen.view.compact', false);
|
||||
pref('zen.view.experimental-rounded-view', true);
|
||||
|
||||
pref('zen.theme.color-prefs.use-workspace-colors', true);
|
||||
pref('zen.theme.color-prefs.amoled', false);
|
||||
pref('zen.theme.color-prefs.colorful', false);
|
||||
|
||||
pref('zen.view.compact', false);
|
||||
pref('zen.view.compact.hide-tabbar', true);
|
||||
pref('zen.view.compact.hide-toolbar', false);
|
||||
pref('zen.view.compact.toolbar-flash-popup', true);
|
||||
pref('zen.view.compact.toolbar-flash-popup.duration', 800);
|
||||
pref('zen.view.compact.toolbar-hide-after-hover.duration', 1000);
|
||||
pref('zen.view.compact.color-toolbar', true);
|
||||
pref('zen.view.compact.color-sidebar', true);
|
||||
|
||||
pref('zen.glance.enabled', true);
|
||||
pref('zen.glance.hold-duration', 300); // in ms
|
||||
|
||||
#ifdef XP_MACOSX
|
||||
pref('zen.glance.activation-method', 'alt'); // ctrl, alt, shift, none, hold
|
||||
#else
|
||||
pref('zen.glance.activation-method', 'ctrl'); // ctrl, alt, shift, none, hold
|
||||
#endif
|
||||
|
||||
pref('zen.view.sidebar-height-throttle', 200); // in ms
|
||||
pref('zen.view.sidebar-expanded', true);
|
||||
@@ -166,7 +177,8 @@ pref('browser.migrate.opera.enabled', true);
|
||||
// DNS
|
||||
// pref('network.trr.mode', 5);
|
||||
|
||||
pref('xpinstall.signatures.required', false);
|
||||
// security: They must enable this themselves, to avoid people downloading malware
|
||||
//pref('xpinstall.signatures.required', false);
|
||||
|
||||
// Experimental Zen Features
|
||||
// Strategy to use for bytecode cache (Thanks https://github.com/gunir)
|
||||
@@ -243,3 +255,5 @@ pref("network.fetchpriority.enabled", true);
|
||||
// No Proxy should be default, Use system proxy allows antivirus, virus or system proxy to MITM or slowing down Zen
|
||||
pref("network.proxy.type", 0);
|
||||
|
||||
// for the new layout:
|
||||
pref('browser.download.autohideButton', false);
|
||||
|
@@ -2,7 +2,7 @@ export var ZenCustomizableUI = new (class {
|
||||
constructor() {}
|
||||
|
||||
TYPE_TOOLBAR = 'toolbar';
|
||||
defaultSidebarIcons = ['zen-sidepanel-button', 'zen-workspaces-button', 'new-tab-button'];
|
||||
defaultSidebarIcons = ['zen-sidepanel-button', 'zen-workspaces-button', 'downloads-button'];
|
||||
|
||||
startup(CustomizableUIInternal) {
|
||||
CustomizableUIInternal.registerArea(
|
||||
|
@@ -73,7 +73,7 @@
|
||||
tabs.style.maxHeight = '0px'; // reset to 0
|
||||
const toolbarRect = toolbarItems.getBoundingClientRect();
|
||||
// -5 for the controls padding
|
||||
let totalHeight = toolbarRect.height - (this.contentElementSeparation * 2) - 5;
|
||||
let totalHeight = toolbarRect.height - (this.contentElementSeparation) - 5;
|
||||
// remove the height from other elements that aren't hidden
|
||||
const otherElements = document.querySelectorAll('#tabbrowser-tabs > *:not([hidden="true"])');
|
||||
for (let tab of otherElements) {
|
||||
|
@@ -47,7 +47,8 @@ var gZenUIManager = {
|
||||
|
||||
onPopupShowing(showEvent) {
|
||||
for (const el of this._popupTrackingElements) {
|
||||
if (!el.contains(event.explicitOriginalTarget)) {
|
||||
// target may be inside a shadow root, not directly under the element
|
||||
if (!el.contains(showEvent.explicitOriginalTarget)) {
|
||||
continue;
|
||||
}
|
||||
document.removeEventListener('mousemove', this.__removeHasPopupAttribute);
|
||||
@@ -115,7 +116,6 @@ var gZenVerticalTabsManager = {
|
||||
const onHover = Services.prefs.getBoolPref('zen.view.sidebar-expanded.on-hover');
|
||||
const expanded = Services.prefs.getBoolPref('zen.view.sidebar-expanded');
|
||||
const sidebar = this.navigatorToolbox;
|
||||
|
||||
|
||||
if (onHover) {
|
||||
// if the sidebar is not expanded, and hover detection is enabled, show the sidebar
|
||||
|
@@ -1,21 +1,18 @@
|
||||
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
||||
index 108160d9469d44f47c93a3808402e4b27ff59777..39a7b691302bf13e1b5990f46428cff6807a8e56 100644
|
||||
index 7f71abe7d80e4c09dd088517ec9ef106c7cb8654..d094aeb36e1595d4d28d518654fb3ba848003c91 100644
|
||||
--- a/browser/base/content/browser-box.inc.xhtml
|
||||
+++ b/browser/base/content/browser-box.inc.xhtml
|
||||
@@ -23,11 +23,16 @@
|
||||
@@ -22,7 +22,13 @@
|
||||
<browser id="sidebar" autoscroll="false" disablehistory="true" disablefullscreen="true" tooltip="aHTMLTooltip"/>
|
||||
</vbox>
|
||||
<splitter id="sidebar-splitter" class="chromeclass-extrachrome sidebar-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||
<vbox id="appcontent" flex="1">
|
||||
+ <html:div id="zen-appcontent-navbar-container"></html:div>
|
||||
<!-- gNotificationBox will be added here lazily. -->
|
||||
+ <hbox id="zen-tabbox-wrapper" flex="1">
|
||||
<tabbox id="tabbrowser-tabbox"
|
||||
flex="1" tabcontainer="tabbrowser-tabs">
|
||||
+#include zen-sidebar-panel.inc.xhtml
|
||||
+#include zen-splitview-overlay.inc.xhtml
|
||||
<tabpanels id="tabbrowser-tabpanels"
|
||||
flex="1" selectedIndex="0"/>
|
||||
</tabbox>
|
||||
+ </hbox>
|
||||
</vbox>
|
||||
+<vbox flex="1">
|
||||
+<html:div id="zen-appcontent-navbar-container"></html:div>
|
||||
+<hbox id="zen-tabbox-wrapper" flex="1">
|
||||
<tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
|
||||
+ #include zen-tabbrowser-elements.inc.xhtml
|
||||
<tabpanels id="tabbrowser-tabpanels" flex="1" selectedIndex="0"/>
|
||||
</tabbox>
|
||||
</hbox>
|
||||
+</vbox>
|
||||
+</hbox>
|
||||
|
@@ -1,11 +1,11 @@
|
||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||
index bee5309c04775adff8652bfe6c54b2d466e821ac..cfeaf7cf2e98c35e76bdd5451f90b004a04d4474 100644
|
||||
index 9df41bb3c82919839ee1408aa4d177ea7ee40a56..e37c64fa2c2ea39762be4285a1a7055463ded537 100644
|
||||
--- a/browser/base/content/browser-init.js
|
||||
+++ b/browser/base/content/browser-init.js
|
||||
@@ -143,13 +143,15 @@ var gBrowserInit = {
|
||||
gNavToolbox.palette = document.getElementById(
|
||||
"BrowserToolbarPalette"
|
||||
).content;
|
||||
@@ -152,13 +152,15 @@ var gBrowserInit = {
|
||||
// tell CUI to ignore this element when it builds the toolbar areas
|
||||
elem.setAttribute("skipintoolbarset", "true");
|
||||
}
|
||||
+ ZenCustomizableUI.init(window);
|
||||
for (let area of CustomizableUI.areas) {
|
||||
let type = CustomizableUI.getAreaType(area);
|
||||
@@ -16,16 +16,16 @@ index bee5309c04775adff8652bfe6c54b2d466e821ac..cfeaf7cf2e98c35e76bdd5451f90b004
|
||||
}
|
||||
}
|
||||
+ ZenCustomizableUI.registerToolbarNodes(window);
|
||||
BrowserSearch.initPlaceHolder();
|
||||
|
||||
// Hack to ensure that the various initial pages favicon is loaded
|
||||
@@ -239,6 +241,10 @@ var gBrowserInit = {
|
||||
for (let elem of nonRemovables) {
|
||||
elem.setAttribute("removable", "false");
|
||||
elem.removeAttribute("skipintoolbarset");
|
||||
@@ -253,6 +255,10 @@ var gBrowserInit = {
|
||||
gPrivateBrowsingUI.init();
|
||||
BrowserSearch.init();
|
||||
BrowserPageActions.init();
|
||||
+
|
||||
+ Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
|
||||
+ Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
|
||||
+Services.scriptloader.loadSubScript("chrome://browser/content/ZenStartup.mjs", window);
|
||||
+Services.scriptloader.loadSubScript("chrome://browser/content/zenThemeModifier.js", window);
|
||||
+
|
||||
if (gToolbarKeyNavEnabled) {
|
||||
ToolbarKeyboardNavigator.init();
|
||||
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||
index a29d7a84e84651ea0bdc9be8e4ac650bde2e048a..bc22e55a66686fbae95047686f845f71a0c3aae9 100644
|
||||
index ccd83c15d0d73a1e53bdbfdfbe6fed43a26c961d..f18a6abf7debb97539a4cdf8422315b4dff08adb 100644
|
||||
--- a/browser/base/content/browser.js
|
||||
+++ b/browser/base/content/browser.js
|
||||
@@ -32,6 +32,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||
@@ -10,7 +10,7 @@ index a29d7a84e84651ea0bdc9be8e4ac650bde2e048a..bc22e55a66686fbae95047686f845f71
|
||||
DevToolsSocketStatus:
|
||||
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
|
||||
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
|
||||
@@ -629,6 +630,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||
@@ -632,6 +633,15 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
||||
false
|
||||
);
|
||||
|
||||
@@ -26,27 +26,19 @@ index a29d7a84e84651ea0bdc9be8e4ac650bde2e048a..bc22e55a66686fbae95047686f845f71
|
||||
customElements.setElementCreationCallback("screenshots-buttons", () => {
|
||||
Services.scriptloader.loadSubScript(
|
||||
"chrome://browser/content/screenshots/screenshots-buttons.js",
|
||||
@@ -3435,6 +3445,10 @@ var XULBrowserWindow = {
|
||||
@@ -3438,6 +3448,11 @@ var XULBrowserWindow = {
|
||||
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
|
||||
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
|
||||
|
||||
+ gZenViewSplitter.onLocationChange(gBrowser.selectedBrowser);
|
||||
+ ZenWorkspaces.onLocationChange(gBrowser.selectedBrowser);
|
||||
+ gZenTabUnloader.onLocationChange(gBrowser.selectedBrowser);
|
||||
+ gZenGlanceManager.onLocationChange(gBrowser.selectedBrowser);
|
||||
+
|
||||
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
|
||||
|
||||
if (!gMultiProcessBrowser) {
|
||||
@@ -4769,7 +4783,7 @@ function setToolbarVisibility(
|
||||
);
|
||||
}
|
||||
|
||||
- const overlapAttr = "BookmarksToolbarOverlapsBrowser";
|
||||
+ const overlapAttr = "BookmarksToolbarOverlapsBrowser__ignore"; // Original string was "BookmarksToolbarOverlapsBrowser" but it's not used and it only bugs the UI.
|
||||
switch (isVisible) {
|
||||
case true:
|
||||
case "always":
|
||||
@@ -7609,6 +7623,12 @@ var gDialogBox = {
|
||||
@@ -7289,6 +7304,12 @@ var gDialogBox = {
|
||||
parentElement.showModal();
|
||||
this._didOpenHTMLDialog = true;
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
index 18b91c95b88d11ddb257de03f12bc3e4cc75a96a..f117cfa7c9d1f9eb537cebbef42a9d2d945d53ac 100644
|
||||
index 12fa0cf79aade28581016adf96df85386dabdcef..4c8c2f791b29da0308d1a24778c1e7f5a9bb7293 100644
|
||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
@@ -2,7 +2,7 @@
|
||||
@@ -11,7 +11,7 @@ index 18b91c95b88d11ddb257de03f12bc3e4cc75a96a..f117cfa7c9d1f9eb537cebbef42a9d2d
|
||||
|
||||
<vbox id="titlebar">
|
||||
<!-- Menu -->
|
||||
@@ -32,10 +32,11 @@
|
||||
@@ -32,13 +32,14 @@
|
||||
|
||||
<hbox class="titlebar-spacer" type="pre-tabs"/>
|
||||
|
||||
@@ -20,10 +20,13 @@ index 18b91c95b88d11ddb257de03f12bc3e4cc75a96a..f117cfa7c9d1f9eb537cebbef42a9d2d
|
||||
<toolbartabstop/>
|
||||
<hbox id="TabsToolbar-customization-target" flex="1">
|
||||
<toolbarbutton id="firefox-view-button"
|
||||
+ hidden="true"
|
||||
class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
data-l10n-id="toolbar-button-firefox-view-2"
|
||||
role="button"
|
||||
+ hidden="true"
|
||||
aria-pressed="false"
|
||||
oncommand="FirefoxViewHandler.openTab();"
|
||||
onmousedown="FirefoxViewHandler.openToolbarMouseEvent(event);"
|
||||
@@ -50,7 +51,7 @@
|
||||
aria-multiselectable="true"
|
||||
setfocus="false"
|
||||
@@ -33,12 +36,12 @@ index 18b91c95b88d11ddb257de03f12bc3e4cc75a96a..f117cfa7c9d1f9eb537cebbef42a9d2d
|
||||
stopwatchid="FX_TAB_CLICK_MS">
|
||||
<hbox class="tab-drop-indicator" hidden="true"/>
|
||||
# If the name (tabbrowser-arrowscrollbox) or structure of this changes
|
||||
@@ -66,7 +67,7 @@
|
||||
tooltip="dynamic-shortcut-tooltip"
|
||||
data-l10n-id="tabs-toolbar-new-tab"/>
|
||||
</html:div>
|
||||
- <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" style="min-width: 1px;" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
||||
+ <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="vertical" style="min-width: 1px;" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
||||
@@ -59,7 +60,7 @@
|
||||
# the current structure that we may want to revisit.
|
||||
<html:div id="vertical-pinned-tabs-container"></html:div>
|
||||
<html:div id="vertical-pinned-tabs-container-separator"></html:div>
|
||||
- <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
||||
+ <arrowscrollbox id="tabbrowser-arrowscrollbox" orient="vertical" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
||||
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
|
||||
<hbox id="tabbrowser-arrowscrollbox-periphery">
|
||||
<toolbartabstop/>
|
||||
@@ -55,15 +58,7 @@ index 18b91c95b88d11ddb257de03f12bc3e4cc75a96a..f117cfa7c9d1f9eb537cebbef42a9d2d
|
||||
</toolbar>
|
||||
|
||||
</vbox>
|
||||
@@ -471,6 +473,7 @@
|
||||
|
||||
<toolbarbutton id="fxa-toolbar-menu-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
|
||||
badged="true"
|
||||
+ hidden="true"
|
||||
delegatesanchor="true"
|
||||
onmousedown="gSync.toggleAccountPanel(this, event)"
|
||||
onkeypress="gSync.toggleAccountPanel(this, event)"
|
||||
@@ -522,6 +525,7 @@
|
||||
@@ -531,6 +534,7 @@
|
||||
consumeanchor="PanelUI-button"
|
||||
data-l10n-id="appmenu-menu-button-closed2"/>
|
||||
</toolbaritem>
|
||||
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
||||
index 6c2317b8036378c6b8e0ad9a4fe71388bcb385f5..4bf277b02d3c69efc0f2d46c8b0f9deb7d7fb45a 100644
|
||||
index 7f3dc585937c5ac96c0d09a786515305afb4fe1a..9216931e7d805743f0b00e74039be042456e63f3 100644
|
||||
--- a/browser/base/content/nsContextMenu.sys.mjs
|
||||
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
||||
@@ -1153,6 +1153,13 @@ export class nsContextMenu {
|
||||
@@ -1047,6 +1047,13 @@ export class nsContextMenu {
|
||||
!this.isSecureAboutPage()
|
||||
);
|
||||
|
||||
@@ -13,6 +13,6 @@ index 6c2317b8036378c6b8e0ad9a4fe71388bcb385f5..4bf277b02d3c69efc0f2d46c8b0f9deb
|
||||
+
|
||||
+ this.showItem("context-zenSplitLink", this.onLink && !this.onMailtoLink && !this.onTelLink);
|
||||
+
|
||||
let copyLinkSeparator = this.document.getElementById(
|
||||
"context-sep-copylink"
|
||||
);
|
||||
let canNotStrip =
|
||||
lazy.STRIP_ON_SHARE_CAN_DISABLE && !this.#canStripParams();
|
||||
|
||||
|
@@ -16,17 +16,19 @@
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-urlbar.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-workspaces.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-decks.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-glance.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-profile-dialog.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-sidebar-panels.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-popup.css" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/content/zen-styles/zen-compact-mode.css" />
|
||||
<link rel="stylesheet" type="text/css" href="chrome://browser/skin/zen-icons/icons.css" />
|
||||
|
||||
</linkset>
|
||||
|
||||
<!-- Scripts used all over the browser -->
|
||||
<script src="chrome://browser/content/zen-components/ZenThemesCommon.mjs" />
|
||||
<script src="chrome://browser/content/zen-components/ZenActorsManager.mjs" />
|
||||
<script src="chrome://browser/content/zen-components/ZenGlanceManager.mjs" />
|
||||
<script src="chrome://browser/content/zen-components/ZenThemesImporter.mjs" />
|
||||
<script src="chrome://browser/content/zen-components/ZenCompactMode.mjs" />
|
||||
<script src="chrome://browser/content/ZenUIManager.mjs" />
|
||||
|
@@ -19,6 +19,8 @@
|
||||
content/browser/zen-components/ZenPinnedTabManager.mjs (content/zen-components/src/ZenPinnedTabManager.mjs)
|
||||
content/browser/zen-components/ZenCommonUtils.mjs (content/zen-components/src/ZenCommonUtils.mjs)
|
||||
content/browser/zen-components/ZenGradientGenerator.mjs (content/zen-components/src/ZenGradientGenerator.mjs)
|
||||
content/browser/zen-components/ZenGlanceManager.mjs (content/zen-components/src/ZenGlanceManager.mjs)
|
||||
content/browser/zen-components/ZenActorsManager.mjs (content/zen-components/src/ZenActorsManager.mjs)
|
||||
|
||||
content/browser/zen-styles/zen-theme.css (content/zen-styles/zen-theme.css)
|
||||
content/browser/zen-styles/zen-buttons.css (content/zen-styles/zen-buttons.css)
|
||||
@@ -32,6 +34,7 @@
|
||||
content/browser/zen-styles/zen-sidebar.css (content/zen-styles/zen-sidebar.css)
|
||||
content/browser/zen-styles/zen-toolbar.css (content/zen-styles/zen-toolbar.css)
|
||||
content/browser/zen-styles/zen-decks.css (content/zen-styles/zen-decks.css)
|
||||
content/browser/zen-styles/zen-glance.css (content/zen-styles/zen-glance.css)
|
||||
content/browser/zen-styles/zen-browser-container.css (content/zen-styles/zen-browser-container.css)
|
||||
content/browser/zen-styles/zen-workspaces.css (content/zen-styles/zen-workspaces.css)
|
||||
content/browser/zen-styles/zen-profile-dialog.css (content/zen-styles/zen-profile-dialog.css)
|
||||
@@ -54,3 +57,5 @@
|
||||
# Actors
|
||||
content/browser/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs (content/zen-components/src/actors/ZenThemeMarketplaceParent.sys.mjs)
|
||||
content/browser/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs (content/zen-components/src/actors/ZenThemeMarketplaceChild.sys.mjs)
|
||||
content/browser/zen-components/actors/ZenGlanceChild.sys.mjs (content/zen-components/src/actors/ZenGlanceChild.sys.mjs)
|
||||
content/browser/zen-components/actors/ZenGlanceParent.sys.mjs (content/zen-components/src/actors/ZenGlanceParent.sys.mjs)
|
||||
|
Submodule src/browser/base/content/zen-components updated: b035ca8b0f...5e791df74c
14
src/browser/base/content/zen-glance.inc.xhtml
Normal file
14
src/browser/base/content/zen-glance.inc.xhtml
Normal file
@@ -0,0 +1,14 @@
|
||||
<hbox id="zen-glance-overlay" hidden="true" onclick="gZenGlanceManager.onOverlayClick(event)">
|
||||
<hbox id="zen-glance-content">
|
||||
<vbox id="zen-glance-browser-container">
|
||||
<vbox id="zen-glance-sidebar-container">
|
||||
<toolbarbutton id="zen-glance-sidebar-close" class="toolbarbutton-1" oncommand="gZenGlanceManager.closeGlance()"/>
|
||||
<toolbarbutton id="zen-glance-sidebar-open" class="toolbarbutton-1" oncommand="gZenGlanceManager.fullyOpenGlance()"/>
|
||||
</vbox>
|
||||
<vbox id="zen-glance-browser">
|
||||
<hbox id="zen-glance-loading"></hbox>
|
||||
</vbox>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<hbox id="zen-glance-tabs" hidden="true"></hbox>
|
||||
</hbox>
|
@@ -213,3 +213,129 @@
|
||||
right: -2px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Mark: Zen Glance */
|
||||
@keyframes zen-glance-overlay-animation {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-overlay-animation-out {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-content-animation {
|
||||
/* make the box appear from initial width/height and x/y coordinates */
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
30% {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%) translateZ(0);
|
||||
}
|
||||
|
||||
70% {
|
||||
/* make the box grow to full width/height */
|
||||
opacity: 1;
|
||||
transform: translate(-50%, -50%) translateZ(0);
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
width: 87%;
|
||||
height: 87%;
|
||||
}
|
||||
|
||||
100% {
|
||||
/* make the box shrink to final width/height and x/y coordinates */
|
||||
transform: translate(-50%, -50%) translateZ(0);
|
||||
opacity: 1;
|
||||
width: 85%;
|
||||
height: 85%;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-content-animation-out {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
5% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
80% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: translate(-50%, -50%);
|
||||
opacity: 1;
|
||||
width: 85%;
|
||||
height: 85%;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-buttons-animation-full {
|
||||
from {
|
||||
width: 85%;
|
||||
height: 85%;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
to {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-loading-animation {
|
||||
0% {
|
||||
opacity: 1;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
90% {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes zen-glance-buttons-animation {
|
||||
from {
|
||||
right: 0;
|
||||
opacity: 0;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(-100%) translateY(-50%);
|
||||
}
|
||||
}
|
||||
|
@@ -5,15 +5,20 @@
|
||||
position: relative;
|
||||
|
||||
box-shadow: 0 0 1px 1px light-dark(rgba(0, 0, 0, 0.1), var(--zen-colors-border));
|
||||
& .browserContainer {
|
||||
|
||||
& .browserContainer,
|
||||
#zen-glance-browser browser {
|
||||
overflow: hidden;
|
||||
border-radius: var(--zen-webview-border-radius, var(--zen-border-radius));
|
||||
}
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: 'zen.view.experimental-rounded-view') {
|
||||
&.deck-selected .browserContainer {
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
@media (-moz-bool-pref: 'zen.view.experimental-rounded-view') {
|
||||
#tabbrowser-tabpanels,
|
||||
#zen-glance-browser {
|
||||
mix-blend-mode: multiply;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
isolation: isolate;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,5 +1,4 @@
|
||||
#browser,
|
||||
#appcontent,
|
||||
#tabbrowser-tabpanels {
|
||||
background: transparent !important;
|
||||
}
|
||||
@@ -33,7 +32,6 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:root:not([inDOMFullscreen='true']) #appcontent,
|
||||
#sidebar-box {
|
||||
/** Sidebar is already hidden in full screen mode */
|
||||
border: none;
|
||||
@@ -85,6 +83,8 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
:root:not([inDOMFullscreen='true']) #tabbrowser-tabbox {
|
||||
padding: 2px; /* To allow the web view's shadow to be visible */
|
||||
@media (-moz-platform: macos) {
|
||||
.titlebar-buttonbox-container {
|
||||
margin-inline-end: 8px;
|
||||
}
|
||||
}
|
||||
|
@@ -3,6 +3,10 @@
|
||||
@media (-moz-bool-pref: 'zen.view.compact') {
|
||||
:root:not([customizing]):not([inDOMFullscreen='true']) {
|
||||
@media (-moz-bool-pref: 'zen.view.compact.hide-tabbar') {
|
||||
#zen-glance-overlay {
|
||||
width: calc(100% - var(--zen-element-separation) * 2);
|
||||
}
|
||||
|
||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel[pinned='true']) {
|
||||
margin-left: calc(var(--zen-sidebar-web-panel-spacing) * 2) !important;
|
||||
}
|
||||
@@ -11,6 +15,11 @@
|
||||
padding-inline-start: calc(var(--zen-toolbox-padding) - var(--toolbarbutton-outer-padding)) !important;
|
||||
}
|
||||
|
||||
&:not([inDOMFullscreen='true']) #zen-glance-overlay {
|
||||
margin-left: var(--zen-element-separation) !important;
|
||||
padding-right: var(--zen-element-separation) !important;
|
||||
}
|
||||
|
||||
/* Set the extra paddings */
|
||||
#tabbrowser-tabpanels {
|
||||
:root:not([inDOMFullscreen='true']) #browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||
@@ -28,7 +37,7 @@
|
||||
|
||||
#navigator-toolbox {
|
||||
--zen-toolbox-max-width: 54px !important;
|
||||
--zen-compact-float: calc(var(--zen-element-separation) + 1px);
|
||||
--zen-compact-float: calc(var(--zen-element-separation) - 1px);
|
||||
position: absolute;
|
||||
z-index: 9;
|
||||
transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
|
||||
@@ -41,6 +50,7 @@
|
||||
padding-top: 0 !important;
|
||||
|
||||
#browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||
--zen-compact-float: calc(var(--zen-element-separation) + 1px);
|
||||
padding-left: unset !important;
|
||||
padding-right: var(--zen-compact-float) !important;
|
||||
left: calc(100% - var(--zen-element-separation));
|
||||
@@ -49,13 +59,17 @@
|
||||
}
|
||||
|
||||
#titlebar {
|
||||
background: var(--zen-main-browser-background) !important;
|
||||
background-attachment: fixed !important;
|
||||
background-size: 2000px !important; /* Dont ask me why */
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
border-radius: calc(var(--zen-border-radius) + 2px);
|
||||
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
|
||||
border-radius: calc(var(--zen-border-radius) - 2px);
|
||||
padding: var(--zen-toolbox-padding) !important;
|
||||
position: relative;
|
||||
background: var(--zen-dialog-background);
|
||||
|
||||
@media (-moz-bool-pref: 'zen.view.compact.color-sidebar') {
|
||||
background: var(--zen-main-browser-background) !important;
|
||||
background-attachment: fixed !important;
|
||||
background-size: 2000px !important; /* Dont ask me why */
|
||||
}
|
||||
}
|
||||
/* Mark: toolbox as collapsed */
|
||||
#zen-tabbox-wrapper > #navigator-toolbox:not(#navigator-toolbox:is(#navigator-toolbox[zen-expanded='true'])) {
|
||||
@@ -94,6 +108,10 @@
|
||||
}
|
||||
|
||||
@media (-moz-bool-pref: 'zen.view.compact.hide-toolbar') {
|
||||
#zen-glance-overlay {
|
||||
height: calc(100% - var(--zen-element-separation) * 2);
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
--zen-toolbox-top-align: var(--zen-element-separation);
|
||||
}
|
||||
@@ -102,6 +120,10 @@
|
||||
padding-top: var(--zen-element-separation) !important;
|
||||
}
|
||||
|
||||
&:not([inDOMFullscreen='true']) #zen-glance-overlay {
|
||||
margin-top: var(--zen-element-separation) !important;
|
||||
}
|
||||
|
||||
#sidebar-box,
|
||||
#zen-sidebar-web-panel-wrapper:has(#zen-sidebar-web-panel:not([pinned='true'])) {
|
||||
margin-top: var(--zen-element-separation) !important;
|
||||
@@ -112,26 +134,25 @@
|
||||
}
|
||||
|
||||
#zen-appcontent-navbar-container {
|
||||
--zen-compact-toolbar-offset: 5px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
transform: translateY(calc(-100% + var(--zen-element-separation) + 1px));
|
||||
left: 0;
|
||||
left: calc(var(--zen-element-separation) + var(--zen-compact-toolbar-offset));
|
||||
z-index: 10;
|
||||
background: var(--zen-themed-toolbar-bg);
|
||||
box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1) !important;
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.3) !important;
|
||||
border-bottom-left-radius: var(--zen-border-radius);
|
||||
border-bottom-right-radius: var(--zen-border-radius);
|
||||
border: 1px solid var(--zen-colors-border);
|
||||
border-top-width: 0px;
|
||||
transition: all 0.1s ease-in-out;
|
||||
width: 100%;
|
||||
width: calc(100% - ((var(--zen-element-separation) + var(--zen-compact-toolbar-offset)) * 2));
|
||||
opacity: 0;
|
||||
background: var(--zen-dialog-background);
|
||||
|
||||
:root[tabsintitlebar][sizemode='normal']:not([gtktiledwindow='true']) & {
|
||||
border-top-left-radius: env(-moz-gtk-csd-titlebar-radius);
|
||||
border-top-right-radius: env(-moz-gtk-csd-titlebar-radius);
|
||||
border-left-width: 0;
|
||||
border-right-width: 0;
|
||||
@media (-moz-bool-pref: 'zen.view.compact.color-toolbar') {
|
||||
background-attachment: fixed;
|
||||
backdrop-filter: blur(5px);
|
||||
background: var(--zen-main-browser-background);
|
||||
background-size: 100% 2000px;
|
||||
}
|
||||
}
|
||||
|
||||
|
182
src/browser/base/content/zen-styles/zen-glance.css
Normal file
182
src/browser/base/content/zen-styles/zen-glance.css
Normal file
@@ -0,0 +1,182 @@
|
||||
|
||||
#zen-glance-overlay {
|
||||
height: calc(100% - var(--zen-element-separation));
|
||||
width: calc(100% - var(--zen-element-separation));
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 3;
|
||||
|
||||
#browser:has(#navigator-toolbox[zen-right-side='true']) & {
|
||||
margin-left: var(--zen-element-separation);
|
||||
}
|
||||
|
||||
&:not(:has([animate-full-end='true'])):not(:has([animate-full='true'])) {
|
||||
background: color-mix(in srgb, var(--zen-colors-secondary) 30%, transparent 70%);
|
||||
backdrop-filter: blur(2px);
|
||||
animation: zen-glance-overlay-animation 0.1s ease-in-out forwards;
|
||||
}
|
||||
|
||||
border-radius: var(--zen-border-radius);
|
||||
|
||||
&[hidden='true'] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&[fade-out='true'] {
|
||||
background: transparent;
|
||||
opacity: 1;
|
||||
|
||||
& #zen-glance-content {
|
||||
& #zen-glance-browser-container {
|
||||
animation: zen-glance-content-animation-out .3s ease-in-out forwards !important;
|
||||
animation-direction: reverse !important;
|
||||
|
||||
& browser {
|
||||
opacity: 0;
|
||||
transition: opacity .1s ease-in-out;
|
||||
}
|
||||
|
||||
& #zen-glance-sidebar-container {
|
||||
opacity: 0;
|
||||
transition: opacity .1s ease-in-out;
|
||||
}
|
||||
|
||||
& #zen-glance-loading {
|
||||
width: 0 !important;
|
||||
opacity: 0 !important;
|
||||
transition: none !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
& #zen-glance-content {
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
|
||||
& #zen-glance-browser-container {
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
transform: translate(var(--initial-x), var(--initial-y));
|
||||
width: var(--initial-width);
|
||||
height: var(--initial-height);
|
||||
position: absolute;
|
||||
border-radius: var(--zen-border-radius);
|
||||
opacity: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
&[has-finished-animation='true'] {
|
||||
position: relative !important;
|
||||
transition: 0s !important;
|
||||
transform: none !important;
|
||||
margin: auto !important;
|
||||
top: 0 !important;
|
||||
left: 0 !important;
|
||||
}
|
||||
|
||||
& #zen-glance-browser {
|
||||
border-radius: var(--zen-border-radius);
|
||||
background: var(--zen-dialog-background);
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
border-radius: var(--zen-border-radius);
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
& #zen-glance-sidebar-container {
|
||||
position: absolute;
|
||||
top: 10%;
|
||||
left: 0;
|
||||
transform: translateY(-50%);
|
||||
opacity: 0;
|
||||
background: var(--zen-dialog-background);
|
||||
|
||||
border: 1px solid var(--zen-colors-border);
|
||||
border-right: none;
|
||||
|
||||
border-top-left-radius: var(--zen-border-radius);
|
||||
border-bottom-left-radius: var(--zen-border-radius);
|
||||
|
||||
padding: 5px;
|
||||
gap: 6px;
|
||||
|
||||
animation: zen-glance-buttons-animation 0.2s ease-in-out forwards;
|
||||
animation-delay: 0.3s;
|
||||
|
||||
& toolbarbutton {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
& #zen-glance-loading {
|
||||
height: 2px;
|
||||
background: var(--zen-primary-color);
|
||||
|
||||
pointer-events: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
|
||||
&[not-loading='true'] {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
&[loading='true'] {
|
||||
width: 80%;
|
||||
transition: width 8s ease-in-out;
|
||||
}
|
||||
|
||||
&:not([loading='true']):not([not-loading='true']) {
|
||||
animation: zen-glance-loading-animation .8s ease-in-out forwards;
|
||||
}
|
||||
}
|
||||
|
||||
& browser {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 1;
|
||||
transition: opacity 0.3s ease-in-out;
|
||||
transition-delay: 0.2s;
|
||||
}
|
||||
|
||||
&[animate-full='true'] {
|
||||
opacity: 1;
|
||||
animation: zen-glance-buttons-animation-full 0.3s ease-in-out forwards !important;
|
||||
|
||||
& #zen-glance-sidebar-container {
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
& #zen-glance-loading {
|
||||
width: 0 !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
&[animate='true'] {
|
||||
animation: zen-glance-content-animation .4s ease-in-out forwards;
|
||||
animation-delay: 0.1s;
|
||||
|
||||
&:not([animate-end='true']) {
|
||||
pointer-events: none;
|
||||
|
||||
& browser {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
& #zen-glance-sidebar-container {
|
||||
opacity: 0;
|
||||
animation: none;
|
||||
pointer-events: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
panel[type='arrow'][animate][animate='open'] {
|
||||
animation: zen-jello-animation 0.2s ease-in-out;
|
||||
animation: zen-jello-animation 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
panel[type='arrow'][animate]:not([animate='open']) {
|
||||
animation: zen-jello-out-animation 0.2s ease-in-out;
|
||||
animation: zen-jello-out-animation 0.3s ease-in-out;
|
||||
}
|
||||
|
@@ -19,6 +19,10 @@
|
||||
--zen-toolbox-padding: 5px;
|
||||
}
|
||||
|
||||
#vertical-pinned-tabs-container-separator {
|
||||
display: none !important; /* We never needed you, go away! */
|
||||
}
|
||||
|
||||
#navigator-toolbox {
|
||||
--border-radius-medium: 8px;
|
||||
--tab-border-radius: var(--border-radius-medium);
|
||||
@@ -32,6 +36,7 @@
|
||||
padding-top: var(--zen-toolbox-top-align);
|
||||
padding-bottom: var(--zen-element-separation) !important;
|
||||
|
||||
border: none;
|
||||
order: 0 !important;
|
||||
|
||||
display: flex;
|
||||
@@ -44,6 +49,7 @@
|
||||
|
||||
#TabsToolbar-customization-target {
|
||||
position: relative;
|
||||
max-width: 100%;
|
||||
gap: 0;
|
||||
&::after {
|
||||
content: '';
|
||||
@@ -80,6 +86,8 @@
|
||||
margin-inline-start: 0 !important;
|
||||
padding-inline-start: 0 !important;
|
||||
|
||||
--tab-inner-inline-margin: 0;
|
||||
|
||||
position: relative;
|
||||
border-bottom: 0px solid transparent !important;
|
||||
|
||||
@@ -87,17 +95,19 @@
|
||||
--tab-selected-bgcolor: light-dark(rgba(255,255,255,.7), color-mix(in srgb, var(--zen-colors-secondary) 50%, transparent 50%));
|
||||
grid-gap: 0 !important;
|
||||
|
||||
&[overflow]::after,
|
||||
#vertical-tabs-newtab-button {
|
||||
/* Hide separator they give us, eww */
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
& .tabbrowser-tab {
|
||||
animation: zen-slide-in 0.2s ease-in-out;
|
||||
|
||||
max-width: unset !important;
|
||||
max-width: unset;
|
||||
padding: 0 !important;
|
||||
|
||||
position: relative;
|
||||
|
||||
height: calc(var(--tab-min-height) + var(--tab-block-margin) * 2) !important;
|
||||
min-height: calc(var(--tab-min-height) + var(--tab-block-margin) * 2) !important;
|
||||
|
||||
border-radius: var(--border-radius-medium);
|
||||
|
||||
& .tab-background {
|
||||
@@ -197,6 +207,10 @@
|
||||
padding-left: var(--zen-toolbox-padding);
|
||||
}
|
||||
|
||||
& #zen-workspaces-button[as-button='true'] {
|
||||
width: calc(100% - 10px) !important;
|
||||
}
|
||||
|
||||
& #zen-workspaces-button {
|
||||
margin-left: 2px;
|
||||
margin-right: 2px;
|
||||
@@ -221,6 +235,10 @@
|
||||
transform: translateX(-50%);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
& .tabbrowser-tab {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
& #zen-sidebar-icons-wrapper {
|
||||
@@ -293,7 +311,13 @@
|
||||
}
|
||||
|
||||
& #tabbrowser-tabs {
|
||||
--tab-inline-padding: 8px;
|
||||
& .tabbrowser-tab {
|
||||
|
||||
&:not([pinned]) .tab-label-container {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
& .tab-background {
|
||||
@media not (prefers-color-scheme: dark) {
|
||||
&:is([selected], [multiselected]) {
|
||||
@@ -301,6 +325,7 @@
|
||||
}
|
||||
}
|
||||
margin-inline: var(--tab-block-margin);
|
||||
width: -moz-available;
|
||||
}
|
||||
|
||||
&:not([pinned]):is(:hover, [visuallyselected]) .tab-close-button {
|
||||
@@ -339,12 +364,24 @@
|
||||
#navigator-toolbox[zen-expanded='true']:not([zen-user-hover='true'])
|
||||
)
|
||||
) {
|
||||
--tab-min-width: 36px !important;
|
||||
|
||||
/* Important: When changin this value, make sure expand on hover doesn't break! */
|
||||
--zen-toolbox-max-width: 49px; /* 1px more because the browser view has one pixel of padding to avoid the border being cut off */
|
||||
--zen-toolbox-padding: 8px;
|
||||
--zen-toolbox-padding: 6px;
|
||||
--zen-toolbox-max-width: calc(var(--tab-min-width) + var(--zen-toolbox-padding) * 2);
|
||||
max-width: var(--zen-toolbox-max-width) !important;
|
||||
min-width: var(--zen-toolbox-max-width) !important;
|
||||
|
||||
--zen-tabbar-offset: 1px; /* Fix the tabbar offset, because there's a shadow */
|
||||
&[zen-right-side='true'] {
|
||||
margin-left: var(--zen-tabbar-offset);
|
||||
}
|
||||
|
||||
&:not([zen-right-side='true']) {
|
||||
margin-right: var(--zen-tabbar-offset);
|
||||
}
|
||||
|
||||
|
||||
& #vertical-tabs-newtab-button {
|
||||
padding: 0 !important;
|
||||
background: transparent !important;
|
||||
@@ -391,6 +428,10 @@
|
||||
transform: translateX(-50%);
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
& .tabbrowser-tab {
|
||||
max-width: var(--tab-min-width);
|
||||
}
|
||||
}
|
||||
|
||||
& #TabsToolbar-customization-target {
|
||||
@@ -402,16 +443,20 @@
|
||||
}
|
||||
|
||||
& #tabbrowser-tabs {
|
||||
--tab-min-width: 36px !important;
|
||||
margin-top: -2px;
|
||||
|
||||
& .tabbrowser-tab {
|
||||
margin: 0 auto;
|
||||
width: var(--tab-min-width) !important;
|
||||
height: var(--tab-min-width) !important;
|
||||
|
||||
& .tab-background:is([selected], [multiselected]) {
|
||||
@media not (prefers-color-scheme: dark) {
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.12) !important;
|
||||
& .tab-background {
|
||||
margin-inline: auto !important;
|
||||
|
||||
&:is([selected], [multiselected]) {
|
||||
box-shadow: 0 0 1px 1px rgba(0,0,0,.1);
|
||||
|
||||
@media not (prefers-color-scheme: dark) {
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.12) !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -419,6 +464,7 @@
|
||||
display: flex;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
padding: 0 !important;
|
||||
|
||||
& .tab-label-container {
|
||||
display: none;
|
||||
@@ -543,17 +589,20 @@
|
||||
& #TabsToolbar {
|
||||
z-index: 100 !important;
|
||||
width: 250px !important;
|
||||
background-color: var(--zen-dialog-background);
|
||||
border-top-color: var(--zen-colors-border);
|
||||
|
||||
background: var(--zen-main-browser-background) !important;
|
||||
background-attachment: fixed !important;
|
||||
background-size: 2000px !important; /* Dont ask me why */
|
||||
|
||||
box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
|
||||
|
||||
position: absolute;
|
||||
padding: var(--zen-toolbox-padding);
|
||||
padding-top: 0;
|
||||
transition: 0 !important;
|
||||
/*animation: zen-vtabs-animation 0.3s ease-in-out;*/
|
||||
-moz-window-dragging: no-drag;
|
||||
overflow: hidden;
|
||||
transition: width 0.2s !important;
|
||||
border-right: 1px solid var(--zen-colors-border);
|
||||
|
||||
& .tab-throbber,
|
||||
& .tab-icon-pending,
|
||||
@@ -595,8 +644,6 @@
|
||||
|
||||
&[zen-right-side='true'] #TabsToolbar {
|
||||
right: 0;
|
||||
border-right: 0;
|
||||
border-left: 1px solid var(--zen-colors-border);
|
||||
border-top-left-radius: var(--zen-border-radius);
|
||||
border-top-right-radius: 0;
|
||||
}
|
||||
|
@@ -38,7 +38,10 @@
|
||||
color-mix(in srgb, var(--zen-primary-color) 40%, black 60%),
|
||||
color-mix(in srgb, var(--zen-primary-color) 40%, white 60%)
|
||||
) !important;
|
||||
--in-content-primary-button-background-active: var(--zen-colors-hover-bg) !important;
|
||||
--in-content-primary-button-background-active: light-dark(
|
||||
color-mix(in srgb, var(--zen-primary-color) 30%, black 70%),
|
||||
color-mix(in srgb, var(--zen-primary-color) 30%, white 70%)
|
||||
) !important;
|
||||
--in-content-primary-button-text-color: light-dark(white, black) !important;
|
||||
--in-content-primary-button-border-color: transparent !important;
|
||||
--in-content-primary-button-border-hover: transparent !important;
|
||||
@@ -69,7 +72,13 @@
|
||||
--button-primary-active-bgcolor: var(--in-content-primary-button-background-active) !important;
|
||||
--button-primary-color: var(--in-content-primary-button-text-color) !important;
|
||||
|
||||
--color-accent-primary-hover: var(--zen-primary-color) !important;
|
||||
--button-background-color: var(--in-content-button-background) !important;
|
||||
--button-background-color-hover: var(--in-content-button-background-hover) !important;
|
||||
--button-background-color-active: var(--in-content-primary-button-background-active) !important;
|
||||
|
||||
--color-accent-primary: var(--button-primary-bgcolor) !important;
|
||||
--color-accent-primary-hover: var(--button-primary-hover-bgcolor) !important;
|
||||
--color-accent-primary-active: var(--button-primary-active-bgcolor) !important;
|
||||
|
||||
--in-content-page-background: var(--zen-colors-tertiary) !important;
|
||||
--zen-in-content-dialog-background: var(--zen-colors-tertiary);
|
||||
@@ -174,10 +183,3 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media not (-moz-bool-pref: 'zen.theme.toolbar-themed') {
|
||||
:root {
|
||||
--toolbar-bgcolor: light-dark(#e6e6e6, #1b1b1b) !important;
|
||||
--zen-themed-toolbar-bg: var(--toolbar-bgcolor);
|
||||
}
|
||||
}
|
||||
|
@@ -36,7 +36,7 @@
|
||||
}
|
||||
|
||||
#urlbar:not([focused='true']):not([breakout-extend="true"]) > #urlbar-background {
|
||||
background: color-mix(in srgb, light-dark(#fff, var(--zen-colors-secondary)) 65%, transparent 35%) !important;
|
||||
background: color-mix(in srgb, light-dark(#fff, var(--zen-colors-tertiary)) 60%, transparent 40%) !important;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
|
@@ -79,7 +79,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
:root:has(#navigator-toolbox:not([zen-has-hover='true'])) &[as-button='true'] {
|
||||
&[as-button='true'] {
|
||||
margin: auto;
|
||||
padding: var(--toolbarbutton-inner-padding) !important;
|
||||
width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
|
||||
|
@@ -0,0 +1,3 @@
|
||||
#include zen-sidebar-panel.inc.xhtml
|
||||
#include zen-splitview-overlay.inc.xhtml
|
||||
#include zen-glance.inc.xhtml
|
@@ -1,13 +1,13 @@
|
||||
diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||
index 0344fcb566e8e0bedd92b0d45e42aea38de5c329..0d5296700590dd0c8a90929976b8cbc5370e7b47 100644
|
||||
index 768768c7d44860e1725f41594da9bcc8c92f4a1d..c04b0d54a41fbf8a22b516524809186d29842b21 100644
|
||||
--- a/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||
+++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||
@@ -30,7 +30,7 @@
|
||||
@@ -28,7 +28,7 @@
|
||||
<toolbarseparator/>
|
||||
<vbox class="panel-subview-body">
|
||||
<toolbarbutton id="identity-popup-security-button"
|
||||
- class="identity-popup-security-connection subviewbutton subviewbutton-iconic"
|
||||
+ class="identity-popup-security-connection subviewbutton"
|
||||
oncommand="gIdentityHandler.showSecuritySubView();">
|
||||
- class="identity-popup-security-connection subviewbutton subviewbutton-iconic">
|
||||
+ class="identity-popup-security-connection subviewbutton">
|
||||
<image class="identity-popup-security-connection-icon toolbarbutton-icon"></image>
|
||||
<hbox class="toolbarbutton-text" flex="1">
|
||||
<label class="identity-popup-connection-not-secure"
|
||||
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a3c5f7fce 100644
|
||||
index 989e69245aeb1185125752db6b9c58e462d554e4..c297a47dc7685c2dd6ca9a9a832b204ca1da22e2 100644
|
||||
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||
@@ -19,12 +19,13 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a
|
||||
|
||||
const kSpecialWidgetPfx = "customizableui-special-";
|
||||
|
||||
@@ -253,13 +254,14 @@ var CustomizableUIInternal = {
|
||||
@@ -323,13 +324,14 @@ var CustomizableUIInternal = {
|
||||
"spring",
|
||||
"urlbar-container",
|
||||
"spring",
|
||||
- "save-to-pocket-button",
|
||||
"downloads-button",
|
||||
- "downloads-button",
|
||||
+// "downloads-button",
|
||||
AppConstants.MOZ_DEV_EDITION ? "developer-button" : null,
|
||||
- "fxa-toolbar-menu-button",
|
||||
+ "wrapper-sidebar-button",
|
||||
@@ -36,7 +37,7 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a
|
||||
this.registerArea(
|
||||
CustomizableUI.AREA_NAVBAR,
|
||||
{
|
||||
@@ -288,10 +290,10 @@ var CustomizableUIInternal = {
|
||||
@@ -363,10 +365,10 @@ var CustomizableUIInternal = {
|
||||
{
|
||||
type: CustomizableUI.TYPE_TOOLBAR,
|
||||
defaultPlacements: [
|
||||
@@ -48,9 +49,9 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a
|
||||
+// "new-tab-button",
|
||||
+// "alltabs-button",
|
||||
],
|
||||
verticalTabsDefaultPlacements: [],
|
||||
defaultCollapsed: null,
|
||||
},
|
||||
@@ -331,6 +333,7 @@ var CustomizableUIInternal = {
|
||||
@@ -429,6 +431,7 @@ var CustomizableUIInternal = {
|
||||
CustomizableUI.AREA_NAVBAR,
|
||||
CustomizableUI.AREA_BOOKMARKS,
|
||||
CustomizableUI.AREA_TABSTRIP,
|
||||
@@ -58,7 +59,7 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a
|
||||
]);
|
||||
if (AppConstants.platform != "macosx") {
|
||||
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
||||
@@ -1033,6 +1036,9 @@ var CustomizableUIInternal = {
|
||||
@@ -1144,6 +1147,9 @@ var CustomizableUIInternal = {
|
||||
placements = gPlacements.get(area);
|
||||
}
|
||||
|
||||
@@ -68,7 +69,7 @@ index 289c3df7dcd6fa6b35681ce61c1e920b6a2651d7..a31dc07c8b756e09f43cd5f81bad8d4a
|
||||
// For toolbars that need it, mark as dirty.
|
||||
let defaultPlacements = areaProperties.get("defaultPlacements");
|
||||
if (
|
||||
@@ -3289,6 +3295,9 @@ var CustomizableUIInternal = {
|
||||
@@ -3521,6 +3527,9 @@ var CustomizableUIInternal = {
|
||||
gSeenWidgets.add(widgetId);
|
||||
}
|
||||
}
|
||||
|
@@ -645,6 +645,7 @@ var gZenLooksAndFeel = {
|
||||
colorElemParen.setAttribute('selected', 'true');
|
||||
}
|
||||
colorElemParen.addEventListener('click', () => {
|
||||
Services.prefs.setBoolPref('zen.theme.color-prefs.use-workspace-colors', false);
|
||||
Services.prefs.setStringPref('zen.theme.accent-color', color);
|
||||
});
|
||||
colorElemParen.appendChild(colorElem);
|
||||
@@ -674,9 +675,11 @@ var gZenWorkspacesSettings = {
|
||||
};
|
||||
Services.prefs.addObserver('zen.workspaces.enabled', this);
|
||||
Services.prefs.addObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
||||
Services.prefs.addObserver('zen.glance.enabled', tabsUnloaderPrefListener); // We can use the same listener for both prefs
|
||||
window.addEventListener('unload', () => {
|
||||
Services.prefs.removeObserver('zen.workspaces.enabled', this);
|
||||
Services.prefs.removeObserver('zen.tab-unloader.enabled', tabsUnloaderPrefListener);
|
||||
Services.prefs.removeObserver('zen.glance.enabled', tabsUnloaderPrefListener);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -965,11 +968,6 @@ var gZenCKSSettings = {
|
||||
};
|
||||
|
||||
Preferences.addAll([
|
||||
{
|
||||
id: 'zen.theme.toolbar-themed',
|
||||
type: 'bool',
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
id: 'zen.sidebar.enabled',
|
||||
type: 'bool',
|
||||
@@ -1074,5 +1072,30 @@ Preferences.addAll([
|
||||
id: 'zen.tabs.show-newtab-under',
|
||||
type: 'bool',
|
||||
default: false,
|
||||
},
|
||||
{
|
||||
id: "zen.glance.activation-method",
|
||||
type: "string",
|
||||
default: "ctrl",
|
||||
},
|
||||
{
|
||||
id: "zen.glance.enabled",
|
||||
type: "bool",
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
id: "zen.theme.color-prefs.use-workspace-colors",
|
||||
type: "bool",
|
||||
default: false,
|
||||
},
|
||||
{
|
||||
id: "zen.view.compact.color-toolbar",
|
||||
type: "bool",
|
||||
default: true,
|
||||
},
|
||||
{
|
||||
id: "zen.view.compact.color-sidebar",
|
||||
type: "bool",
|
||||
default: true,
|
||||
}
|
||||
]);
|
||||
|
@@ -18,9 +18,9 @@
|
||||
<html:div id="zen-theme-builder-wrapper"></html:div>
|
||||
|
||||
<box class="indent">
|
||||
<checkbox id="zenLooksAndFeelUseThemedToolbar"
|
||||
data-l10n-id="zen-look-and-feel-themed-toolbar"
|
||||
preference="zen.theme.toolbar-themed"/>
|
||||
<checkbox id="zenLooksAndFeelUseWorkspaceColors"
|
||||
data-l10n-id="zen-look-and-feel-use-workspace-colors"
|
||||
preference="zen.theme.color-prefs.use-workspace-colors"/>
|
||||
</box>
|
||||
|
||||
<hbox id="zenLooksAndFeelGradientPickerParent"></hbox>
|
||||
@@ -236,6 +236,12 @@
|
||||
<checkbox id="zenLooksAndFeelEnableToolbarFlashPopup"
|
||||
data-l10n-id="zen-look-and-feel-compact-toolbar-flash-popup"
|
||||
preference="zen.view.compact.toolbar-flash-popup"/>
|
||||
<checkbox id="zenLooksAndFeelEnableThemedToolbarCompactMode"
|
||||
data-l10n-id="zen-look-and-feel-compact-toolbar-themed"
|
||||
preference="zen.view.compact.color-toolbar"/>
|
||||
<checkbox id="zenLooksAndFeelEnableThemedSidebarCompactMode"
|
||||
data-l10n-id="zen-look-and-feel-compact-sidebar-themed"
|
||||
preference="zen.view.compact.color-sidebar"/>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
|
||||
@@ -260,6 +266,34 @@
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
<hbox id="zenGlanceCategory"
|
||||
class="subcategory"
|
||||
hidden="true"
|
||||
data-category="paneZenLooks">
|
||||
<html:h1 data-l10n-id="zen-glance-title"/>
|
||||
</hbox>
|
||||
|
||||
<groupbox id="zenGlanceGroup" data-category="paneZenLooks" hidden="true" class="highlighting-group">
|
||||
<label><html:h2 data-l10n-id="zen-glance-header"/></label>
|
||||
<description class="description-deemphasized" data-l10n-id="zen-glance-description" />
|
||||
|
||||
<checkbox id="zenLooksAndFeelGlanceEnabled"
|
||||
data-l10n-id="zen-glance-enabled"
|
||||
preference="zen.glance.enabled"/>
|
||||
<hbox align="center">
|
||||
<label id="zenGlanceTriggerLabel" data-l10n-id="zen-glance-trigger-label"/>
|
||||
<menulist id="zenGlanceTrigger" preference="zen.glance.activation-method">
|
||||
<menupopup>
|
||||
<menuitem data-l10n-id="zen-glance-trigger-ctrl-click" value="ctrl"/>
|
||||
<menuitem data-l10n-id="zen-glance-trigger-alt-click" value="alt"/>
|
||||
<menuitem data-l10n-id="zen-glance-trigger-shift-click" value="shift"/>
|
||||
<menuitem data-l10n-id="zen-glance-trigger-meta-click" value="meta"/>
|
||||
<menuitem data-l10n-id="zen-glance-trigger-mantain-click" value="mantain" disabled="true"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
<hbox id="zenSplitViewCategory"
|
||||
class="subcategory"
|
||||
hidden="true"
|
||||
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||
index c68a32794996348d95f3b1ee363be2eec587065e..3a163c75ac10a204754648dfd1332c79895799c7 100644
|
||||
index 4a124003976684e014435854aef69ce29da541d2..61ce44751c36eea3e5ae2ddcc62e42c01459629b 100644
|
||||
--- a/browser/components/sidebar/browser-sidebar.js
|
||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||
@@ -521,7 +521,7 @@ var SidebarController = {
|
||||
@@ -578,7 +578,7 @@ var SidebarController = {
|
||||
*/
|
||||
setPosition() {
|
||||
// First reset all ordinals to match DOM ordering.
|
||||
@@ -11,12 +11,11 @@ index c68a32794996348d95f3b1ee363be2eec587065e..3a163c75ac10a204754648dfd1332c79
|
||||
[...browser.children].forEach((node, i) => {
|
||||
node.style.order = i + 1;
|
||||
});
|
||||
@@ -535,9 +535,11 @@ var SidebarController = {
|
||||
@@ -592,9 +592,10 @@ var SidebarController = {
|
||||
let boxOrdinal = this._box.style.order;
|
||||
this._box.style.order = appcontent.style.order;
|
||||
this._box.style.order = tabbox.style.order;
|
||||
|
||||
- appcontent.style.order = boxOrdinal;
|
||||
+ // appcontent.style.order = boxOrdinal;
|
||||
- tabbox.style.order = boxOrdinal;
|
||||
// the launcher should be on the right of the sidebar-box
|
||||
- sidebarContainer.style.order = parseInt(this._box.style.order) + 1;
|
||||
+ this._box.style.order = browser.children.length + 2;
|
||||
@@ -25,7 +24,7 @@ index c68a32794996348d95f3b1ee363be2eec587065e..3a163c75ac10a204754648dfd1332c79
|
||||
// Indicate we've switched ordering to the box
|
||||
this._box.setAttribute("positionend", true);
|
||||
sidebarMain.setAttribute("positionend", true);
|
||||
@@ -546,6 +548,9 @@ var SidebarController = {
|
||||
@@ -603,6 +604,9 @@ var SidebarController = {
|
||||
this._box.removeAttribute("positionend");
|
||||
sidebarMain.removeAttribute("positionend");
|
||||
sidebarContainer.removeAttribute("positionend");
|
||||
|
@@ -1,13 +0,0 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tab-hover-preview.mjs b/browser/components/tabbrowser/content/tab-hover-preview.mjs
|
||||
index b07dba3e060dd730e603997b2c374f218a1eb591..412d35a263d1e6a789927206a506c184a5ac0d46 100644
|
||||
--- a/browser/components/tabbrowser/content/tab-hover-preview.mjs
|
||||
+++ b/browser/components/tabbrowser/content/tab-hover-preview.mjs
|
||||
@@ -7,7 +7,7 @@ var { XPCOMUtils } = ChromeUtils.importESModule(
|
||||
);
|
||||
|
||||
const POPUP_OPTIONS = {
|
||||
- position: "bottomleft topleft",
|
||||
+ position: "topright topleft",
|
||||
x: 0,
|
||||
y: -2,
|
||||
};
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e5741caf6 100644
|
||||
index 14de79b543cf07b04d06ef5a3f94d9aa988ea39a..7468ca5d73c343579d591e0dfbecf1bd9a102248 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -456,11 +456,26 @@
|
||||
@@ -462,11 +462,26 @@
|
||||
return duplicateTabs;
|
||||
},
|
||||
|
||||
@@ -31,7 +31,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
}
|
||||
return i;
|
||||
},
|
||||
@@ -1340,6 +1355,7 @@
|
||||
@@ -1346,6 +1361,7 @@
|
||||
if (!this._previewMode) {
|
||||
newTab.recordTimeFromUnloadToReload();
|
||||
newTab.updateLastAccessed();
|
||||
@@ -39,7 +39,39 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
oldTab.updateLastAccessed();
|
||||
// if this is the foreground window, update the last-seen timestamps.
|
||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||
@@ -2705,6 +2721,11 @@
|
||||
@@ -2270,6 +2286,13 @@
|
||||
b.setAttribute("transparent", "true");
|
||||
}
|
||||
|
||||
+ if (this.zenGlanceBrowser) {
|
||||
+ b.setAttribute("zen-glance", "true");
|
||||
+ gZenGlanceManager.browser.appendChild(b);
|
||||
+ this.zenGlanceBrowser = undefined;
|
||||
+ return b;
|
||||
+ }
|
||||
+
|
||||
let stack = document.createXULElement("stack");
|
||||
stack.className = "browserStack";
|
||||
stack.appendChild(b);
|
||||
@@ -2431,7 +2454,7 @@
|
||||
|
||||
let panel = this.getPanel(browser);
|
||||
let uniqueId = this._generateUniquePanelID();
|
||||
- panel.id = uniqueId;
|
||||
+ if (!panel.id) panel.id = uniqueId;
|
||||
aTab.linkedPanel = uniqueId;
|
||||
|
||||
// Inject the <browser> into the DOM if necessary.
|
||||
@@ -2491,7 +2514,7 @@
|
||||
// hasSiblings=false on both the existing browser and the new browser.
|
||||
if (this.tabs.length == 2) {
|
||||
this.tabs[0].linkedBrowser.browsingContext.hasSiblings = true;
|
||||
- this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
||||
+ if (this.tabs[1].linkedBrowser.browsingContext) this.tabs[1].linkedBrowser.browsingContext.hasSiblings = true;
|
||||
} else {
|
||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||
}
|
||||
@@ -2711,6 +2734,11 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -51,7 +83,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
||||
UserInteraction.start("browser.tabs.opening", "initting", window);
|
||||
}
|
||||
@@ -2773,6 +2794,9 @@
|
||||
@@ -2780,6 +2808,9 @@
|
||||
noInitialLabel,
|
||||
skipBackgroundNotify,
|
||||
});
|
||||
@@ -61,7 +93,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
if (insertTab) {
|
||||
// insert the tab into the tab container in the correct position
|
||||
this._insertTabAtIndex(t, {
|
||||
@@ -3262,6 +3286,14 @@
|
||||
@@ -3291,6 +3322,14 @@
|
||||
) {
|
||||
tabWasReused = true;
|
||||
tab = this.selectedTab;
|
||||
@@ -76,7 +108,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
if (!tabData.pinned) {
|
||||
this.unpinTab(tab);
|
||||
} else {
|
||||
@@ -3275,6 +3307,9 @@
|
||||
@@ -3304,6 +3343,9 @@
|
||||
restoreTabsLazily && !select && !tabData.pinned;
|
||||
|
||||
let url = "about:blank";
|
||||
@@ -86,7 +118,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
if (tabData.entries?.length) {
|
||||
let activeIndex = (tabData.index || tabData.entries.length) - 1;
|
||||
// Ensure the index is in bounds.
|
||||
@@ -3311,6 +3346,12 @@
|
||||
@@ -3340,6 +3382,12 @@
|
||||
preferredRemoteType,
|
||||
});
|
||||
|
||||
@@ -99,7 +131,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
if (select) {
|
||||
tabToSelect = tab;
|
||||
}
|
||||
@@ -3345,7 +3386,7 @@
|
||||
@@ -3374,7 +3422,7 @@
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
}
|
||||
}
|
||||
@@ -108,7 +140,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
tab.initialize();
|
||||
}
|
||||
|
||||
@@ -4152,6 +4193,13 @@
|
||||
@@ -4148,6 +4196,13 @@
|
||||
TelemetryStopwatch.start("FX_TAB_CLOSE_TIME_NO_ANIM_MS", aTab);
|
||||
}
|
||||
|
||||
@@ -122,15 +154,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
// Handle requests for synchronously removing an already
|
||||
// asynchronously closing tab.
|
||||
if (!animate && aTab.closing) {
|
||||
@@ -4198,6 +4246,7 @@
|
||||
isLastTab ||
|
||||
aTab.pinned ||
|
||||
aTab.hidden ||
|
||||
+ true ||
|
||||
this._removingTabs.size >
|
||||
3 /* don't want lots of concurrent animations */ ||
|
||||
!aTab.hasAttribute(
|
||||
@@ -5131,10 +5180,10 @@
|
||||
@@ -5123,10 +5178,10 @@
|
||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||
},
|
||||
|
||||
@@ -143,7 +167,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
aTab.selected ||
|
||||
aTab.closing ||
|
||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||
@@ -7050,6 +7099,7 @@
|
||||
@@ -7042,6 +7097,7 @@
|
||||
aWebProgress.isTopLevel
|
||||
) {
|
||||
this.mTab.setAttribute("busy", "true");
|
||||
@@ -151,7 +175,7 @@ index c89ae2cbb978d6218bd56a059c5ca1e371231607..58c05bd5c935f73e154e84f66b39f58e
|
||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||
gBrowser.syncThrobberAnimations(this.mTab);
|
||||
@@ -7870,7 +7920,7 @@ var TabContextMenu = {
|
||||
@@ -7874,7 +7930,7 @@ var TabContextMenu = {
|
||||
);
|
||||
contextUnpinSelectedTabs.hidden =
|
||||
!this.contextTab.pinned || !multiselectionContext;
|
||||
|
@@ -1,8 +1,17 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||
index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a85488137940 100644
|
||||
index f3a2f226a9056c5a75023281fdeb704cec49b4a6..6864f4011676e2c114bacc4b55adca470b97b2a8 100644
|
||||
--- a/browser/components/tabbrowser/content/tabs.js
|
||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||
@@ -840,7 +840,7 @@
|
||||
@@ -894,7 +894,7 @@
|
||||
let postTransitionCleanup = () => {
|
||||
tab.removeAttribute("tabdrop-samewindow");
|
||||
|
||||
- this._finishAnimateTabMove();
|
||||
+ this._finishAnimateTabMove(true);
|
||||
if (dropIndex !== false) {
|
||||
gBrowser.moveTabTo(tab, dropIndex);
|
||||
if (incrementDropIndex) {
|
||||
@@ -904,7 +904,7 @@
|
||||
|
||||
gBrowser.syncThrobberAnimations(tab);
|
||||
};
|
||||
@@ -11,7 +20,7 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
postTransitionCleanup();
|
||||
} else {
|
||||
let onTransitionEnd = transitionendEvent => {
|
||||
@@ -1411,7 +1411,7 @@
|
||||
@@ -1480,7 +1480,7 @@
|
||||
let rect = ele => {
|
||||
return window.windowUtils.getBoundsWithoutFlushing(ele);
|
||||
};
|
||||
@@ -20,11 +29,11 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
if (tab && rect(tab).width <= this._tabClipWidth) {
|
||||
this.setAttribute("closebuttons", "activetab");
|
||||
} else {
|
||||
@@ -1430,10 +1430,12 @@
|
||||
@@ -1499,10 +1499,12 @@
|
||||
|
||||
_handleTabSelect(aInstant) {
|
||||
let selectedTab = this.selectedItem;
|
||||
- if (this.hasAttribute("overflow")) {
|
||||
- if (this.overflowing) {
|
||||
- this.arrowScrollbox.ensureElementIsVisible(selectedTab, aInstant);
|
||||
- }
|
||||
+ this.arrowScrollbox.ensureElementIsVisible(selectedTab, aInstant);
|
||||
@@ -36,7 +45,7 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
selectedTab._notselectedsinceload = false;
|
||||
}
|
||||
|
||||
@@ -1477,7 +1479,7 @@
|
||||
@@ -1550,7 +1552,7 @@
|
||||
if (isEndTab && !this._hasTabTempMaxWidth) {
|
||||
return;
|
||||
}
|
||||
@@ -45,7 +54,7 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
// Force tabs to stay the same width, unless we're closing the last tab,
|
||||
// which case we need to let them expand just enough so that the overall
|
||||
// tabbar width is the same.
|
||||
@@ -1492,7 +1494,7 @@
|
||||
@@ -1565,7 +1567,7 @@
|
||||
let tabsToReset = [];
|
||||
for (let i = numPinned; i < tabs.length; i++) {
|
||||
let tab = tabs[i];
|
||||
@@ -54,10 +63,10 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
if (!isEndTab) {
|
||||
// keep tabs the same width
|
||||
tab.style.transition = "none";
|
||||
@@ -1558,9 +1560,9 @@
|
||||
@@ -1630,9 +1632,9 @@
|
||||
let verticalTabsContainer = document.getElementById(
|
||||
"vertical-pinned-tabs-container"
|
||||
);
|
||||
let newTabButton = document.getElementById("newtab-button-container");
|
||||
- let numPinned = gBrowser._numPinnedTabs;
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
|
||||
@@ -66,25 +75,16 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
let tabs = this._getVisibleTabs();
|
||||
for (let i = 0; i < numPinned; i++) {
|
||||
tabs[i].style.marginInlineStart = "";
|
||||
@@ -1568,7 +1570,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- newTabButton.toggleAttribute("showborder", gBrowser._numPinnedTabs !== 0);
|
||||
+ newTabButton.toggleAttribute("showborder", gBrowser._numVisiblePinTabs !== 0);
|
||||
this.style.removeProperty("--tab-overflow-pinned-tabs-width");
|
||||
}
|
||||
|
||||
@@ -1589,7 +1591,7 @@
|
||||
@@ -1660,7 +1662,7 @@
|
||||
|
||||
_positionPinnedTabs() {
|
||||
let tabs = this._getVisibleTabs();
|
||||
- let numPinned = gBrowser._numPinnedTabs;
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
let absPositionHorizontalTabs =
|
||||
this.hasAttribute("overflow") &&
|
||||
tabs.length > numPinned &&
|
||||
@@ -1672,7 +1674,7 @@
|
||||
this.overflowing && tabs.length > numPinned && numPinned > 0;
|
||||
|
||||
@@ -1934,7 +1936,7 @@
|
||||
}
|
||||
|
||||
let pinned = draggedTab.pinned;
|
||||
@@ -93,7 +93,18 @@ index 137f1a3854f10aca0d0e3233a82c1c18fbdc2823..419e0ad674b76454e6e3e1ed4ae1a854
|
||||
let tabs = this._getVisibleTabs().slice(
|
||||
pinned ? 0 : numPinned,
|
||||
pinned ? numPinned : undefined
|
||||
@@ -1949,9 +1951,9 @@
|
||||
@@ -2059,8 +2061,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
- _finishAnimateTabMove() {
|
||||
- if (!this.hasAttribute("movingtab")) {
|
||||
+ _finishAnimateTabMove(always = false) {
|
||||
+ if (!this.hasAttribute("movingtab") && !always) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2218,9 +2220,9 @@
|
||||
function newIndex(aTab, index) {
|
||||
// Don't allow mixing pinned and unpinned tabs.
|
||||
if (aTab.pinned) {
|
||||
|
@@ -1,21 +1,8 @@
|
||||
diff --git a/browser/themes/BuiltInThemeConfig.sys.mjs b/browser/themes/BuiltInThemeConfig.sys.mjs
|
||||
index 7cfea4b705a1338b1eb5c4f255808aeac4bdb819..cf7dc720a3bd2b14535d57262ad2297f9478eddc 100644
|
||||
index f738f7f1e37d20d9d9158f052572334714475107..f4b0e9a7077076f2fbe8ac17fa6aadf586c6b37c 100644
|
||||
--- a/browser/themes/BuiltInThemeConfig.sys.mjs
|
||||
+++ b/browser/themes/BuiltInThemeConfig.sys.mjs
|
||||
@@ -22,24 +22,17 @@ export const BuiltInThemeConfig = new Map([
|
||||
[
|
||||
"firefox-compact-light@mozilla.org",
|
||||
{
|
||||
- version: "1.2",
|
||||
+ version: "1.3",
|
||||
path: "resource://builtin-themes/light/",
|
||||
},
|
||||
],
|
||||
[
|
||||
"firefox-compact-dark@mozilla.org",
|
||||
{
|
||||
- version: "1.2",
|
||||
+ version: "1.3",
|
||||
@@ -33,13 +33,6 @@ export const BuiltInThemeConfig = new Map([
|
||||
path: "resource://builtin-themes/dark/",
|
||||
},
|
||||
],
|
||||
|
@@ -11,15 +11,6 @@ index c2d5dd7a18895ae8b4afbf386f122e7899c48cda..377d904bbf5adc92bf7cb0aa4c4c6417
|
||||
);
|
||||
let activeBuiltInTheme = this.builtInThemeMap.get(activeThemeID);
|
||||
|
||||
@@ -82,7 +82,7 @@ class _BuiltInThemes {
|
||||
lazy.AddonManager.maybeInstallBuiltinAddon(
|
||||
activeThemeID,
|
||||
activeBuiltInTheme.version,
|
||||
- `resource://builtin-themes/${activeBuiltInTheme.path}`
|
||||
+ `${activeBuiltInTheme.path}`
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,7 @@ class _BuiltInThemes {
|
||||
async _uninstallExpiredThemes() {
|
||||
const activeThemeID = Services.prefs.getStringPref(
|
||||
|
@@ -10,9 +10,8 @@ index bfebde683d00b0acf26509139a0f662029d37c72..976b553f49e40b7ed02743d79ccc102f
|
||||
+ "name": "Zen Dark",
|
||||
"description": "A theme with a dark color scheme.",
|
||||
- "author": "Mozilla",
|
||||
- "version": "1.2",
|
||||
+ "author": "Zen",
|
||||
+ "version": "1.3",
|
||||
"version": "1.3.2",
|
||||
|
||||
"icons": { "32": "icon.svg" },
|
||||
|
||||
|
@@ -10,9 +10,8 @@ index d490f8f08d203ded55b65fe1a19be105b61ee6c0..eb4349e939b979b3a4d7c525ee0c0f9a
|
||||
+ "name": "Zen Light",
|
||||
"description": "A theme with a light color scheme.",
|
||||
- "author": "Mozilla",
|
||||
- "version": "1.2",
|
||||
+ "author": "Zen",
|
||||
+ "version": "1.3",
|
||||
"version": "1.3",
|
||||
|
||||
"icons": { "32": "icon.svg" },
|
||||
|
||||
|
@@ -1,31 +0,0 @@
|
||||
diff --git a/browser/themes/shared/browser-custom-colors.css b/browser/themes/shared/browser-custom-colors.css
|
||||
index 23187312740d440b3cd4b376a06cb2ab2e885604..ac9aafc0ceed04364ae5b468cf7d2b2843aa7fe5 100644
|
||||
--- a/browser/themes/shared/browser-custom-colors.css
|
||||
+++ b/browser/themes/shared/browser-custom-colors.css
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
@media not (prefers-contrast) {
|
||||
:root:not([lwtheme]) {
|
||||
- --button-primary-bgcolor: light-dark(rgb(0, 97, 224), rgb(0, 221, 255));
|
||||
+ --button-primary-bgcolor: light-dark(#000, #fff);
|
||||
--button-primary-hover-bgcolor: light-dark(rgb(2, 80, 187), rgb(128, 235, 255));
|
||||
--button-primary-active-bgcolor: light-dark(rgb(5, 62, 148), rgb(170, 242, 255));
|
||||
--button-primary-color: light-dark(rgb(251, 251, 254), rgb(43, 42, 51));
|
||||
@@ -15,7 +15,7 @@
|
||||
rgba(0, 0, 0, .33)
|
||||
);
|
||||
--button-hover-bgcolor: light-dark(
|
||||
- rgba(207, 207, 216, .66),
|
||||
+ rgba(228, 228, 235, 0.66),
|
||||
rgba(207, 207, 216, .20)
|
||||
);
|
||||
--button-active-bgcolor: light-dark(
|
||||
@@ -49,7 +49,7 @@
|
||||
--tab-icon-overlay-fill: light-dark(rgb(91, 91, 102), rgb(251, 251, 254));
|
||||
--tabs-navbar-separator-style: none;
|
||||
|
||||
- --toolbox-non-lwt-bgcolor: light-dark(rgb(240, 240, 244), rgb(28, 27, 34));
|
||||
+ --toolbox-non-lwt-bgcolor: light-dark(rgb(210, 210, 213), rgb(28, 27, 34));
|
||||
--toolbox-non-lwt-textcolor: light-dark(rgb(21, 20, 26), rgb(251, 251, 254));
|
||||
--toolbox-non-lwt-bgcolor-inactive: var(--toolbox-non-lwt-bgcolor);
|
||||
--toolbox-non-lwt-textcolor-inactive: var(--toolbox-non-lwt-textcolor);
|
@@ -2,14 +2,6 @@ diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/br
|
||||
index f2171eb033a1143870f4708c63f565fabb535c4b..4280bc4b0f7cdbd94179fa2111f8001a331ea42b 100644
|
||||
--- a/browser/themes/shared/browser-shared.css
|
||||
+++ b/browser/themes/shared/browser-shared.css
|
||||
@@ -179,7 +179,6 @@ body {
|
||||
appearance: none;
|
||||
|
||||
/* Toolbar / content area border */
|
||||
- border-bottom: 0.01px solid var(--chrome-content-separator-color);
|
||||
|
||||
background-color: var(--toolbox-non-lwt-bgcolor);
|
||||
color: var(--toolbox-non-lwt-textcolor);
|
||||
@@ -188,7 +187,6 @@ body {
|
||||
transition: background-color var(--inactive-window-transition);
|
||||
|
||||
|
@@ -3,9 +3,9 @@ index 9f7331f2f00a8b0de6ce28a7029358a86eeb8873..2dc56a8455df9009bd1f524b377b8fdf
|
||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||
@@ -15,7 +15,7 @@
|
||||
--tab-border-radius: 4px;
|
||||
--tab-shadow-max-size: 6px;
|
||||
--tab-block-margin: 4px;
|
||||
--tab-icon-end-margin: 5.5px;
|
||||
--tab-icon-overlay-fill: light-dark(black, white);
|
||||
--tab-icon-overlay-stroke: light-dark(white, black);
|
||||
- --tab-loading-fill: #0A84FF;
|
||||
+ --tab-loading-fill: var(--zen-primary-color);
|
||||
--tab-hover-background-color: color-mix(in srgb, currentColor 11%, transparent);
|
||||
@@ -24,8 +24,8 @@ index 9f7331f2f00a8b0de6ce28a7029358a86eeb8873..2dc56a8455df9009bd1f524b377b8fdf
|
||||
@@ -952,7 +951,7 @@ sidebar-main[expanded] > #vertical-tabs > #tabbrowser-tabs[orient="vertical"] >
|
||||
toolbarbutton:not(#firefox-view-button),
|
||||
toolbarpaletteitem:not(#wrapper-firefox-view-button)
|
||||
) + #tabbrowser-tabs {
|
||||
- border-inline-start: 1px solid color-mix(in srgb, currentColor 25%, transparent);
|
||||
) ~ #tabbrowser-tabs {
|
||||
- border-inline-start: var(--tabstrip-inner-border);
|
||||
+ border-inline-start: transparent;
|
||||
padding-inline-start: calc(var(--tab-overflow-pinned-tabs-width) + 2px);
|
||||
margin-inline-start: 2px;
|
||||
@@ -35,6 +35,6 @@ index 9f7331f2f00a8b0de6ce28a7029358a86eeb8873..2dc56a8455df9009bd1f524b377b8fdf
|
||||
}
|
||||
|
||||
-#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow]) ~ #new-tab-button,
|
||||
#tabbrowser-tabs[orient="vertical"] > #tabbrowser-arrowscrollbox > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||
#tabbrowser-tabs[overflow] > #tabbrowser-arrowscrollbox > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||
#tabbrowser-tabs:not([hasadjacentnewtabbutton]) > #tabbrowser-arrowscrollbox > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||
#tabbrowser-tabs[orient="horizontal"] > #vertical-tabs-newtab-button,
|
||||
#tabbrowser-tabs[orient="vertical"]:not([overflow]) > #vertical-tabs-newtab-button,
|
||||
#tabbrowser-arrowscrollbox[overflowing] > #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button,
|
||||
|
@@ -44,6 +44,7 @@
|
||||
#stop-button,
|
||||
.close-icon,
|
||||
#zen-sidebar-web-panel-close,
|
||||
#zen-glance-sidebar-close,
|
||||
.zen-theme-picker-custom-list-item-remove {
|
||||
list-style-image: url('close.svg') !important;
|
||||
}
|
||||
@@ -263,6 +264,7 @@
|
||||
|
||||
#restore-button,
|
||||
#fullscreen-button,
|
||||
#zen-glance-sidebar-open,
|
||||
#appMenu-fullscreen-button2 {
|
||||
list-style-image: url('fullscreen.svg') !important;
|
||||
}
|
||||
|
@@ -1,25 +0,0 @@
|
||||
diff --git a/toolkit/modules/ActorManagerParent.sys.mjs b/toolkit/modules/ActorManagerParent.sys.mjs
|
||||
index 71409e58271802fc506999712519df63eff3b1a6..684c9da0139db1dc0962fbb50304ca4f013950ca 100644
|
||||
--- a/toolkit/modules/ActorManagerParent.sys.mjs
|
||||
+++ b/toolkit/modules/ActorManagerParent.sys.mjs
|
||||
@@ -666,6 +666,20 @@ if (!Services.prefs.getBoolPref("browser.pagedata.enabled", false)) {
|
||||
};
|
||||
}
|
||||
|
||||
+JSWINDOWACTORS.ZenThemeMarketplace = {
|
||||
+ parent: {
|
||||
+ esModuleURI: "chrome://browser/content/zen-components/actors/ZenThemeMarketplaceParent.sys.mjs",
|
||||
+ },
|
||||
+ child: {
|
||||
+ esModuleURI: "chrome://browser/content/zen-components/actors/ZenThemeMarketplaceChild.sys.mjs",
|
||||
+ events: {
|
||||
+ DOMContentLoaded: {},
|
||||
+ },
|
||||
+ },
|
||||
+ matches: ["https://*.zen-browser.app/*", "about:preferences"],
|
||||
+ allFrames: true,
|
||||
+};
|
||||
+
|
||||
if (AppConstants.platform != "android") {
|
||||
// Note that GeckoView has another implementation in mobile/android/actors.
|
||||
JSWINDOWACTORS.Select = {
|
@@ -1,5 +1,5 @@
|
||||
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
|
||||
index 011eee093dcf77c3c8ad3cd20188b61457d8dc09..d6ffe47cf4d1dfe7a49d7e5f5d84c162b8589cc7 100644
|
||||
index 06281a55f43ddff4f4d4a09ba05e9a830a221415..269728dccdd8a286b563a5d20da5280b7b3b1639 100644
|
||||
--- a/toolkit/moz.configure
|
||||
+++ b/toolkit/moz.configure
|
||||
@@ -81,6 +81,9 @@ option(
|
||||
@@ -25,3 +25,12 @@ index 011eee093dcf77c3c8ad3cd20188b61457d8dc09..d6ffe47cf4d1dfe7a49d7e5f5d84c162
|
||||
return True
|
||||
|
||||
|
||||
@@ -2036,7 +2039,7 @@ set_define("A11Y_LOG", True, when=a11y_log)
|
||||
# ==============================================================
|
||||
@depends(milestone)
|
||||
def require_signing(milestone):
|
||||
- return milestone.is_release_or_beta and not milestone.is_esr
|
||||
+ return False
|
||||
|
||||
|
||||
option(
|
||||
|
@@ -1,8 +1,8 @@
|
||||
diff --git a/toolkit/profile/nsToolkitProfileService.cpp b/toolkit/profile/nsToolkitProfileService.cpp
|
||||
index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc56339484 100644
|
||||
index 0587b214ddcf4b12877ca3698ca7d4308b2f0af3..3846515a4fa7b849233de6026f55152478c04f03 100644
|
||||
--- a/toolkit/profile/nsToolkitProfileService.cpp
|
||||
+++ b/toolkit/profile/nsToolkitProfileService.cpp
|
||||
@@ -234,7 +234,7 @@ void RemoveProfileFiles(nsIToolkitProfile* aProfile, bool aInBackground) {
|
||||
@@ -229,7 +229,7 @@ void RemoveProfileFiles(nsIToolkitProfile* aProfile, bool aInBackground) {
|
||||
}
|
||||
|
||||
nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
@@ -11,7 +11,7 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
const nsACString& aStoreID = VoidCString(),
|
||||
bool aShowProfileSelector = false)
|
||||
: mName(aName),
|
||||
@@ -244,7 +244,8 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
@@ -239,7 +239,8 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
mShowProfileSelector(aShowProfileSelector),
|
||||
mLock(nullptr),
|
||||
mIndex(0),
|
||||
@@ -21,7 +21,7 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
NS_ASSERTION(aRootDir, "No file!");
|
||||
|
||||
RefPtr<nsToolkitProfile> prev =
|
||||
@@ -259,6 +260,10 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
@@ -254,6 +255,10 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
// If this profile isn't in the database already add it.
|
||||
if (!aFromDB) {
|
||||
nsINIParser* db = &nsToolkitProfileService::gService->mProfileDB;
|
||||
@@ -32,7 +32,7 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
db->SetString(mSection.get(), "Name", mName.get());
|
||||
|
||||
bool isRelative = false;
|
||||
@@ -268,6 +273,7 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
@@ -263,6 +268,7 @@ nsToolkitProfile::nsToolkitProfile(const nsACString& aName, nsIFile* aRootDir,
|
||||
|
||||
db->SetString(mSection.get(), "IsRelative", isRelative ? "1" : "0");
|
||||
db->SetString(mSection.get(), "Path", descriptor.get());
|
||||
@@ -40,7 +40,7 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
if (!mStoreID.IsVoid()) {
|
||||
db->SetString(mSection.get(), "StoreID",
|
||||
PromiseFlatCString(mStoreID).get());
|
||||
@@ -466,6 +472,8 @@ nsToolkitProfile::SetShowProfileSelector(bool aShowProfileSelector) {
|
||||
@@ -462,6 +468,8 @@ nsToolkitProfile::SetShowProfileSelector(bool aShowProfileSelector) {
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -49,14 +49,13 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
nsresult nsToolkitProfile::RemoveInternal(bool aRemoveFiles,
|
||||
bool aInBackground) {
|
||||
NS_ASSERTION(nsToolkitProfileService::gService, "Whoa, my service is gone.");
|
||||
@@ -1158,8 +1166,15 @@ nsresult nsToolkitProfileService::Init() {
|
||||
@@ -1145,8 +1153,14 @@ nsresult nsToolkitProfileService::Init() {
|
||||
}
|
||||
}
|
||||
|
||||
- currentProfile = new nsToolkitProfile(name, rootDir, localDir, true,
|
||||
- storeID, showProfileSelector);
|
||||
+ nsAutoCString zenProfileAvatar;
|
||||
+
|
||||
+ rv = mProfileDB.GetString(profileID.get(), "ZenAvatarPath", zenProfileAvatar);
|
||||
+ if (NS_FAILED(rv)) {
|
||||
+ NS_ERROR("Malformed profiles.ini: ZenAvatarPath= not found");
|
||||
@@ -67,7 +66,7 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
|
||||
// If a user has modified the ini file path it may make for a valid profile
|
||||
// path but not match what we would have serialised and so may not match
|
||||
@@ -1384,7 +1399,7 @@ nsresult nsToolkitProfileService::CreateDefaultProfile(
|
||||
@@ -1375,7 +1389,7 @@ nsresult nsToolkitProfileService::CreateDefaultProfile(
|
||||
if (mUseDevEditionProfile) {
|
||||
name.AssignLiteral(DEV_EDITION_NAME);
|
||||
} else if (mUseDedicatedProfile) {
|
||||
@@ -76,12 +75,12 @@ index 6e40f51cfc6e76fbd63d87fe7a416481fe9bb2f6..3bc78e3077264387415a06a52a3a8fbc
|
||||
} else {
|
||||
name.AssignLiteral(DEFAULT_NAME);
|
||||
}
|
||||
@@ -2180,7 +2195,7 @@ nsToolkitProfileService::CreateProfile(nsIFile* aRootDir,
|
||||
@@ -2185,7 +2199,7 @@ nsresult nsToolkitProfileService::CreateProfile(nsIFile* aRootDir,
|
||||
rv = CreateTimesInternal(rootDir);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
nsCOMPtr<nsIToolkitProfile> profile =
|
||||
- new nsToolkitProfile(aName, rootDir, localDir, false);
|
||||
+ new nsToolkitProfile(aName, rootDir, localDir, false, ""_ns);
|
||||
- profile = new nsToolkitProfile(aName, rootDir, localDir, false);
|
||||
+ profile = new nsToolkitProfile(aName, rootDir, localDir, false, ""_ns);
|
||||
|
||||
if (aName.Equals(DEV_EDITION_NAME)) {
|
||||
mDevEditionDefault = profile;
|
||||
|
@@ -1,19 +1,14 @@
|
||||
diff --git a/toolkit/themes/shared/menulist-shared.css b/toolkit/themes/shared/menulist-shared.css
|
||||
index fa7e68c7b71b28c6dc1b2f67a9868f9ad4090034..9d082381e2d491d63647f8047a748354918686fe 100644
|
||||
index 5dd5549674570170a694afbd9ea4526e52e3192a..187fcb57183df6a0ab3701ab79c46d86c5e984b3 100644
|
||||
--- a/toolkit/themes/shared/menulist-shared.css
|
||||
+++ b/toolkit/themes/shared/menulist-shared.css
|
||||
@@ -14,12 +14,13 @@
|
||||
@@ -14,7 +14,8 @@
|
||||
|
||||
:host(:not([native])) {
|
||||
appearance: none;
|
||||
- background-color: var(--button-bgcolor, ButtonFace);
|
||||
- background-color: var(--button-background-color);
|
||||
+ background-color: var(--zen-colors-tertiary, ButtonFace);
|
||||
color: var(--button-color, ButtonText);
|
||||
+ border: 1px solid var(--input-border-color, ThreeDShadow);
|
||||
color: var(--button-text-color);
|
||||
border-radius: 4px;
|
||||
padding-block: 4px;
|
||||
padding-inline: 12px 8px;
|
||||
margin: 5px 2px 3px;
|
||||
+ border: 1px solid var(--input-border-color, ThreeDShadow);
|
||||
}
|
||||
|
||||
:host(:not([native])[size="medium"]) {
|
||||
|
@@ -5,7 +5,7 @@
|
||||
"binaryName": "zen",
|
||||
"version": {
|
||||
"product": "firefox",
|
||||
"version": "131.0.3"
|
||||
"version": "132.0"
|
||||
},
|
||||
"buildOptions": {
|
||||
"generateBranding": true
|
||||
@@ -18,7 +18,7 @@
|
||||
"brandShortName": "Zen Browser",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.0.1-a.14",
|
||||
"displayVersion": "1.0.1-a.15",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
@@ -38,7 +38,7 @@
|
||||
"brandShortName": "Zen Twilight",
|
||||
"brandFullName": "Zen Twilight",
|
||||
"release": {
|
||||
"displayVersion": "1.0.1-t.14",
|
||||
"displayVersion": "1.0.1-t.15",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
|
Reference in New Issue
Block a user