diff --git a/src/browser/base/content/browser-pageActions-js.patch b/src/browser/base/content/browser-pageActions-js.patch index 197789f45..d4c64166e 100644 --- a/src/browser/base/content/browser-pageActions-js.patch +++ b/src/browser/base/content/browser-pageActions-js.patch @@ -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) { diff --git a/src/browser/base/content/zen-panels/site-data.inc b/src/browser/base/content/zen-panels/site-data.inc index 9b39392cf..bf310982b 100644 --- a/src/browser/base/content/zen-panels/site-data.inc +++ b/src/browser/base/content/zen-panels/site-data.inc @@ -22,6 +22,7 @@ @@ -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; } diff --git a/src/zen/common/ZenUIManager.mjs b/src/zen/common/ZenUIManager.mjs index 5c8166f7f..b522dcfc6 100644 --- a/src/zen/common/ZenUIManager.mjs +++ b/src/zen/common/ZenUIManager.mjs @@ -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) { diff --git a/src/zen/common/styles/zen-single-components.css b/src/zen/common/styles/zen-single-components.css index 92bd65a36..4c5473872 100644 --- a/src/zen/common/styles/zen-single-components.css +++ b/src/zen/common/styles/zen-single-components.css @@ -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); } diff --git a/src/zen/glance/ZenGlanceManager.mjs b/src/zen/glance/ZenGlanceManager.mjs index 343d1ffd9..667c09c53 100644 --- a/src/zen/glance/ZenGlanceManager.mjs +++ b/src/zen/glance/ZenGlanceManager.mjs @@ -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); } } diff --git a/src/zen/glance/zen-glance.css b/src/zen/glance/zen-glance.css index f5f9fb0b4..1a9188295 100644 --- a/src/zen/glance/zen-glance.css +++ b/src/zen/glance/zen-glance.css @@ -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%; + } } diff --git a/src/zen/urlbar/ZenSiteDataPanel.sys.mjs b/src/zen/urlbar/ZenSiteDataPanel.sys.mjs index f3aa7f6ef..ad3382a11 100644 --- a/src/zen/urlbar/ZenSiteDataPanel.sys.mjs +++ b/src/zen/urlbar/ZenSiteDataPanel.sys.mjs @@ -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',