Compare commits

...

10 Commits
1.17.1b ... dev

Author SHA1 Message Date
p-sage
7902dfb3ef fix: Change icon for 'Copy Current URL' action, p=#11018
This PR simply changes the icon of 'Copy Current URL' action to match the one used in the new 'Copy URL' button in the URL Bar

Signed-off-by: p-sage <171166538+p-sage@users.noreply.github.com>
2025-10-25 21:11:01 +02:00
CosmoCreeper
8df8a1e657 fix: Fix cursor height in input field, p=#11006
Fix cursor height on first character in the name input field of creating a space.

Signed-off-by: CosmoCreeper <179134799+CosmoCreeper@users.noreply.github.com>
2025-10-25 10:49:29 +02:00
mr. m
83cda121c3 fix: Fixed caption buttons showing native panel when hidden, b=closes #10973, c=compact-mode, tabs 2025-10-25 01:54:35 +02:00
Jai A P
5500ee9250 fix: Fixed closing tab count for all edge cases, p=#9599 2025-10-24 22:43:03 +02:00
mr. m
bf8dc55deb chore: Bump, b=no-bug, c=no-component 2025-10-24 22:40:12 +02:00
mr. m
ee6c2f68c6 feat: Dont collapse the urlbar buttons if a popup is opened, b=no-bug, c=common 2025-10-24 22:39:15 +02:00
mr. m
ff71ee1081 chore: Small quality fixes, b=no-bug, c=common, glance 2025-10-24 20:11:58 +02:00
Ryosuke
0dbfca8c29 fix: prevent horizontal overflow on Look and Feel page, p=#10980 2025-10-23 19:00:33 +02:00
mr. m
460f255fd4 fix: Fixed native caption buttons not updating position when hiding, b=closes #10973, c=common, compact-mode 2025-10-23 17:41:41 +02:00
mr. m
43209411b9 fix: Fixed single buttons overflowing the sid
ebar, b=closes #10968, c=common, tabs
2025-10-23 15:01:28 +02:00
26 changed files with 202 additions and 82 deletions

View File

