mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-26 12:27:50 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7902dfb3ef | ||
|
|
8df8a1e657 | ||
|
|
83cda121c3 | ||
|
|
5500ee9250 | ||
|
|
bf8dc55deb | ||
|
|
ee6c2f68c6 | ||
|
|
ff71ee1081 | ||
|
|
0dbfca8c29 | ||
|
|
460f255fd4 | ||
|
|
43209411b9 |
@@ -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";
|
||||
@@ -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": {
|
||||
|
||||
@@ -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..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 =
|
||||
|
||||
@@ -544,6 +544,12 @@ groupbox h2 {
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1320px) {
|
||||
#zenLayoutList {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
|
||||
/* Disable mozilla's settings */
|
||||
|
||||
#dataCollectionCategory,
|
||||
|
||||
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");
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
*/
|
||||
|
||||
& .titlebar-buttonbox-container {
|
||||
visibility: visible;
|
||||
max-height: 100%;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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%;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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.1b",
|
||||
"displayVersion": "1.17.3b",
|
||||
"github": {
|
||||
"repo": "zen-browser/desktop"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user