mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-26 12:27:50 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7902dfb3ef | ||
|
|
8df8a1e657 | ||
|
|
83cda121c3 | ||
|
|
5500ee9250 | ||
|
|
bf8dc55deb | ||
|
|
ee6c2f68c6 | ||
|
|
ff71ee1081 |
@@ -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");
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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";
|
||||
@@ -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')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
24
src/toolkit/content/widgets/panel-js.patch
Normal file
24
src/toolkit/content/widgets/panel-js.patch
Normal 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");
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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') {
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -109,6 +109,7 @@ zen-workspace-creation {
|
||||
padding: 0 !important;
|
||||
width: 100%;
|
||||
outline: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"brandShortName": "Zen",
|
||||
"brandFullName": "Zen Browser",
|
||||
"release": {
|
||||
"displayVersion": "1.17.2b",
|
||||
"displayVersion": "1.17.3b",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user