Compare commits

...

7 Commits
1.17.2b ... 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
18 changed files with 148 additions and 40 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

@@ -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..ef88cc762969f206c9b16274c4af526c738c5704 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", () =>
@@ -147,6 +147,15 @@ index afc7a6c6ddbf4cf5a5b27c0bd60577b833c63093..ef88cc762969f206c9b16274c4af526c
this.removeAttribute("breakout-extend");
this.#updateTextboxPosition();
}
@@ -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;
}

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

@@ -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

@@ -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;
@@ -735,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

@@ -339,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;
@@ -498,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;
@@ -544,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

@@ -11,4 +11,9 @@
* web content */
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

@@ -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.2b",
"displayVersion": "1.17.3b",
"github": {
"repo": "zen-browser/desktop"
},