@@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 32b67f846b9942ad3da4276bb8748fee915eb485..f77d5df7c8ef49c0366ada8b3153c5a6c676239b 100644
index 32b67f846b9942ad3da4276bb8748fee915eb485..529ef8895d2ab01b4cbebd2992fd3b64225e42b0 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, {
@@ -19,6 +19,33 @@ index 32b67f846b9942ad3da4276bb8748fee915eb485..f77d5df7c8ef49c0366ada8b3153c5a6
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
@@ -3795,7 +3798,7 @@ function warnAboutClosingWindow() {
if (!isPBWindow && !toolbar.visible) {
return gBrowser.warnAboutClosingTabs(
- gBrowser.openTabs.length,
+ gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length,
gBrowser.closingTabsEnum.ALL
);
}
@@ -3835,7 +3838,7 @@ function warnAboutClosingWindow() {
return (
isPBWindow ||
gBrowser.warnAboutClosingTabs(
- gBrowser.openTabs.length,
+ gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length,
gBrowser.closingTabsEnum.ALL
)
);
@@ -3860,7 +3863,7 @@ function warnAboutClosingWindow() {
AppConstants.platform != "macosx" ||
isPBWindow ||
gBrowser.warnAboutClosingTabs(
- gBrowser.openTabs.length,
+ gBrowser.visibleTabs.filter(t => t.getAttribute("pending")!=="true").length,
gBrowser.closingTabsEnum.ALL
)
);
@@ -4782,6 +4785,9 @@ var ConfirmationHint = {
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");

View File

@@ -1,12 +1,13 @@
diff --git a/browser/base/content/browser-pageActions.js b/browser/base/content/browser-pageActions.js
index 00da33bc11189db17b6a2e656acb3a778531197c..9571155baccad9a886cbe9c7bf0bd76a135331c4 100644
index 00da33bc11189db17b6a2e656acb3a778531197c..bdca62e9ed5513e1e1922f1f9498755f5459e0c2 100644
--- a/browser/base/content/browser-pageActions.js
+++ b/browser/base/content/browser-pageActions.js
@@ -451,6 +451,7 @@ var BrowserPageActions = {
@@ -449,7 +449,7 @@ var BrowserPageActions = {
document.getElementById(
action && this.urlbarButtonNodeIDForActionID(action.id)
),
document.getElementById(this.mainButtonNode.id),
document.getElementById("identity-icon"),
- document.getElementById(this.mainButtonNode.id),
+ document.getElementById("zen-site-data-icon-button"),
document.getElementById("identity-icon"),
];
for (let node of potentialAnchorNodes) {
if (node && !node.hidden) {

View File

@@ -22,6 +22,7 @@
<toolbarbutton id="zen-site-data-header-reader-mode"
data-l10n-id="zen-site-data-header-reader-mode"
command="View:ReaderView"
tooltip="dynamic-shortcut-tooltip"
flex="1" />
<toolbarbutton id="zen-site-data-header-screenshot"
data-l10n-id="zen-site-data-header-screenshot"

View File

@@ -0,0 +1,12 @@
diff --git a/browser/components/asrouter/modules/FeatureCallout.sys.mjs b/browser/components/asrouter/modules/FeatureCallout.sys.mjs
index 2a2c5a6fe903694abbac0be86c7b3c8adc1d0275..5571b827198474a2635a9bd968adbc8c96dbc353 100644
--- a/browser/components/asrouter/modules/FeatureCallout.sys.mjs
+++ b/browser/components/asrouter/modules/FeatureCallout.sys.mjs
@@ -776,6 +776,7 @@ export class FeatureCallout {
) {
return false;
}
+ if (el?.id === "zen-site-data-icon-button") return true;
const style = this.win.getComputedStyle(el);
return style?.visibility === "visible" && style?.display !== "none";

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index d9a059f608779fea7cd8c595a432f6fe95183e0c..31c43bc3d5b05713299c1b822b9774909445e862 100644
index d9a059f608779fea7cd8c595a432f6fe95183e0c..c359e5115b315dbb4b14e07ab34526aab438565f 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
@@ -176,17 +176,23 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..31c43bc3d5b05713299c1b822b977490
});
lazy.log.debug(
@@ -7909,7 +7909,8 @@ class OverflowableToolbar {
@@ -7909,7 +7909,14 @@ class OverflowableToolbar {
Math.max(targetWidth, targetChildrenWidth)
);
totalAvailWidth = Math.ceil(totalAvailWidth);
- let isOverflowing = targetContentWidth > totalAvailWidth;
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar && this.#toolbar.id == 'nav-bar') return { isOverflowing: false, targetContentWidth, totalAvailWidth };
+ let isOverflowing = targetContentWidth + (win.gZenVerticalTabsManager._hasSetSingleToolbar ? 0.1 : 0) > totalAvailWidth;
+ if (win.gZenVerticalTabsManager._hasSetSingleToolbar &&
+ this.#target.id == 'zen-sidebar-top-buttons-customization-target' &&
+ Array.from(this.#target.children).filter(child => child.getAttribute("overflows") != "false").length == 1 &&
+ this.#overflowedInfo.size == 0) {
+ isOverflowing = false;
+ }
return { isOverflowing, targetContentWidth, totalAvailWidth };
}
@@ -7970,7 +7971,11 @@ class OverflowableToolbar {
@@ -7970,7 +7977,11 @@ class OverflowableToolbar {
return;
}
}
@@ -199,7 +205,7 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..31c43bc3d5b05713299c1b822b977490
lazy.log.debug(
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
);
@@ -8003,7 +8008,7 @@ class OverflowableToolbar {
@@ -8003,7 +8014,7 @@ class OverflowableToolbar {
}
}
if (!inserted) {
@@ -208,7 +214,7 @@ index d9a059f608779fea7cd8c595a432f6fe95183e0c..31c43bc3d5b05713299c1b822b977490
}
child.removeAttribute("cui-anchorid");
child.removeAttribute("overflowedItem");
@@ -8348,7 +8353,7 @@ class OverflowableToolbar {
@@ -8348,7 +8359,7 @@ class OverflowableToolbar {
break;
}
case "mousedown": {

View File

@@ -0,0 +1,12 @@
diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
index 773f595e89e268578ba153907babec95b58a155a..abe86fc3d243a85c4a8dbee854a2d0130f7270fd 100644
--- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
+++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
@@ -937,6 +937,7 @@ export class AsyncTabSwitcher {
return !(
this.tabbrowser._printPreviewBrowsers.has(browser) ||
lazy.PictureInPicture.isOriginatingBrowser(browser)
+ || browser?.hasAttribute('zen-glance-background')
);
}

View File

@@ -1,5 +1,5 @@
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c64ab7bed9 100644
index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..f28c9a1ac086af429a93bd01be5d355858bcf37b 100644
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
@@ -76,6 +76,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
@@ -122,14 +122,13 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
// Enable the animation only after the first extend call to ensure it
// doesn't run when opening a new window.
if (!this.hasAttribute("breakout-extend-animate")) {
@@ -2331,6 +2396,25 @@ export class UrlbarInput {
@@ -2331,6 +2396,24 @@ export class UrlbarInput {
return;
}
+ if (this._zenHandleUrlbarClose) {
+ this._zenHandleUrlbarClose();
+ }
+ this.window.gZenUIManager.onUrlbarClose();
+
+ // Arc like URLbar: Blur the input on exit
+ const zenToolbox = this.document.getElementById("navigator-toolbox");
@@ -142,13 +141,22 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
+ this.document.ownerGlobal.setTimeout(() => {
+ this.window.document.documentElement.removeAttribute("supress-primary-adjustment");
+ }, 100);
+
+ this.window.gZenUIManager.onUrlbarClose();
+ this.removeAttribute("zen-floating-urlbar");
+
this.removeAttribute("breakout-extend");
this.#updateTextboxPosition();
}
@@ -2595,10 +2679,12 @@ export class UrlbarInput {
@@ -2361,7 +2444,7 @@ export class UrlbarInput {
forceUnifiedSearchButtonAvailable = false
) {
let prevState = this.getAttribute("pageproxystate");
-
+ this.removeAttribute("had-proxystate");
this.setAttribute("pageproxystate", state);
this._inputContainer.setAttribute("pageproxystate", state);
this._identityBox?.setAttribute("pageproxystate", state);
@@ -2595,10 +2678,12 @@ export class UrlbarInput {
return;
}
this.textbox.style.top = px(
@@ -161,7 +169,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
);
}
@@ -2658,9 +2744,10 @@ export class UrlbarInput {
@@ -2658,9 +2743,10 @@ export class UrlbarInput {
return;
}
@@ -173,7 +181,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
);
this.textbox.style.setProperty(
"--urlbar-height",
@@ -3093,6 +3180,7 @@ export class UrlbarInput {
@@ -3093,6 +3179,7 @@ export class UrlbarInput {
}
_toggleActionOverride(event) {
@@ -181,7 +189,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
event.keyCode == KeyEvent.DOM_VK_ALT ||
@@ -3197,7 +3285,7 @@ export class UrlbarInput {
@@ -3197,7 +3284,7 @@ export class UrlbarInput {
return val;
}
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
@@ -190,7 +198,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
: val;
// Only trim value if the directionality doesn't change to RTL and we're not
// showing a strikeout https protocol.
@@ -3501,6 +3589,7 @@ export class UrlbarInput {
@@ -3501,6 +3588,7 @@ export class UrlbarInput {
resultDetails = null,
browser = this.window.gBrowser.selectedBrowser
) {
@@ -198,7 +206,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (this.isAddressbar) {
this.#prepareAddressbarLoad(
url,
@@ -3608,6 +3697,10 @@ export class UrlbarInput {
@@ -3608,6 +3696,10 @@ export class UrlbarInput {
}
reuseEmpty = true;
}
@@ -209,7 +217,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (
where == "tab" &&
reuseEmpty &&
@@ -3615,6 +3708,9 @@ export class UrlbarInput {
@@ -3615,6 +3707,9 @@ export class UrlbarInput {
) {
where = "current";
}
@@ -219,7 +227,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
return where;
}
@@ -3872,6 +3968,7 @@ export class UrlbarInput {
@@ -3872,6 +3967,7 @@ export class UrlbarInput {
this.setResultForCurrentValue(null);
this.handleCommand();
this.controller.clearLastQueryContextCache();
@@ -227,7 +235,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
this._suppressStartQuery = false;
});
@@ -3879,7 +3976,6 @@ export class UrlbarInput {
@@ -3879,7 +3975,6 @@ export class UrlbarInput {
contextMenu.addEventListener("popupshowing", () => {
// Close the results pane when the input field contextual menu is open,
// because paste and go doesn't want a result selection.
@@ -235,7 +243,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
let controller =
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
@@ -3991,7 +4087,11 @@ export class UrlbarInput {
@@ -3991,7 +4086,11 @@ export class UrlbarInput {
if (!engineName && !source && !this.hasAttribute("searchmode")) {
return;
}
@@ -248,7 +256,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (this._searchModeIndicatorTitle) {
this._searchModeIndicatorTitle.textContent = "";
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
@@ -4302,6 +4402,7 @@ export class UrlbarInput {
@@ -4302,6 +4401,7 @@ export class UrlbarInput {
this.document.l10n.setAttributes(
this.inputField,
@@ -256,7 +264,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
l10nId,
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
);
@@ -4413,6 +4514,11 @@ export class UrlbarInput {
@@ -4413,6 +4513,11 @@ export class UrlbarInput {
}
_on_click(event) {
@@ -268,7 +276,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (
event.target == this.inputField ||
event.target == this._inputContainer
@@ -4485,7 +4591,7 @@ export class UrlbarInput {
@@ -4485,7 +4590,7 @@ export class UrlbarInput {
}
}
@@ -277,7 +285,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
this.view.autoOpen({ event });
} else {
if (this._untrimOnFocusAfterKeydown) {
@@ -4525,9 +4631,16 @@ export class UrlbarInput {
@@ -4525,9 +4630,16 @@ export class UrlbarInput {
}
_on_mousedown(event) {
@@ -295,7 +303,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
if (
event.target != this.inputField &&
@@ -4538,6 +4651,10 @@ export class UrlbarInput {
@@ -4538,6 +4650,10 @@ export class UrlbarInput {
this.focusedViaMousedown = !this.focused;
this._preventClickSelectsAll = this.focused;
@@ -306,7 +314,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
// Keep the focus status, since the attribute may be changed
// upon calling this.focus().
@@ -4573,7 +4690,7 @@ export class UrlbarInput {
@@ -4573,7 +4689,7 @@ export class UrlbarInput {
}
// Don't close the view when clicking on a tab; we may want to keep the
// view open on tab switch, and the TabSelect event arrived earlier.
@@ -315,7 +323,7 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..b286fc5b40a6e32a3af0bb0f209e58c6
break;
}
@@ -4890,7 +5007,7 @@ export class UrlbarInput {
@@ -4890,7 +5006,7 @@ export class UrlbarInput {
// When we are in actions search mode we can show more results so
// increase the limit.
let maxResults =

View File

@@ -544,6 +544,12 @@ groupbox h2 {
}
}
@media (max-width: 1320px) {
#zenLayoutList {
flex-wrap: wrap;
}
}
/* Disable mozilla's settings */
#dataCollectionCategory,

View File

@@ -0,0 +1,24 @@
diff --git a/toolkit/content/widgets/panel.js b/toolkit/content/widgets/panel.js
index 1dd4fc2a839fc6fde1ce2fc6437625e8d22bbb90..04fcb049225148f1b1f9c4b16cf2d2537887fbec 100644
--- a/toolkit/content/widgets/panel.js
+++ b/toolkit/content/widgets/panel.js
@@ -138,6 +138,9 @@
this.anchorNode.closest("toolbarbutton, .anchor-root") ||
this.anchorNode;
anchorRoot.setAttribute("open", "true");
+ if (anchorRoot.closest("#urlbar") && window.gURLBar) {
+ gURLBar.setAttribute("has-popup-open", "true");
+ }
}
if (this.getAttribute("animate") != "false") {
@@ -208,6 +211,9 @@
this.anchorNode.closest("toolbarbutton, .anchor-root") ||
this.anchorNode;
anchorRoot.removeAttribute("open");
+ if (anchorRoot.closest("#urlbar") && window.gURLBar) {
+ gURLBar.removeAttribute("has-popup-open");
+ }
}
}

View File

@@ -69,12 +69,12 @@ export var ZenCustomizableUI = new (class {
addon-webext-overflowtarget="overflowed-extensions-list"
mode="icons">
<hbox id="zen-sidebar-top-buttons-customization-target" class="customization-target" flex="1">
<toolbaritem id="zen-toggle-compact-mode" removable="true">
<toolbaritem id="zen-toggle-compact-mode" removable="true" data-l10n-id="zen-toggle-compact-mode-button">
<toolbarbutton
class="toolbarbutton-1"
command="cmd_toggleCompactModeIgnoreHover"
flex="1"
data-l10n-id="zen-toggle-compact-mode-button" />
data-l10n-id="zen-toggle-compact-mode-button"
flex="1" />
</toolbaritem>
<html:div id="zen-sidebar-top-buttons-separator" skipintoolbarset="true" overflows="false"></html:div>
</hbox>

View File

@@ -276,14 +276,17 @@ var gZenUIManager = {
onUrlbarOpen() {
setTimeout(() => {
const hadValid = gURLBar.getAttribute('pageproxystate') === 'valid';
gURLBar.setPageProxyState('invalid', false);
gURLBar.setAttribute('had-proxystate', hadValid);
}, 0);
},
onUrlbarClose() {
if (!gURLBar.valueIsTyped && gURLBar._untrimmedValue !== gURLBar.value) {
gURLBar.handleRevert();
if (gURLBar.getAttribute('had-proxystate') == 'true') {
gURLBar.setPageProxyState('valid', false);
}
gURLBar.removeAttribute('had-proxystate');
},
onUrlbarSearchModeChanged(event) {

View File

@@ -247,6 +247,7 @@
@media (-moz-platform: macos) {
:root[zen-window-buttons-reversed='true'][zen-right-side='true'] .titlebar-buttonbox-container {
margin-inline-start: max(calc(var(--zen-element-separation) - 3px), 4px);
margin-block: auto;
}
}

View File

@@ -136,16 +136,20 @@
}
.identity-box-button,
#zen-copy-url-button {
.urlbar-page-action {
opacity: 0;
transition:
opacity 0.15s,
visibility 0.15s;
visibility: collapse;
height: 100%; /* To still be able to open popups */
visibility: collapse;
:root:not([supress-primary-adjustment='true']) & {
transition:
opacity 0.15s,
visibility 0.15s;
}
#navigator-toolbox:hover &,
&[open],
#urlbar[has-popup-open='true'] &,
#identity-box[pageproxystate='invalid'] & {
opacity: 1;
visibility: visible;
@@ -296,13 +300,6 @@
:root[zen-single-toolbar='true'] {
--urlbar-icon-border-radius: 8px !important;
.urlbar-page-action:not([open]):not([showing]):not(
:is(#zen-copy-url-button, #identity-permission-box)
),
#tracking-protection-icon-container {
display: none;
}
#identity-permission-box > *:not(#zen-site-data-icon-button) {
visibility: collapse;
}
@@ -313,7 +310,7 @@
#urlbar:not([breakout-extend='true']) {
#identity-box:not([pageproxystate='invalid']) {
order: 9;
order: 2;
}
}
@@ -742,7 +739,9 @@
* them into a single, unified button */
#reader-mode-button,
#urlbar-go-button,
#star-button-box {
#star-button-box,
#picture-in-picture-button,
#pageActionButton:not([open]) {
display: none !important;
}

View File

@@ -302,6 +302,11 @@ body > #confetti {
gap: 8px;
overflow: visible;
unified-extensions-item-messagebar-wrapper,
.unified-extensions-item-contents {
display: none !important;
}
&[overflowing='true'] {
overflow-x: auto;
max-height: 420px;
@@ -334,6 +339,11 @@ body > #confetti {
justify-content: center;
align-items: center;
border-radius: 6px;
@media not (-moz-platform: macos) {
border-radius: 4px;
}
transition:
background-color 0.1s ease-in-out,
transform 0.12s ease-in-out;
@@ -493,6 +503,10 @@ body > #confetti {
padding: 8px;
padding-bottom: 0;
:root[zen-single-toolbar='true']:not([zen-right-side='true']) & {
flex-direction: row-reverse;
}
& toolbarbutton {
margin: 0;
appearance: none;
@@ -539,7 +553,7 @@ body > #confetti {
}
@media not (-moz-platform: macos) {
border-radius: 6px;
border-radius: 4px;
background-color: color-mix(in srgb, currentcolor 6%, transparent);
}

View File

@@ -195,7 +195,8 @@
/* Transitions */
--zen-tabbox-element-indent-transition: margin-inline-start 0.1s ease-in-out;
--zen-hidden-toolbar-transition: 0.15s ease-in-out;
--zen-hidden-toolbar-transition-duration: 0.15s;
--zen-hidden-toolbar-transition: var(--zen-hidden-toolbar-transition-duration) ease-in-out;
/* XUL */
--zen-main-browser-background: light-dark(rgb(235, 235, 235), #1b1b1b);

View File

@@ -5,6 +5,6 @@
*/
& .titlebar-buttonbox-container {
visibility: visible;
max-height: 100%;
transition: none;
}

View File

@@ -5,9 +5,15 @@
*/
& .titlebar-buttonbox-container {
display: collapse;
max-height: 0px;
/* We need to hide them since on Windows the native
* panels when hovering over them can interfere with the
* web content */
transition: visibility var(--zen-hidden-toolbar-transition);
transition: max-height 0s;
transition-delay: calc(var(--zen-hidden-toolbar-transition-duration) + 0.2s);
& .titlebar-button {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
}

View File

@@ -247,7 +247,7 @@
{
duration: 0.3,
type: 'spring',
delay: 0.15,
delay: 0.2,
bounce: 0,
}
);
@@ -434,6 +434,16 @@
};
}
#createGlancePreviewElement(src) {
const imageDataElement = document.createXULElement('image');
imageDataElement.setAttribute('src', src);
const parent = document.createElement('div');
parent.classList.add('zen-glance-element-preview');
parent.appendChild(imageDataElement);
return parent;
}
/**
* Handle element preview if provided
* @param {Object} data - Glance data
@@ -444,10 +454,7 @@
return null;
}
const imageDataElement = document.createXULElement('image');
imageDataElement.setAttribute('src', data.elementData);
imageDataElement.classList.add('zen-glance-element-preview');
const imageDataElement = this.#createGlancePreviewElement(data.elementData);
this.browserWrapper.prepend(imageDataElement);
this.#glances.get(this.#currentGlanceID).elementImageData = data.elementData;
@@ -990,10 +997,7 @@
*/
#addElementPreview(elementImageData) {
if (elementImageData) {
const imageDataElement = document.createXULElement('image');
imageDataElement.setAttribute('src', elementImageData);
imageDataElement.classList.add('zen-glance-element-preview');
const imageDataElement = this.#createGlancePreviewElement(elementImageData);
this.browserWrapper.prepend(imageDataElement);
}
}

View File

@@ -171,11 +171,17 @@
position: absolute;
pointer-events: none;
width: 100%;
height: 100%;
z-index: 0;
border-radius: var(--zen-native-inner-radius);
top: 0%;
left: 50%;
translate: -50% 0%;
max-height: 100%;
will-change: transform, opacity;
background: rgba(255, 255, 255, 0.1);
& image {
width: 100%;
max-width: 100%;
}
}

View File

@@ -883,7 +883,7 @@
);
for (const tab of pinnedTabs) {
if (allAreUnloaded && closeIfPending) {
return await this._onCloseTabShortcut(event, tab, { behavior: 'close' });
return await this.onCloseTabShortcut(event, tab, { behavior: 'close' });
}
}
await gBrowser.explicitUnloadTabs(pinnedTabs);

View File

@@ -121,7 +121,7 @@
* words, the first of the two selectors above.
*/
:root:not([zen-window-buttons-reversed='true']) & {
margin-left: calc(-1 * var(--zen-toolbox-max-width) + var(--zen-element-separation));
margin-left: calc(-1 * var(--zen-toolbox-max-width) + var(--zen-element-separation) + 4px);
}
}
}

View File

@@ -30,11 +30,6 @@ z-index: 1;
}
%include ../../compact-mode/windows-captions-fix-default.inc.css
& .titlebar-button {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
}
@media -moz-pref('zen.view.experimental-no-window-controls') {

View File

@@ -624,13 +624,6 @@ export class nsZenSiteDataPanel {
callout_attachment: 'topleft',
},
},
{
selector: '#identity-icon-box',
panel_position: {
anchor_attachment: 'bottomcenter',
callout_attachment: 'topleft',
},
},
],
content: {
position: 'callout',

View File

@@ -30,7 +30,7 @@ const globalActionsTemplate = [
{
label: 'Copy Current URL',
command: 'cmd_zenCopyCurrentURL',
icon: 'chrome://browser/skin/zen-icons/edit-copy.svg',
icon: 'chrome://browser/skin/zen-icons/link.svg',
},
{
label: 'Settings',

View File

@@ -109,6 +109,7 @@ zen-workspace-creation {
padding: 0 !important;
width: 100%;
outline: none;
border-radius: 0;
}
}

View File

@@ -19,7 +19,7 @@
"brandShortName": "Zen",
"brandFullName": "Zen Browser",
"release": {
"displayVersion": "1.17.1b",
"displayVersion": "1.17.3b",
"github": {
"repo": "zen-browser/desktop"
},