mirror of
https://github.com/zen-browser/desktop.git
synced 2026-06-18 09:11:11 +00:00
Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6e401db8ae | ||
|
|
afb4e4ff02 | ||
|
|
d55c0193c5 | ||
|
|
1b967a7080 | ||
|
|
535fdce951 | ||
|
|
c4cf56ab75 | ||
|
|
22e8ff2425 | ||
|
|
a2f5c1b4ab | ||
|
|
5cfb9c7d2e | ||
|
|
af6cc694f4 | ||
|
|
194f05834e | ||
|
|
f62c0a27d5 | ||
|
|
4cb4de2656 |
24
.github/workflows/src/release-build.sh
vendored
24
.github/workflows/src/release-build.sh
vendored
@@ -8,10 +8,28 @@ if command -v apt-get &> /dev/null; then
|
||||
sudo apt-get install -y xvfb libnvidia-egl-wayland1 mesa-utils libgl1-mesa-dri
|
||||
fi
|
||||
|
||||
if ! test "$ZEN_CROSS_COMPILING" && test "$(uname -s)" = "Linux"; then
|
||||
if test -d "$HOME/.mozbuild/clang/bin"; then
|
||||
export CC="$HOME/.mozbuild/clang/bin/clang"
|
||||
export CXX="$HOME/.mozbuild/clang/bin/clang++"
|
||||
else
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
fi
|
||||
fi
|
||||
|
||||
mkdir -p ~/.zen-keys
|
||||
echo "$ZEN_SAFEBROWSING_API_KEY" > ~/.zen-keys/safebrowsing.dat
|
||||
echo "$ZEN_MOZILLA_API_KEY" > ~/.zen-keys/mozilla.dat
|
||||
echo "$ZEN_GOOGLE_LOCATION_SERVICE_API_KEY" > ~/.zen-keys/google_location_service.dat
|
||||
if test "$ZEN_SAFEBROWSING_API_KEY"; then
|
||||
echo "$ZEN_SAFEBROWSING_API_KEY" > ~/.zen-keys/safebrowsing.dat
|
||||
fi
|
||||
|
||||
if test "$ZEN_MOZILLA_API_KEY"; then
|
||||
echo "$ZEN_MOZILLA_API_KEY" > ~/.zen-keys/mozilla.dat
|
||||
fi
|
||||
|
||||
if test "$ZEN_GOOGLE_LOCATION_SERVICE_API_KEY"; then
|
||||
echo "$ZEN_GOOGLE_LOCATION_SERVICE_API_KEY" > ~/.zen-keys/google_location_service.dat
|
||||
fi
|
||||
|
||||
. $HOME/.cargo/env
|
||||
|
||||
|
||||
3
.github/workflows/windows-release-build.yml
vendored
3
.github/workflows/windows-release-build.yml
vendored
@@ -234,7 +234,8 @@ jobs:
|
||||
ZEN_RELEASE_BRANCH: ${{ inputs.release-branch }}
|
||||
ZEN_SAFEBROWSING_API_KEY: ${{ secrets.ZEN_SAFEBROWSING_API_KEY }}
|
||||
ZEN_MOZILLA_API_KEY: ${{ secrets.ZEN_MOZILLA_API_KEY }}
|
||||
ZEN_GOOGLE_LOCATION_SERVICE_API_KEY: ${{ secrets.ZEN_GOOGLE_LOCATION_SERVICE_API_KEY }}
|
||||
# Firefox doesn't support location service for Windows
|
||||
# ZEN_GOOGLE_LOCATION_SERVICE_API_KEY: ${{ secrets.ZEN_GOOGLE_LOCATION_SERVICE_API_KEY }}
|
||||
run: |
|
||||
set -x
|
||||
dos2unix configs/windows/mozconfig
|
||||
|
||||
@@ -34,8 +34,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
||||
|
||||
### Firefox Versions
|
||||
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `151.0.4`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 151.0.4`!
|
||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `152.0`! 🚀
|
||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 152.0`!
|
||||
|
||||
### Contributing
|
||||
|
||||
|
||||
@@ -1 +1 @@
|
||||
9a6aa4c359d1fb6ac60decc82402f82d49a17cea
|
||||
01604ce201d4de3c6d4b930d271ce4fe05e8d0c8
|
||||
@@ -2,15 +2,6 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Setting the compiler based on the existence of clang bin directory
|
||||
if test -d "$HOME/.mozbuild/clang/bin"; then
|
||||
export CC="$HOME/.mozbuild/clang/bin/clang"
|
||||
export CXX="$HOME/.mozbuild/clang/bin/clang++"
|
||||
else
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
fi
|
||||
|
||||
if test "$ZEN_RELEASE"; then
|
||||
if test "$SURFER_COMPAT" = "x86_64"; then
|
||||
ac_add_options --target=x86_64-pc-linux
|
||||
|
||||
@@ -22,4 +22,6 @@ zen-space-routing-regex =
|
||||
.label = RegEx
|
||||
|
||||
zen-space-routing-open-in = Open In
|
||||
zen-space-routing-url = URL
|
||||
zen-space-routing-url = URL
|
||||
|
||||
zen-space-routing-tab-routed-toast = New tab opened in { $targetWorkspace }
|
||||
|
||||
48
package-lock.json
generated
48
package-lock.json
generated
@@ -19,14 +19,6 @@
|
||||
"typescript": "^5.9.3"
|
||||
}
|
||||
},
|
||||
"engine/tools/lint/eslint/eslint-plugin-spidermonkey-js": {
|
||||
"extraneous": true,
|
||||
"license": "MPL-2.0",
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=6.9.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
|
||||
@@ -1923,17 +1915,17 @@
|
||||
}
|
||||
},
|
||||
"node_modules/form-data": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
|
||||
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
|
||||
"version": "4.0.6",
|
||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz",
|
||||
"integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"asynckit": "^0.4.0",
|
||||
"combined-stream": "^1.0.8",
|
||||
"es-set-tostringtag": "^2.1.0",
|
||||
"hasown": "^2.0.2",
|
||||
"mime-types": "^2.1.12"
|
||||
"hasown": "^2.0.4",
|
||||
"mime-types": "^2.1.35"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
@@ -2169,9 +2161,9 @@
|
||||
"license": "ISC"
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
|
||||
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
|
||||
"integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2390,10 +2382,20 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-yaml": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
|
||||
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz",
|
||||
"integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/puzrin"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/nodeca"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"argparse": "^2.0.1"
|
||||
@@ -4223,14 +4225,6 @@
|
||||
"engines": {
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"tools/eslint-plugin-spidermonkey-js": {
|
||||
"extraneous": true,
|
||||
"license": "MPL-2.0",
|
||||
"devDependencies": {},
|
||||
"engines": {
|
||||
"node": ">=6.9.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/.prettierignore b/.prettierignore
|
||||
index de2efe413e5696a3b8d0467a3a9e668dfadd8a1a..01c76d8e639d5630fca9cccb55d415fc4e903e91 100644
|
||||
index 949896ff064ae0b54b6a657ea074bc88e12820f7..5249f420972667bece4d85fe8d35073afaebeb8a 100644
|
||||
--- a/.prettierignore
|
||||
+++ b/.prettierignore
|
||||
@@ -1805,3 +1805,12 @@ tools/ts/test/baselines/
|
||||
@@ -1803,3 +1803,12 @@ tools/ts/test/baselines/
|
||||
try_task_config.json
|
||||
xpcom/idl-parser/xpidl/fixtures/xpctest.d.json
|
||||
**/package-lock.json
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/actors/EncryptedMediaParent.sys.mjs b/browser/actors/EncryptedMediaParent.sys.mjs
|
||||
index 492dce93d3cc7c6ec16db047c9e47b175ef3a0fe..757e5543e0e6900c414db6d7a96d511608c1e50a 100644
|
||||
index 8bdeba9b8803354e23a3881147fee6a6af94a63b..61c8407df1fbebcc36481ad2169a9c103b4faed5 100644
|
||||
--- a/browser/actors/EncryptedMediaParent.sys.mjs
|
||||
+++ b/browser/actors/EncryptedMediaParent.sys.mjs
|
||||
@@ -199,6 +199,7 @@ export class EncryptedMediaParent extends JSWindowActorParent {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
|
||||
index b743bd83529c4cd01a6bc820967186dbe41b6144..e24c48bac0f4ae3d4b26087b7e0cac7910019d0e 100644
|
||||
index 98b10b1d789c20b3463de4f703af102f6908318b..29534480fbeda6d66cb9dab81afdaed8d8a5c565 100644
|
||||
--- a/browser/actors/WebRTCParent.sys.mjs
|
||||
+++ b/browser/actors/WebRTCParent.sys.mjs
|
||||
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
|
||||
|
||||
let tabbrowser = browser.ownerGlobal.gBrowser;
|
||||
let tabbrowser = browser.documentGlobal.gBrowser;
|
||||
if (tabbrowser) {
|
||||
+ browser.ownerGlobal.gZenMediaController.updateMediaSharing(state);
|
||||
+ browser.documentGlobal.gZenMediaController.updateMediaSharing(state);
|
||||
tabbrowser.updateBrowserSharing(browser, {
|
||||
webRTC: state,
|
||||
});
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
|
||||
index c64980810570fcea84e33fdc2d66ac42a79f4e46..aa629ebb38a9aa74048fe3fc759f716fad57d6f3 100644
|
||||
index 3ffd464b960a4299a7dd0cd87e4fc2f781b9d593..ef9f42d1f0196902b4af31f4496891fcd6319831 100644
|
||||
--- a/browser/base/content/aboutDialog.xhtml
|
||||
+++ b/browser/base/content/aboutDialog.xhtml
|
||||
@@ -102,10 +102,6 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
||||
index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05f45bce08 100644
|
||||
index 56acad9b7c21c07842f901d24525a97a0ba20217..829054218dc6fbb14fe034546e8da62b12516eae 100644
|
||||
--- a/browser/base/content/browser-addons.js
|
||||
+++ b/browser/base/content/browser-addons.js
|
||||
@@ -1060,7 +1060,7 @@ var gXPInstallObserver = {
|
||||
@@ -20,7 +20,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
},
|
||||
};
|
||||
|
||||
@@ -2209,7 +2209,7 @@ var gUnifiedExtensions = {
|
||||
@@ -2214,7 +2214,7 @@ var gUnifiedExtensions = {
|
||||
// If the new ID is not added in NOTIFICATION_IDS, consider handling the case
|
||||
// in the "PopupNotificationsBeforeAnchor" handler elsewhere in this file.
|
||||
getPopupAnchorID(aBrowser, aWindow) {
|
||||
@@ -29,7 +29,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
const attr = anchorID + "popupnotificationanchor";
|
||||
|
||||
if (!aBrowser[attr]) {
|
||||
@@ -2220,7 +2220,7 @@ var gUnifiedExtensions = {
|
||||
@@ -2225,7 +2225,7 @@ var gUnifiedExtensions = {
|
||||
anchorID
|
||||
// Anchor on the toolbar icon to position the popup right below the
|
||||
// button.
|
||||
@@ -38,7 +38,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
}
|
||||
|
||||
return anchorID;
|
||||
@@ -2545,7 +2545,7 @@ var gUnifiedExtensions = {
|
||||
@@ -2550,7 +2550,7 @@ var gUnifiedExtensions = {
|
||||
requestAnimationFrame(() => this.updateAttention());
|
||||
},
|
||||
|
||||
@@ -47,7 +47,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
// A list of extension widget IDs (possibly empty).
|
||||
let widgetIDs;
|
||||
|
||||
@@ -2559,7 +2559,7 @@ var gUnifiedExtensions = {
|
||||
@@ -2564,7 +2564,7 @@ var gUnifiedExtensions = {
|
||||
}
|
||||
|
||||
// The list of overflowed extensions in the extensions panel.
|
||||
@@ -56,7 +56,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
"#overflowed-extensions-list"
|
||||
);
|
||||
|
||||
@@ -2660,37 +2660,41 @@ var gUnifiedExtensions = {
|
||||
@@ -2665,37 +2665,41 @@ var gUnifiedExtensions = {
|
||||
);
|
||||
template.replaceWith(template.content);
|
||||
this._panel = document.getElementById("unified-extensions-panel");
|
||||
@@ -123,7 +123,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
if (!CustomizationHandler.isCustomizing()) {
|
||||
if (aEvent) {
|
||||
if (
|
||||
@@ -2712,6 +2716,7 @@ var gUnifiedExtensions = {
|
||||
@@ -2717,6 +2721,7 @@ var gUnifiedExtensions = {
|
||||
// and no alternative content is available for display in the panel.
|
||||
const policies = this.getActivePolicies();
|
||||
if (
|
||||
@@ -131,7 +131,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
policies.length &&
|
||||
!this.hasExtensionsInPanel(policies) &&
|
||||
!this.isPrivateWindowMissingExtensionsWithoutPBMAccess() &&
|
||||
@@ -2727,32 +2732,30 @@ var gUnifiedExtensions = {
|
||||
@@ -2732,32 +2737,30 @@ var gUnifiedExtensions = {
|
||||
this.blocklistAttentionInfo =
|
||||
await AddonManager.getBlocklistAttentionInfo();
|
||||
|
||||
@@ -170,7 +170,7 @@ index 853d3c9dd9dd806d49a3c5a44304dd7370f0c90e..ea927b05213981fbfa5494d8d22bce05
|
||||
triggerEvent: aEvent,
|
||||
});
|
||||
}
|
||||
@@ -2947,18 +2950,20 @@ var gUnifiedExtensions = {
|
||||
@@ -2952,18 +2955,20 @@ var gUnifiedExtensions = {
|
||||
this._maybeMoveWidgetNodeBack(widgetId);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-box.inc.xhtml b/browser/base/content/browser-box.inc.xhtml
|
||||
index d58fcdf99843d110b708f3fbf9fb317787fadfcf..cfc2aad902641609c3804e615c4cb66ce65299b7 100644
|
||||
index 31cd4f927c273573b38021f84417101c57377902..f293e1c61d3b7a80b7dc472d927893f0439d6af9 100644
|
||||
--- a/browser/base/content/browser-box.inc.xhtml
|
||||
+++ b/browser/base/content/browser-box.inc.xhtml
|
||||
@@ -3,12 +3,22 @@
|
||||
@@ -10,7 +10,7 @@ index d58fcdf99843d110b708f3fbf9fb317787fadfcf..cfc2aad902641609c3804e615c4cb66c
|
||||
+ <html:div id="zen-browser-background" class="zen-browser-generic-background">
|
||||
+ <html:div class="zen-browser-grain" />
|
||||
+ </html:div>
|
||||
<box context="sidebar-context-menu" id="sidebar-main" hidden="true">
|
||||
<box context="sidebar-context-menu" id="sidebar-main" class="chrome-block" hidden="true">
|
||||
<html:sidebar-main flex="1">
|
||||
<box id="vertical-tabs" slot="tabstrip" customizable="true" contextmenu="toolbar-context-menu"></box>
|
||||
</html:sidebar-main>
|
||||
@@ -22,7 +22,7 @@ index d58fcdf99843d110b708f3fbf9fb317787fadfcf..cfc2aad902641609c3804e615c4cb66c
|
||||
+ </html:div>
|
||||
+<hbox id="zen-tabbox-wrapper" flex="1">
|
||||
+ <tabbox id="tabbrowser-tabbox" flex="1" tabcontainer="tabbrowser-tabs">
|
||||
<vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
|
||||
<vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome chrome-block">
|
||||
<box id="sidebar-header" align="center">
|
||||
<toolbarbutton id="sidebar-switcher-target" class="tabbable" aria-expanded="false">
|
||||
@@ -25,7 +35,7 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
||||
index 2d9f5591c9ffdd5948298555c461850521c0b45f..c46072ca4e96b419987f7e782e26b3de71d7c8e3 100644
|
||||
index 87148c353ee852248e887e3ae31d46bcbee1cd11..91b1d5a8e0e512dd50139f99ad3e3ba7bade80fb 100644
|
||||
--- a/browser/base/content/browser-commands.js
|
||||
+++ b/browser/base/content/browser-commands.js
|
||||
@@ -13,6 +13,10 @@ var BrowserCommands = {
|
||||
@@ -13,7 +13,7 @@ index 2d9f5591c9ffdd5948298555c461850521c0b45f..c46072ca4e96b419987f7e782e26b3de
|
||||
try {
|
||||
gBrowser.goBack();
|
||||
} catch (ex) {}
|
||||
@@ -234,6 +238,10 @@ var BrowserCommands = {
|
||||
@@ -230,6 +234,10 @@ var BrowserCommands = {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ index 2d9f5591c9ffdd5948298555c461850521c0b45f..c46072ca4e96b419987f7e782e26b3de
|
||||
// A notification intended to be useful for modular peformance tracking
|
||||
// starting as close as is reasonably possible to the time when the user
|
||||
// expressed the intent to open a new tab. Since there are a lot of
|
||||
@@ -318,6 +326,14 @@ var BrowserCommands = {
|
||||
@@ -346,6 +354,14 @@ var BrowserCommands = {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ index 2d9f5591c9ffdd5948298555c461850521c0b45f..c46072ca4e96b419987f7e782e26b3de
|
||||
// Keyboard shortcuts that would close a tab that is pinned select the first
|
||||
// unpinned tab instead.
|
||||
if (
|
||||
@@ -325,8 +341,8 @@ var BrowserCommands = {
|
||||
@@ -353,8 +369,8 @@ var BrowserCommands = {
|
||||
(event.ctrlKey || event.metaKey || event.altKey) &&
|
||||
gBrowser.selectedTab.pinned
|
||||
) {
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||
index 1eaf79a4f6788c518a4759bbce81175fd5fba220..6fde5e944ad4a847180ca83a9e6f4fde20aa7b42 100644
|
||||
index d0d3b6fc57800b073bb1c75f6e55212749815b0a..f3d5790eed58f1cb9a36229582e0fa00f3668962 100644
|
||||
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||
@@ -501,8 +501,6 @@ var FullScreen = {
|
||||
// don't need that kind of precision in our CSS.
|
||||
@@ -502,8 +502,6 @@ var FullScreen = {
|
||||
shiftSize = shiftSize.toFixed(2);
|
||||
let translate = shiftSize > 0 ? `0 ${shiftSize}px` : "";
|
||||
- document.body.style.translate = translate;
|
||||
gNavToolbox.classList.toggle("fullscreen-floating-toolbox", shiftSize > 0);
|
||||
- gNavToolbox.style.translate = translate;
|
||||
- gURLBar.style.translate = gURLBar.hasAttribute("breakout") ? translate : "";
|
||||
let searchbar = document.getElementById("searchbar-new");
|
||||
if (searchbar) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-gestureSupport.js b/browser/base/content/browser-gestureSupport.js
|
||||
index a28d54bf72c0e6495b9586f220d1859aac794936..411d7255a68c48643617d77cc279a0a831fdf5c9 100644
|
||||
index f94b39d26a1a9626b3e1f518e2395bc394d1262d..15e198f4bb440cff0bbfb8ccd97c2ce180d5724f 100644
|
||||
--- a/browser/base/content/browser-gestureSupport.js
|
||||
+++ b/browser/base/content/browser-gestureSupport.js
|
||||
@@ -247,6 +247,10 @@ var gGestureSupport = {
|
||||
@@ -13,7 +13,7 @@ index a28d54bf72c0e6495b9586f220d1859aac794936..411d7255a68c48643617d77cc279a0a8
|
||||
return canGoBack || canGoForward;
|
||||
},
|
||||
|
||||
@@ -832,7 +836,7 @@ var gHistorySwipeAnimation = {
|
||||
@@ -848,7 +852,7 @@ var gHistorySwipeAnimation = {
|
||||
* @return true if there is a previous page in history, false otherwise.
|
||||
*/
|
||||
canGoBack: function HSA_canGoBack() {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||
index d09cf65931eda253b2a71131f42883ccf6eb5724..f617863dac8e07def02d1d4ef7e5ade1caf50df1 100644
|
||||
index 0aa4baea8e5e6d742fc6cd3333068e7eb64b5bbc..057bb2386420edd31154979338e71d00a51a7266 100644
|
||||
--- a/browser/base/content/browser-init.js
|
||||
+++ b/browser/base/content/browser-init.js
|
||||
@@ -302,6 +302,7 @@ var gBrowserInit = {
|
||||
@@ -307,6 +307,7 @@ var gBrowserInit = {
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
@@ -10,7 +10,7 @@ index d09cf65931eda253b2a71131f42883ccf6eb5724..f617863dac8e07def02d1d4ef7e5ade1
|
||||
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
||||
PopupAndRedirectBlockerObserver.handleEvent(e)
|
||||
);
|
||||
@@ -496,6 +497,7 @@ var gBrowserInit = {
|
||||
@@ -501,6 +502,7 @@ var gBrowserInit = {
|
||||
|
||||
this._handleURIToLoad();
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||
index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2616b2946 100644
|
||||
index 1026474bb1bc026987be01a8c18fa0927cb911bc..60294e0587147d86ace8e6d6985d8c6eae8248b6 100644
|
||||
--- a/browser/base/content/browser.js
|
||||
+++ b/browser/base/content/browser.js
|
||||
@@ -34,6 +34,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||
@@ -24,7 +24,7 @@ index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2
|
||||
if (backDisabled) {
|
||||
backCommand.removeAttribute("disabled");
|
||||
} else {
|
||||
@@ -3715,7 +3721,7 @@ function warnAboutClosingWindow() {
|
||||
@@ -3719,7 +3725,7 @@ function warnAboutClosingWindow() {
|
||||
|
||||
if (!isPBWindow && !toolbar.visible) {
|
||||
return gBrowser.warnAboutClosingTabs(
|
||||
@@ -33,7 +33,7 @@ index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2
|
||||
gBrowser.closingTabsEnum.ALL
|
||||
);
|
||||
}
|
||||
@@ -3755,7 +3761,7 @@ function warnAboutClosingWindow() {
|
||||
@@ -3759,7 +3765,7 @@ function warnAboutClosingWindow() {
|
||||
return (
|
||||
isPBWindow ||
|
||||
gBrowser.warnAboutClosingTabs(
|
||||
@@ -42,7 +42,7 @@ index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2
|
||||
gBrowser.closingTabsEnum.ALL
|
||||
)
|
||||
);
|
||||
@@ -3780,7 +3786,7 @@ function warnAboutClosingWindow() {
|
||||
@@ -3784,7 +3790,7 @@ function warnAboutClosingWindow() {
|
||||
AppConstants.platform != "macosx" ||
|
||||
isPBWindow ||
|
||||
gBrowser.warnAboutClosingTabs(
|
||||
@@ -51,13 +51,20 @@ index d1ab42d59f05513ec60a7578b7acab44875c544c..8c3cd75704991b8572d3f13a936fddd2
|
||||
gBrowser.closingTabsEnum.ALL
|
||||
)
|
||||
);
|
||||
@@ -4720,6 +4726,9 @@ var ConfirmationHint = {
|
||||
@@ -4744,6 +4750,16 @@ var ConfirmationHint = {
|
||||
}
|
||||
|
||||
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
||||
document.l10n.setAttributes(this._message, messageId, l10nArgs);
|
||||
+ if (window.gZenUIManager?.showToast) {
|
||||
+ return window.gZenUIManager.showToast(messageId, options);
|
||||
+ return window.gZenUIManager.showToast(messageId, {
|
||||
+ hideCheckmark,
|
||||
+ descriptionId,
|
||||
+ l10nArgs,
|
||||
+ showDescription,
|
||||
+ position,
|
||||
+ event,
|
||||
+ });
|
||||
+ }
|
||||
if (options.descriptionId) {
|
||||
document.l10n.setAttributes(this._description, options.descriptionId);
|
||||
if (descriptionId) {
|
||||
document.l10n.setAttributes(this._description, descriptionId);
|
||||
this._description.hidden = false;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
|
||||
index e3feaebc551bfe7127b9701a7f76996022516af0..460b39f2a9f1f36d4b821c693951214098b644f7 100644
|
||||
index b04e9afe4041b9bcd62527a22f468b84bf0de5d9..9e20e5a9d58fb6752037708f3d1404e00c98b132 100644
|
||||
--- a/browser/base/content/browser-places.js
|
||||
+++ b/browser/base/content/browser-places.js
|
||||
@@ -261,6 +261,8 @@ var StarUI = {
|
||||
@@ -262,6 +262,8 @@ var StarUI = {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ index e3feaebc551bfe7127b9701a7f76996022516af0..460b39f2a9f1f36d4b821c6939512140
|
||||
let onPanelReady = fn => {
|
||||
let target = this.panel;
|
||||
if (target.parentNode) {
|
||||
@@ -312,6 +314,21 @@ var StarUI = {
|
||||
@@ -313,6 +315,21 @@ var StarUI = {
|
||||
}
|
||||
},
|
||||
|
||||
@@ -33,7 +33,7 @@ index e3feaebc551bfe7127b9701a7f76996022516af0..460b39f2a9f1f36d4b821c6939512140
|
||||
removeBookmarkButtonCommand: function SU_removeBookmarkButtonCommand() {
|
||||
this._removeBookmarksOnPopupHidden = true;
|
||||
this.panel.hidePopup();
|
||||
@@ -1815,6 +1832,7 @@ var BookmarkingUI = {
|
||||
@@ -1841,6 +1858,7 @@ var BookmarkingUI = {
|
||||
document.getElementById("context-bookmarkpage"),
|
||||
PanelMultiView.getViewNode(document, "panelMenuBookmarkThisPage"),
|
||||
document.getElementById("pageAction-panel-bookmark"),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-profiles.js b/browser/base/content/browser-profiles.js
|
||||
index fb260896c14b90734182d2f232e33350287f0209..9984a2d18dfd33e3606adac0e8c5f80f7e35e682 100644
|
||||
index 35a5fd0c320cdf3cdf42442881d71e5ee6dc865d..6ef175f27c614f74ad32ecefb2854e3b9fc01d13 100644
|
||||
--- a/browser/base/content/browser-profiles.js
|
||||
+++ b/browser/base/content/browser-profiles.js
|
||||
@@ -70,6 +70,7 @@ var gProfiles = {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/browser-sets.inc.xhtml b/browser/base/content/browser-sets.inc.xhtml
|
||||
index 1263856344c4613ea58639a64e747fd0c3f771f7..c83ed7dd6a2482354c5bd37ce2e2cbf88ee6cf60 100644
|
||||
index 65ee617216d8a69f29b06fb48078f53a42bd9da7..3373d1a44281496555ab5a256020dd16afa4b823 100644
|
||||
--- a/browser/base/content/browser-sets.inc.xhtml
|
||||
+++ b/browser/base/content/browser-sets.inc.xhtml
|
||||
@@ -418,3 +418,4 @@
|
||||
@@ -420,3 +420,4 @@
|
||||
internal="true"/>
|
||||
#endif
|
||||
</keyset>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
|
||||
index cff28e1cdb550357662e8a7a41856e80b1de0018..9d569c1a1e6249c58a1e30fbb224c316c52ef204 100644
|
||||
index c6d060853cd3dab9d5c02bdc8de707b8fbde4b6d..bb3856be183f815f105a1175b71ee9b3a61c2f65 100644
|
||||
--- a/browser/base/content/browser-siteIdentity.js
|
||||
+++ b/browser/base/content/browser-siteIdentity.js
|
||||
@@ -464,11 +464,6 @@ var gIdentityHandler = {
|
||||
@@ -14,7 +14,7 @@ index cff28e1cdb550357662e8a7a41856e80b1de0018..9d569c1a1e6249c58a1e30fbb224c316
|
||||
|
||||
let baseDomain = SiteDataManager.getBaseDomainFromHost(this._uri.host);
|
||||
if (SiteDataManager.promptSiteDataRemoval(window, [baseDomain])) {
|
||||
@@ -853,7 +848,7 @@ var gIdentityHandler = {
|
||||
@@ -860,7 +855,7 @@ var gIdentityHandler = {
|
||||
// This is a secure internal Firefox page.
|
||||
this._identityBox.className = "chromeUI";
|
||||
let brandBundle = document.getElementById("bundle_brand");
|
||||
@@ -23,7 +23,7 @@ index cff28e1cdb550357662e8a7a41856e80b1de0018..9d569c1a1e6249c58a1e30fbb224c316
|
||||
} else if (this._pageExtensionPolicy) {
|
||||
// This is a WebExtension page.
|
||||
this._identityBox.className = "extensionPage";
|
||||
@@ -1196,6 +1191,12 @@ var gIdentityHandler = {
|
||||
@@ -1198,6 +1193,12 @@ var gIdentityHandler = {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
|
||||
index 81b3d0a744b9f40358219696e0e52a8114c53e83..71eb93e50f19af1d8f44fb425970cc87416c84a3 100644
|
||||
index ded45fd53f0fd7f0a48283d61cffdda20f79137e..7fc34d89146b723cb01a1432bc1d1fe97e5d2eba 100644
|
||||
--- a/browser/base/content/main-popupset.inc.xhtml
|
||||
+++ b/browser/base/content/main-popupset.inc.xhtml
|
||||
@@ -235,6 +235,10 @@
|
||||
@@ -234,6 +234,10 @@
|
||||
hidden="true"
|
||||
tabspecific="true"
|
||||
aria-labelledby="editBookmarkPanelTitle">
|
||||
@@ -13,7 +13,7 @@ index 81b3d0a744b9f40358219696e0e52a8114c53e83..71eb93e50f19af1d8f44fb425970cc87
|
||||
<box class="panel-header">
|
||||
<html:h1>
|
||||
<html:span id="editBookmarkPanelTitle"/>
|
||||
@@ -260,6 +264,7 @@
|
||||
@@ -259,6 +263,7 @@
|
||||
class="footer-button"/>
|
||||
</html:moz-button-group>
|
||||
</vbox>
|
||||
@@ -21,7 +21,7 @@ index 81b3d0a744b9f40358219696e0e52a8114c53e83..71eb93e50f19af1d8f44fb425970cc87
|
||||
</panel>
|
||||
</html:template>
|
||||
|
||||
@@ -699,6 +704,8 @@
|
||||
@@ -765,6 +770,8 @@
|
||||
|
||||
#include popup-notifications.inc.xhtml
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
index b4abfb868fc7c13e789acb57b44e386de6d31bf0..ad917f5362ed4f3ba0149c214fb53d3f087bbfcf 100644
|
||||
index e7e94e13a990c154fb54bda4a3420ca00bdac009..8253b7d403734973729a5982cceafc12bab24f54 100644
|
||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||
@@ -2,7 +2,7 @@
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
-<toolbox id="navigator-toolbox">
|
||||
+<toolbox id="navigator-toolbox" persist="width style">
|
||||
-<toolbox id="navigator-toolbox" class="chrome-block">
|
||||
+<toolbox id="navigator-toolbox" class="chrome-block" persist="width style">
|
||||
<script src="chrome://browser/content/navigator-toolbox.js" />
|
||||
|
||||
<!-- Menu -->
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
||||
index 97cb36e2ed48d00454e169fb0470b47ac994b883..1811a92885620c8a916937f467ebb7d0eb0d3a0e 100644
|
||||
index a9173d534626f18adcbfe570cbcdc0cd929cc31d..e09340242048a21ce6b3bd4d26bedc606354235e 100644
|
||||
--- a/browser/base/content/nsContextMenu.sys.mjs
|
||||
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
||||
@@ -369,6 +369,9 @@ export class nsContextMenu {
|
||||
@@ -373,6 +373,9 @@ export class nsContextMenu {
|
||||
this.initTextFragmentItems();
|
||||
this.pdfjsContextMenu.initItems();
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
<panel id="zen-folder-tabs-popup"
|
||||
nonnativepopover="true"
|
||||
nonnative=""
|
||||
type="arrow"
|
||||
orient="vertical"
|
||||
side="left"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||
index 7eaca95f7e876809552da5a3af3449b7e7b1a34d..00f1e3047c59565c8830a40da3a85f3b228f7c93 100644
|
||||
index dd0f873535224344c8015d00a00d56e0b9392951..fcc013514836f2e26ea5c4cef2aa443f0368a3e6 100644
|
||||
--- a/browser/base/jar.mn
|
||||
+++ b/browser/base/jar.mn
|
||||
@@ -110,3 +110,5 @@ browser.jar:
|
||||
@@ -108,3 +108,5 @@ browser.jar:
|
||||
|
||||
# L10n resources and overrides.
|
||||
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/base/moz.build b/browser/base/moz.build
|
||||
index 286e17552e2ab2d7e44c6ba99c84630cadd24e94..076f813aea971db1e1c1429fc0b64c1784a22722 100644
|
||||
index 33b90b64e2773efdb0376779907b6ef7125c0fff..8446118edb56260a59115b048dde087a50805a62 100644
|
||||
--- a/browser/base/moz.build
|
||||
+++ b/browser/base/moz.build
|
||||
@@ -78,3 +78,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
||||
@@ -79,3 +79,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
||||
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
|
||||
|
||||
JAR_MANIFESTS += ["jar.mn"]
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
|
||||
index 430c6877c81824d8ab318cacc997d4eda4cb6a11..e8a195e1fe09952b90a0d73d13c6c15da2006bd4 100644
|
||||
index 4bfb4199dafac004486dfc61db954173742a010a..542c156432b9d7c2190c0d14ce9cfd09814422bf 100644
|
||||
--- a/browser/components/BrowserContentHandler.sys.mjs
|
||||
+++ b/browser/components/BrowserContentHandler.sys.mjs
|
||||
@@ -603,6 +603,28 @@ nsBrowserContentHandler.prototype = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
||||
index af635211046f9f1b2d473a14e8170837cd0d93cd..f07514a7e3ab55aa3321f0a7c0c092e91c2961ce 100644
|
||||
index d07aaa3fbb8ccb02ae00d845649dc9c1d623cba5..68d3a4800f14fef5b5e7df9cd9afe3bc85358bed 100644
|
||||
--- a/browser/components/BrowserGlue.sys.mjs
|
||||
+++ b/browser/components/BrowserGlue.sys.mjs
|
||||
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/aboutlogins/content/aboutLogins.html b/browser/components/aboutlogins/content/aboutLogins.html
|
||||
index ca69defe40c57704ab6ec331ce11c95a98b03e8f..bc5be4555adbe3389bceee0f01730ee57f1e69ef 100644
|
||||
index 9bbf5e69b17139d5063977334a869db090af3de1..9778bf2843afbb60b470ee637534946e6f7917a8 100644
|
||||
--- a/browser/components/aboutlogins/content/aboutLogins.html
|
||||
+++ b/browser/components/aboutlogins/content/aboutLogins.html
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
diff --git a/browser/components/aboutwelcome/content/aboutwelcome.css b/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||
index 98497769b135efd3200607ee2cf50e82d06ed3fd..68e0778cfc4dc70935a3d48e79542b4133b293d2 100644
|
||||
index 4a568479995c43ec2801c5b2f9452610923233ed..857a4a0ed78f3d374ed45fc4ff73e8e51dfbc2b9 100644
|
||||
--- a/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||
+++ b/browser/components/aboutwelcome/content/aboutwelcome.css
|
||||
@@ -330,6 +330,11 @@ panel#feature-callout {
|
||||
--panel-shadow-margin: 6px;
|
||||
--panel-arrow-space: calc(var(--panel-shadow-margin) + var(--arrow-visible-height) - 1.5px);
|
||||
--panel-margin-offset: calc(-1 * (var(--panel-shadow-margin) + var(--arrow-corner-distance) + (var(--arrow-width) / 2)));
|
||||
--panel-box-shadow-margin: 6px;
|
||||
--panel-arrow-space: calc(var(--panel-box-shadow-margin) + var(--arrow-visible-height) - 1.5px);
|
||||
--panel-margin-offset: calc(-1 * (var(--panel-box-shadow-margin) + var(--arrow-corner-distance) + (var(--arrow-width) / 2)));
|
||||
+
|
||||
+ @media -moz-pref("widget.macos.native-popovers") and (-moz-platform: macos) {
|
||||
+ --panel-shadow-margin: 0;
|
||||
+ --panel-box-shadow-margin: 0;
|
||||
+ --panel-arrow-space: 0;
|
||||
+ }
|
||||
}
|
||||
|
||||
panel#feature-callout::part(content) {
|
||||
@@ -517,6 +522,12 @@ div#feature-callout.hidden {
|
||||
@@ -518,6 +523,12 @@ div#feature-callout.hidden {
|
||||
width: 25em;
|
||||
gap: 16px;
|
||||
background: var(--fc-background);
|
||||
@@ -27,7 +27,7 @@ index 98497769b135efd3200607ee2cf50e82d06ed3fd..68e0778cfc4dc70935a3d48e79542b41
|
||||
}
|
||||
#feature-callout .screen[pos=callout] .section-main .main-content .main-content-inner {
|
||||
gap: 12px;
|
||||
@@ -933,6 +944,10 @@ panel#feature-callout::part(content) {
|
||||
@@ -934,6 +945,10 @@ panel#feature-callout::part(content) {
|
||||
overflow: visible;
|
||||
transform: rotate(45deg);
|
||||
transform-style: preserve-3d;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
index 97710ab0570a1a477ef4ed74a78c16448dfb7674..7d8ba5b1f2f330175fb57b906bb572fd7e1d36c8 100644
|
||||
index f6f1dd1f6b4d21d27e39b48bb7a57871ad5d019d..bf743120cf9f137cbe06d05896f706fb3d5b9435 100644
|
||||
--- a/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
+++ b/browser/components/aiwindow/ui/modules/AIWindow.sys.mjs
|
||||
@@ -277,6 +277,7 @@ export const AIWindow = {
|
||||
@@ -287,6 +287,7 @@ export const AIWindow = {
|
||||
},
|
||||
|
||||
_updateToolbarButtonPositions(win, { isToggling = false } = {}) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/asrouter/modules/FeatureCallout.sys.mjs b/browser/components/asrouter/modules/FeatureCallout.sys.mjs
|
||||
index f176498a3130b61ac5e75fce8208d1b9eaf13f81..d133526ab5bf3db53e459c36d5f9a7ff37ef972f 100644
|
||||
index c4638d2d557f05fa6638cd379be8e0076336f8dc..2e25f485aa94485d12ca9e98aa4eaf56a06cf1f8 100644
|
||||
--- a/browser/components/asrouter/modules/FeatureCallout.sys.mjs
|
||||
+++ b/browser/components/asrouter/modules/FeatureCallout.sys.mjs
|
||||
@@ -778,6 +778,7 @@ export class FeatureCallout {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23b95f08d0 100644
|
||||
index d5d4596739cde5d3d49d6294867f5da122c526b8..c206cfb374542c496be9bf0305a0a80bbcf503b2 100644
|
||||
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||
@@ -120,7 +120,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
* The identifier string of the area that aNode is being inserted into.
|
||||
*/
|
||||
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
|
||||
+ if (aAreaId === CustomizableUI.AREA_NAVBAR && aNode.ownerGlobal.gZenVerticalTabsManager._hasSetSingleToolbar) {
|
||||
+ if (aAreaId === CustomizableUI.AREA_NAVBAR && aNode.documentGlobal.gZenVerticalTabsManager._hasSetSingleToolbar) {
|
||||
+ aContainer = aNode.ownerDocument.getElementById("zen-sidebar-top-buttons-customization-target");
|
||||
+ aAreaId = "zen-sidebar-top-buttons";
|
||||
+ }
|
||||
@@ -139,7 +139,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
@@ -4573,7 +4571,7 @@ var CustomizableUIInternal = {
|
||||
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
|
||||
let defaultCollapsed = area.get("defaultCollapsed");
|
||||
let win = areaNode.ownerGlobal;
|
||||
let win = areaNode.documentGlobal;
|
||||
- if (defaultCollapsed !== null) {
|
||||
+ if (defaultCollapsed !== null && !zenDontRebuildCollapsed) {
|
||||
win.setToolbarVisibility(
|
||||
@@ -186,7 +186,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
});
|
||||
|
||||
lazy.log.debug(
|
||||
@@ -7930,7 +7931,37 @@ class OverflowableToolbar {
|
||||
@@ -7930,7 +7931,39 @@ class OverflowableToolbar {
|
||||
Math.max(targetWidth, targetChildrenWidth)
|
||||
);
|
||||
totalAvailWidth = Math.ceil(totalAvailWidth);
|
||||
@@ -194,6 +194,8 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
+ if (this.#target.id == 'nav-bar-customization-target' &&
|
||||
+ win.gZenVerticalTabsManager._hasSetSingleToolbar &&
|
||||
+ Services.prefs.getBoolPref("zen.view.overflow-webext-toolbar", true) &&
|
||||
+ !win.document.documentElement.hasAttribute("zen-creating-workspace") &&
|
||||
+ !win.document.documentElement.hasAttribute("inDOMFullscreen") &&
|
||||
+ !win.gURLBar.hasAttribute("breakout-extend")) {
|
||||
+ const availSelectors = ":is(#page-action-buttons, #zen-copy-url-button, .unified-extensions-item, .urlbar-addon-page-action)";
|
||||
+ const width = [
|
||||
@@ -225,7 +227,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
||||
}
|
||||
|
||||
@@ -7991,7 +8022,11 @@ class OverflowableToolbar {
|
||||
@@ -7991,7 +8024,11 @@ class OverflowableToolbar {
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -238,7 +240,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
lazy.log.debug(
|
||||
`Need ${minSize} but width is ${totalAvailWidth} so bailing`
|
||||
);
|
||||
@@ -8024,7 +8059,7 @@ class OverflowableToolbar {
|
||||
@@ -8024,7 +8061,7 @@ class OverflowableToolbar {
|
||||
}
|
||||
}
|
||||
if (!inserted) {
|
||||
@@ -247,7 +249,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
}
|
||||
child.removeAttribute("cui-anchorid");
|
||||
child.removeAttribute("overflowedItem");
|
||||
@@ -8150,6 +8185,9 @@ class OverflowableToolbar {
|
||||
@@ -8150,6 +8187,9 @@ class OverflowableToolbar {
|
||||
* if no such list exists.
|
||||
*/
|
||||
get #webExtList() {
|
||||
@@ -257,8 +259,8 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
if (!this.#webExtListRef) {
|
||||
let targetID = this.#toolbar.getAttribute("addon-webext-overflowtarget");
|
||||
if (!targetID) {
|
||||
@@ -8161,6 +8199,9 @@ class OverflowableToolbar {
|
||||
let win = this.#toolbar.ownerGlobal;
|
||||
@@ -8161,6 +8201,9 @@ class OverflowableToolbar {
|
||||
let win = this.#toolbar.documentGlobal;
|
||||
let { panel } = win.gUnifiedExtensions;
|
||||
this.#webExtListRef = panel.querySelector(`#${targetID}`);
|
||||
+ if (!this.#webExtListRef) {
|
||||
@@ -267,7 +269,7 @@ index 5905271a3343efa04b45f5d1a63bfca3de342755..37f57de0ad72271d4c6e188ab9841b23
|
||||
}
|
||||
return this.#webExtListRef;
|
||||
}
|
||||
@@ -8369,7 +8410,7 @@ class OverflowableToolbar {
|
||||
@@ -8369,7 +8412,7 @@ class OverflowableToolbar {
|
||||
break;
|
||||
}
|
||||
case "mousedown": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/CustomizeMode.sys.mjs b/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||
index e72ff7eab14f66ff4454850930a1d7266b3acefa..1a5d9c63b8942e8c20e9f91b82b5b11647b12ecc 100644
|
||||
index 25eb66b96a30c86e08376577f4636e159a02c76e..9b997ab559ddade67a7390539b3b4f9275c27a20 100644
|
||||
--- a/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||
+++ b/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||
@@ -503,7 +503,7 @@ export class CustomizeMode {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/ToolbarContextMenu.sys.mjs b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||
index d5fd707b98e4b163a624c97ff4a8f2574e0b0180..b5d7e84c3567e83b95a6493e8333d3036dc88f36 100644
|
||||
index c3803a5d759eefb728fc0ec86af282bb5e2d5cc1..e4bc4242e05d28603f324133f338273fd76ee0b3 100644
|
||||
--- a/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||
+++ b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||
@@ -183,7 +183,7 @@ export var ToolbarContextMenu = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/content/panelUI.inc.xhtml b/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||
index 6cb22be6526b17d952a90fd414c49a31e9afde7a..84f8156e88027a79a40f14c77c83d6a2d19c8a72 100644
|
||||
index 5c248c0d49f3d9378260230c24ab60a4157dc438..1e87a1d040ed82c7edfb31f9e5853a4fb299b503 100644
|
||||
--- a/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||
+++ b/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||
@@ -139,7 +139,7 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
||||
index 5a469ce153dada011144fb4b66747c41e778ff1e..83bedb74df5b4064e8a0580f8b2ee9c0c27f81a8 100644
|
||||
index 140ea6eddd0d0c6817bbaabf2dc00083eaa11b13..0fe33867cf64d02b2b6e6db8b6844a4ea044ad33 100644
|
||||
--- a/browser/components/customizableui/content/panelUI.js
|
||||
+++ b/browser/components/customizableui/content/panelUI.js
|
||||
@@ -666,10 +666,12 @@ const PanelUI = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
||||
index d1209bc2c828a19ade8cc027cdea6f42007f0de6..0a2def2f3c32618304cd8a263906b0c6e040dcbc 100644
|
||||
index aca5a23deda6b0f2316b0e108cff20ffd7feda67..a06c90937f97a4994b0807b54984089dbe627a71 100644
|
||||
--- a/browser/components/extensions/parent/ext-browser.js
|
||||
+++ b/browser/components/extensions/parent/ext-browser.js
|
||||
@@ -352,6 +352,7 @@ class TabTracker extends TabTrackerBase {
|
||||
@@ -11,7 +11,7 @@ index d1209bc2c828a19ade8cc027cdea6f42007f0de6..0a2def2f3c32618304cd8a263906b0c6
|
||||
if (id) {
|
||||
return id;
|
||||
@@ -386,6 +387,7 @@ class TabTracker extends TabTrackerBase {
|
||||
if (nativeTab.ownerGlobal.closed) {
|
||||
if (nativeTab.documentGlobal.closed) {
|
||||
throw new Error("Cannot attach ID to a tab in a closed window.");
|
||||
}
|
||||
+ if (nativeTab.hasAttribute("zen-empty-tab")) return;
|
||||
@@ -27,5 +27,5 @@ index d1209bc2c828a19ade8cc027cdea6f42007f0de6..0a2def2f3c32618304cd8a263906b0c6
|
||||
+ }
|
||||
+
|
||||
// Check private browsing access at browser window level.
|
||||
if (!this.extension.canAccessWindow(nativeTab.ownerGlobal)) {
|
||||
if (!this.extension.canAccessWindow(nativeTab.documentGlobal)) {
|
||||
return false;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
||||
index 636e0f8cd1d489658833cf101152576e9fdb52af..e7578a059504b89a852061be037c323a107fe5ce 100644
|
||||
index 8f5fdecc9394d42a1460a1b73fb8c4e92f63c41e..82c03e234289c7b00f49f73854be45fb95fb91d7 100644
|
||||
--- a/browser/components/extensions/parent/ext-tabs.js
|
||||
+++ b/browser/components/extensions/parent/ext-tabs.js
|
||||
@@ -514,6 +514,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
index b21f7721dea2d485ccba1fd6fd7e65e17480e3d3..89048d9ea2b4edf2b0cab77f661c07f4d9453c3f 100644
|
||||
index 7c2786cc1be512ddfc165fb8f6514131ac033040..5846aff53030ef0fad2f87d017ba3713889b474d 100644
|
||||
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||
@@ -61,6 +61,7 @@ class BookmarkState {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
|
||||
index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2720c3c49 100644
|
||||
index 229e7960fc461475426b538f3a5fdc134a99ebcf..22b0eb8e23fc56cd4d8892e3ecebe389ea00ce1f 100644
|
||||
--- a/browser/components/places/content/browserPlacesViews.js
|
||||
+++ b/browser/components/places/content/browserPlacesViews.js
|
||||
@@ -328,12 +328,23 @@ class PlacesViewBase {
|
||||
@@ -343,12 +343,23 @@ class PlacesViewBase {
|
||||
|
||||
this._cleanPopup(aPopup);
|
||||
|
||||
@@ -29,7 +29,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
this._insertNewItemToPopup(child, fragment);
|
||||
}
|
||||
aPopup.insertBefore(fragment, aPopup._endMarker);
|
||||
@@ -391,6 +402,7 @@ class PlacesViewBase {
|
||||
@@ -406,6 +417,7 @@ class PlacesViewBase {
|
||||
"scheme",
|
||||
PlacesUIUtils.guessUrlSchemeForUI(aPlacesNode.uri)
|
||||
);
|
||||
@@ -37,7 +37,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
} else if (PlacesUtils.containerTypes.includes(type)) {
|
||||
element = document.createXULElement("menu");
|
||||
element.setAttribute("container", "true");
|
||||
@@ -1058,25 +1070,33 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
@@ -1076,25 +1088,33 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
this._rootElt.firstChild.remove();
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
);
|
||||
++startIndex;
|
||||
if (elt.localName != "toolbarseparator") {
|
||||
@@ -1084,15 +1104,12 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
@@ -1102,15 +1122,12 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
}
|
||||
}
|
||||
if (!elt) {
|
||||
@@ -101,7 +101,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1102,7 +1119,7 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
@@ -1120,7 +1137,7 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
|
||||
let fragment = document.createDocumentFragment();
|
||||
for (let i = startIndex; i < limit; ++i) {
|
||||
@@ -110,7 +110,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
}
|
||||
await new Promise(resolve => window.requestAnimationFrame(resolve));
|
||||
if (!this._isAlive) {
|
||||
@@ -1165,6 +1182,8 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
@@ -1183,6 +1200,8 @@ class PlacesToolbar extends PlacesViewBase {
|
||||
"scheme",
|
||||
PlacesUIUtils.guessUrlSchemeForUI(aChild.uri)
|
||||
);
|
||||
@@ -119,7 +119,7 @@ index 463913926c58e6c622e0fcc60534921f02814829..0143c48c48e132464226db810f4ea4d2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2359,7 +2378,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
|
||||
@@ -2395,7 +2414,7 @@ this.PlacesPanelview = class PlacesPanelview extends PlacesViewBase {
|
||||
PlacesUIUtils.guessUrlSchemeForUI(placesNode.uri)
|
||||
);
|
||||
element.setAttribute("label", PlacesUIUtils.getBestTitle(placesNode));
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/places/content/editBookmark.js b/browser/components/places/content/editBookmark.js
|
||||
index 0fb2225d0fadd27e9e7851be77f18afe7d053c80..347203d6ea9cab3cb803f28515613229b6a454b3 100644
|
||||
index f5df770e7c03446c2d23664b9100e12149ea7a59..398ae5b75a27aec60341f3058310013dcf6138d6 100644
|
||||
--- a/browser/components/places/content/editBookmark.js
|
||||
+++ b/browser/components/places/content/editBookmark.js
|
||||
@@ -387,6 +387,10 @@ var gEditItemOverlay = {
|
||||
@@ -389,6 +389,10 @@ var gEditItemOverlay = {
|
||||
this._keywordField.readOnly = this.readOnly;
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ index 0fb2225d0fadd27e9e7851be77f18afe7d053c80..347203d6ea9cab3cb803f28515613229
|
||||
// Collapse the tag selector if the item does not accept tags.
|
||||
if (showOrCollapse("tagsRow", isBookmark || bulkTagging, "tags")) {
|
||||
this._initTagsField();
|
||||
@@ -693,6 +697,7 @@ var gEditItemOverlay = {
|
||||
@@ -702,6 +706,7 @@ var gEditItemOverlay = {
|
||||
if (this._paneInfo.isBookmark) {
|
||||
options.tags = this._element("tagsField").value;
|
||||
options.keyword = this._keyword;
|
||||
@@ -21,7 +21,7 @@ index 0fb2225d0fadd27e9e7851be77f18afe7d053c80..347203d6ea9cab3cb803f28515613229
|
||||
}
|
||||
|
||||
if (this._paneInfo.bulkTagging) {
|
||||
@@ -1178,6 +1183,9 @@ var gEditItemOverlay = {
|
||||
@@ -1190,6 +1195,9 @@ var gEditItemOverlay = {
|
||||
case "editBMPanel_tagsSelectorExpander":
|
||||
this.toggleTagsSelector().catch(console.error);
|
||||
break;
|
||||
@@ -31,7 +31,7 @@ index 0fb2225d0fadd27e9e7851be77f18afe7d053c80..347203d6ea9cab3cb803f28515613229
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1256,6 +1264,128 @@ var gEditItemOverlay = {
|
||||
@@ -1268,6 +1276,128 @@ var gEditItemOverlay = {
|
||||
get bookmarkState() {
|
||||
return this._bookmarkState;
|
||||
},
|
||||
@@ -160,7 +160,7 @@ index 0fb2225d0fadd27e9e7851be77f18afe7d053c80..347203d6ea9cab3cb803f28515613229
|
||||
};
|
||||
|
||||
ChromeUtils.defineLazyGetter(gEditItemOverlay, "_folderTree", () => {
|
||||
@@ -1294,6 +1424,9 @@ for (let elt of [
|
||||
@@ -1306,6 +1436,9 @@ for (let elt of [
|
||||
"locationField",
|
||||
"keywordField",
|
||||
"tagsField",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/places/content/editBookmarkPanel.inc.xhtml b/browser/components/places/content/editBookmarkPanel.inc.xhtml
|
||||
index 40366677b60123c66bf0739d1b2374b423d3061c..a2774e99726407d95011126ea2a272f08eaf0961 100644
|
||||
index eb23018327ff6eef7c28683d695bcf610fcc87d2..6627c4b5594d440527208236f784365b06a79411 100644
|
||||
--- a/browser/components/places/content/editBookmarkPanel.inc.xhtml
|
||||
+++ b/browser/components/places/content/editBookmarkPanel.inc.xhtml
|
||||
@@ -12,14 +12,15 @@
|
||||
@@ -20,7 +20,7 @@ index 40366677b60123c66bf0739d1b2374b423d3061c..a2774e99726407d95011126ea2a272f0
|
||||
<label data-l10n-id="bookmark-overlay-location-2"
|
||||
class="editBMPanel_folderRow hideable"
|
||||
control="editBMPanel_folderMenuList"/>
|
||||
@@ -47,7 +48,25 @@
|
||||
@@ -49,7 +50,25 @@
|
||||
class="expander-down panel-button"
|
||||
data-l10n-id="bookmark-overlay-folders-expander2"/>
|
||||
</hbox>
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
||||
index 78e38f98c1f69df31459fd4b6a119c93f6509c02..33abd46566146272da9f561e11ffa290d7000111 100644
|
||||
index aec7888f59eeb5dbffc62b861fe223159ac42586..a593f3015469c11c762ae01465964251a77ddb45 100644
|
||||
--- a/browser/components/preferences/jar.mn
|
||||
+++ b/browser/components/preferences/jar.mn
|
||||
@@ -54,3 +54,5 @@ browser.jar:
|
||||
content/browser/preferences/widgets/sync-device-name.mjs (widgets/sync-device-name/sync-device-name.mjs)
|
||||
content/browser/preferences/widgets/sync-engines-list.mjs (widgets/sync-engine-list/sync-engines-list.mjs)
|
||||
@@ -69,5 +69,7 @@ browser.jar:
|
||||
content/browser/preferences/widgets/sync-engines-list.css (widgets/sync-engine-list/sync-engines-list.css)
|
||||
content/browser/preferences/widgets/update-information.mjs (widgets/update-information/update-information.mjs)
|
||||
content/browser/preferences/widgets/update-information.css (widgets/update-information/update-information.css)
|
||||
+
|
||||
+ content/browser/preferences/zen-settings.js
|
||||
content/browser/preferences/widgets/update-state.mjs (widgets/update-state/update-state.mjs)
|
||||
content/browser/preferences/widgets/update-state.css (widgets/update-state/update-state.css)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml
|
||||
index 6b96ff01e43087f8c609df17204441616b7013f3..df85ec789c54146b3a702169f33adf36c11b85da 100644
|
||||
index f6badc31b612c9198c56bb06751e9bbc4a0dd54b..5f9eca1ad0795ac38c02449c91e9f61bf6661252 100644
|
||||
--- a/browser/components/preferences/main.inc.xhtml
|
||||
+++ b/browser/components/preferences/main.inc.xhtml
|
||||
@@ -96,6 +96,7 @@
|
||||
@@ -98,6 +98,7 @@
|
||||
languages-customize-add.label,
|
||||
" />
|
||||
</hbox>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||
index 6f4cb34d1639ac76a6d4ca40f0d33ae6fb6bf565..1f336a09d6f2e367effdf26e8baf58b5686d252d 100644
|
||||
index c86e54bb6f5e00d9d7bdd81154857a5be97f909c..4035f6a667a361ad106e816a172342724a770435 100644
|
||||
--- a/browser/components/preferences/main.js
|
||||
+++ b/browser/components/preferences/main.js
|
||||
@@ -2537,6 +2537,11 @@ function createStartupConfig(hidden = false) {
|
||||
@@ -643,6 +643,11 @@ function createStartupConfig(hidden = false) {
|
||||
id: "browserRestoreSession",
|
||||
l10nId: "startup-restore-windows-and-tabs",
|
||||
},
|
||||
@@ -14,16 +14,16 @@ index 6f4cb34d1639ac76a6d4ca40f0d33ae6fb6bf565..1f336a09d6f2e367effdf26e8baf58b5
|
||||
{
|
||||
id: "windowsLaunchOnLogin",
|
||||
l10nId: "windows-launch-on-login",
|
||||
@@ -2578,7 +2583,7 @@ function createStartupConfig(hidden = false) {
|
||||
@@ -690,7 +695,7 @@ function createStartupConfig(hidden = false) {
|
||||
SettingGroupManager.registerGroups({
|
||||
defaultBrowser: createDefaultBrowserConfig(),
|
||||
startup: createStartupConfig(
|
||||
- Services.prefs.getBoolPref("browser.settings-redesign.enabled", false)
|
||||
- Services.prefs.getBoolPref("browser-settings-redesign.enabled", false)
|
||||
+ false
|
||||
),
|
||||
zoom: {
|
||||
l10nId: "preferences-zoom-header2",
|
||||
@@ -3393,7 +3398,7 @@ function getBundleForLocales(newLocales) {
|
||||
});
|
||||
|
||||
@@ -743,7 +748,7 @@ function getBundleForLocales(newLocales) {
|
||||
])
|
||||
);
|
||||
return new Localization(
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
||||
index 9d13733318e7a147adee1e44f96570c94f4948df..fb625d8da021dc0cebd7a14ca47446a0632e8e7a 100644
|
||||
index 57add34d876fb885275f1147209c6fbeee367a7c..5f4616d5f7d3d077326246e843775f58c293ee48 100644
|
||||
--- a/browser/components/preferences/preferences.js
|
||||
+++ b/browser/components/preferences/preferences.js
|
||||
@@ -121,6 +121,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
||||
@@ -132,6 +132,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
|
||||
styleSheets: [
|
||||
"chrome://browser/skin/preferences/dialog.css",
|
||||
"chrome://browser/skin/preferences/preferences.css",
|
||||
@@ -10,7 +10,25 @@ index 9d13733318e7a147adee1e44f96570c94f4948df..fb625d8da021dc0cebd7a14ca47446a0
|
||||
],
|
||||
resizeCallback: async ({ title, frame }) => {
|
||||
// Search within main document and highlight matched keyword.
|
||||
@@ -398,6 +399,10 @@ function init_all() {
|
||||
@@ -437,6 +438,8 @@ const CONFIG_PANES = Object.freeze({
|
||||
tabsBrowsing: {
|
||||
l10nId: "tabs-browsing-section",
|
||||
groupIds: [
|
||||
+ "defaultBrowserHome",
|
||||
+ "startupHome",
|
||||
"browserLayout",
|
||||
"tabs",
|
||||
"pageNavigation",
|
||||
@@ -477,7 +480,7 @@ function register_module(categoryName, categoryObject) {
|
||||
}
|
||||
this._initted = true;
|
||||
let template = document.getElementById("template-" + categoryName);
|
||||
- if (template && !srdSectionPrefs.all) {
|
||||
+ if (template && (!srdSectionPrefs.all || categoryName.startsWith("paneZen"))) {
|
||||
// Replace the template element with the nodes inside of it.
|
||||
template.replaceWith(template.content);
|
||||
|
||||
@@ -522,6 +525,10 @@ function init_all() {
|
||||
register_module("paneSearch", gSearchPane);
|
||||
register_module("panePrivacy", gPrivacyPane);
|
||||
register_module("paneContainers", gContainersPane);
|
||||
@@ -19,5 +37,14 @@ index 9d13733318e7a147adee1e44f96570c94f4948df..fb625d8da021dc0cebd7a14ca47446a0
|
||||
+ register_module("paneZenCKS", gZenCKSSettings);
|
||||
+ register_module("paneZenMarketplace", gZenMarketplaceManager);
|
||||
|
||||
if (ExperimentAPI.labsEnabled) {
|
||||
// Set hidden based on previous load's hidden value or if Nimbus is
|
||||
// Restore the cached Firefox Labs nav button visibility so it shows
|
||||
// immediately when recipes are expected to be available, before
|
||||
@@ -653,7 +660,7 @@ async function gotoPref(
|
||||
const kDefaultCategoryInternalName = redesignEnabled
|
||||
? "paneSync"
|
||||
: "paneGeneral";
|
||||
- const kDefaultCategory = redesignEnabled ? "sync" : "general";
|
||||
+ const kDefaultCategory = redesignEnabled ? "tabsBrowsing" : "general";
|
||||
let hash = document.location.hash;
|
||||
let category = aCategory || hash.substring(1) || kDefaultCategoryInternalName;
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||
index 3c4b3225c672bcb172e7f946bc5f98d424e21e84..d10824470c564b6631333f197de897c21ccc19f5 100644
|
||||
index 9760a4a35b0b3bd21edec07a70c10bccc23e4a09..9f22146c259ea5b45005be660bfcb9ea2c1297ee 100644
|
||||
--- a/browser/components/preferences/preferences.xhtml
|
||||
+++ b/browser/components/preferences/preferences.xhtml
|
||||
@@ -42,6 +42,8 @@
|
||||
@@ -11,7 +11,7 @@ index 3c4b3225c672bcb172e7f946bc5f98d424e21e84..d10824470c564b6631333f197de897c2
|
||||
<link rel="localization" href="branding/brand.ftl"/>
|
||||
<link rel="localization" href="browser/browser.ftl"/>
|
||||
<!-- Used by fontbuilder.js -->
|
||||
@@ -126,6 +128,26 @@
|
||||
@@ -121,6 +123,26 @@
|
||||
iconsrc="chrome://browser/skin/preferences/category-general.svg"
|
||||
data-l10n-id="pane-general-title">
|
||||
</html:moz-page-nav-button>
|
||||
@@ -35,12 +35,12 @@ index 3c4b3225c672bcb172e7f946bc5f98d424e21e84..d10824470c564b6631333f197de897c2
|
||||
+ iconsrc="chrome://mozapps/skin/extensions/category-themes.svg"
|
||||
+ data-l10n-id="pane-zen-marketplace-title">
|
||||
+ </html:moz-page-nav-button>
|
||||
<html:moz-page-nav-button id="category-home"
|
||||
view="paneHome"
|
||||
iconsrc="chrome://browser/skin/home.svg"
|
||||
@@ -218,6 +240,10 @@
|
||||
<html:moz-page-nav-button id="category-sync"
|
||||
hidden="true"
|
||||
view="paneSync"
|
||||
@@ -253,6 +275,10 @@
|
||||
#include containers.inc.xhtml
|
||||
#include sync.inc.xhtml
|
||||
#include experimental.inc.xhtml
|
||||
#include moreFromMozilla.inc.xhtml
|
||||
+#include zenLooksAndFeel.inc.xhtml
|
||||
+#include zenKeyboardShortcuts.inc.xhtml
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/search/SearchOneOffs.sys.mjs b/browser/components/search/SearchOneOffs.sys.mjs
|
||||
index 6317d8e22342bf50c82e5b526253d43406e74428..f233584b4a863309f71806cf7a3ee8e06f043429 100644
|
||||
index ca79f060e2104a56b42b9d813efb3567e183153e..7936263cc7d2796e1ec20dcfd1f14b2add568a64 100644
|
||||
--- a/browser/components/search/SearchOneOffs.sys.mjs
|
||||
+++ b/browser/components/search/SearchOneOffs.sys.mjs
|
||||
@@ -482,7 +482,7 @@ export class SearchOneOffs {
|
||||
@@ -481,7 +481,7 @@ export class SearchOneOffs {
|
||||
// For the search-bar, always show the one-off buttons where there is an
|
||||
// option to add an engine.
|
||||
let addEngineNeeded = isSearchBar && addEngines.length;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea30f7d70a 100644
|
||||
index 183543c5f29ff4c879d3058e4c09faf376a69cb7..ab482c32cc697ccef82bf0aeaa0e3a1db40aecce 100644
|
||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||
@@ -129,6 +129,9 @@ const TAB_EVENTS = [
|
||||
@@ -21,7 +21,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
});
|
||||
|
||||
ChromeUtils.defineLazyGetter(lazy, "blankURI", () => {
|
||||
@@ -1291,10 +1296,7 @@ var SessionStoreInternal = {
|
||||
@@ -1287,10 +1292,7 @@ var SessionStoreInternal = {
|
||||
*/
|
||||
get willAutoRestore() {
|
||||
return (
|
||||
@@ -33,7 +33,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
);
|
||||
},
|
||||
|
||||
@@ -1970,6 +1972,9 @@ var SessionStoreInternal = {
|
||||
@@ -1965,6 +1967,9 @@ var SessionStoreInternal = {
|
||||
case "TabPinned":
|
||||
case "TabUnpinned":
|
||||
case "SwapDocShells":
|
||||
@@ -43,7 +43,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
this.saveStateDelayed(win);
|
||||
break;
|
||||
case "TabGroupCreate":
|
||||
@@ -2083,6 +2088,10 @@ var SessionStoreInternal = {
|
||||
@@ -2074,6 +2079,10 @@ var SessionStoreInternal = {
|
||||
this._windows[aWindow.__SSi].isTaskbarTab = true;
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
if (lazy.AIWindow.isAIWindowActiveAndEnabled(aWindow)) {
|
||||
this._windows[aWindow.__SSi].isAIWindow = true;
|
||||
}
|
||||
@@ -2119,7 +2128,7 @@ var SessionStoreInternal = {
|
||||
@@ -2110,7 +2119,7 @@ var SessionStoreInternal = {
|
||||
let isTaskbarTab = this._windows[aWindow.__SSi].isTaskbarTab;
|
||||
// A regular window is not a private window, taskbar tab window, or popup window
|
||||
let isRegularWindow =
|
||||
@@ -63,7 +63,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
// perform additional initialization when the first window is loading
|
||||
if (lazy.RunState.isStopped) {
|
||||
@@ -2131,7 +2140,7 @@ var SessionStoreInternal = {
|
||||
@@ -2122,7 +2131,7 @@ var SessionStoreInternal = {
|
||||
// to disk to NOW() to enforce a full interval before the next write.
|
||||
lazy.SessionSaver.updateLastSaveTime();
|
||||
|
||||
@@ -72,7 +72,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
this._log.debug(
|
||||
"initializeWindow, the window is private or a web app. Saving SessionStartup.state for possibly restoring later"
|
||||
);
|
||||
@@ -2173,6 +2182,7 @@ var SessionStoreInternal = {
|
||||
@@ -2164,6 +2173,7 @@ var SessionStoreInternal = {
|
||||
null,
|
||||
"sessionstore-one-or-no-tab-restored"
|
||||
);
|
||||
@@ -80,7 +80,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
this._deferredAllWindowsRestored.resolve();
|
||||
}
|
||||
// this window was opened by _openWindowWithState
|
||||
@@ -2222,7 +2232,6 @@ var SessionStoreInternal = {
|
||||
@@ -2213,7 +2223,6 @@ var SessionStoreInternal = {
|
||||
if (closedWindowState) {
|
||||
let newWindowState;
|
||||
if (
|
||||
@@ -88,7 +88,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
!lazy.SessionStartup.willRestore()
|
||||
) {
|
||||
// We want to split the window up into pinned tabs and unpinned tabs.
|
||||
@@ -2258,6 +2267,7 @@ var SessionStoreInternal = {
|
||||
@@ -2249,6 +2258,7 @@ var SessionStoreInternal = {
|
||||
}
|
||||
|
||||
if (newWindowState) {
|
||||
@@ -96,7 +96,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// Ensure that the window state isn't hidden
|
||||
this._restoreCount = 1;
|
||||
let state = { windows: [newWindowState] };
|
||||
@@ -2286,6 +2296,15 @@ var SessionStoreInternal = {
|
||||
@@ -2277,6 +2287,15 @@ var SessionStoreInternal = {
|
||||
});
|
||||
this._shouldRestoreLastSession = false;
|
||||
}
|
||||
@@ -112,7 +112,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
if (this._restoreLastWindow && aWindow.toolbar.visible) {
|
||||
// always reset (if not a popup window)
|
||||
@@ -2436,7 +2455,7 @@ var SessionStoreInternal = {
|
||||
@@ -2427,7 +2446,7 @@ var SessionStoreInternal = {
|
||||
|
||||
var tabbrowser = aWindow.gBrowser;
|
||||
|
||||
@@ -121,7 +121,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
TAB_EVENTS.forEach(function (aEvent) {
|
||||
tabbrowser.tabContainer.removeEventListener(aEvent, this, true);
|
||||
@@ -2487,7 +2506,7 @@ var SessionStoreInternal = {
|
||||
@@ -2478,7 +2497,7 @@ var SessionStoreInternal = {
|
||||
|
||||
let isLastRegularWindow =
|
||||
Object.values(this._windows).filter(
|
||||
@@ -130,7 +130,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
).length == 1;
|
||||
this._log.debug(
|
||||
`onClose, closing window isLastRegularWindow? ${isLastRegularWindow}`
|
||||
@@ -2544,8 +2563,8 @@ var SessionStoreInternal = {
|
||||
@@ -2535,8 +2554,8 @@ var SessionStoreInternal = {
|
||||
// 2) Flush the window.
|
||||
// 3) When the flush is complete, revisit our decision to store the window
|
||||
// in _closedWindows, and add/remove as necessary.
|
||||
@@ -141,7 +141,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
}
|
||||
|
||||
completionPromise = lazy.TabStateFlusher.flushWindow(aWindow).then(() => {
|
||||
@@ -2565,8 +2584,9 @@ var SessionStoreInternal = {
|
||||
@@ -2556,8 +2575,9 @@ var SessionStoreInternal = {
|
||||
|
||||
// Save non-private windows if they have at
|
||||
// least one saveable tab or are the last window.
|
||||
@@ -153,7 +153,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
if (!isLastWindow && winData.closedId > -1) {
|
||||
this._addClosedAction(
|
||||
@@ -2642,7 +2662,7 @@ var SessionStoreInternal = {
|
||||
@@ -2633,7 +2653,7 @@ var SessionStoreInternal = {
|
||||
* to call this method again asynchronously (for example, after
|
||||
* a window flush).
|
||||
*/
|
||||
@@ -162,7 +162,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// Make sure SessionStore is still running, and make sure that we
|
||||
// haven't chosen to forget this window.
|
||||
if (
|
||||
@@ -2659,6 +2679,7 @@ var SessionStoreInternal = {
|
||||
@@ -2650,6 +2670,7 @@ var SessionStoreInternal = {
|
||||
// _closedWindows from a previous call to this function.
|
||||
let winIndex = this._closedWindows.indexOf(winData);
|
||||
let alreadyStored = winIndex != -1;
|
||||
@@ -170,7 +170,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// If sidebar command is truthy, i.e. sidebar is open, store sidebar settings
|
||||
let shouldStore = hasSaveableTabs || isLastWindow;
|
||||
|
||||
@@ -3480,7 +3501,7 @@ var SessionStoreInternal = {
|
||||
@@ -3467,7 +3488,7 @@ var SessionStoreInternal = {
|
||||
if (!isPrivateWindow && tabState.isPrivate) {
|
||||
return;
|
||||
}
|
||||
@@ -179,7 +179,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4220,6 +4241,12 @@ var SessionStoreInternal = {
|
||||
@@ -4206,6 +4227,12 @@ var SessionStoreInternal = {
|
||||
Math.min(tabState.index, tabState.entries.length)
|
||||
);
|
||||
tabState.pinned = false;
|
||||
@@ -192,7 +192,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
if (inBackground === false) {
|
||||
aWindow.gBrowser.selectedTab = newTab;
|
||||
@@ -4656,6 +4683,8 @@ var SessionStoreInternal = {
|
||||
@@ -4642,6 +4669,8 @@ var SessionStoreInternal = {
|
||||
// Append the tab if we're opening into a different window,
|
||||
tabIndex: aSource == aTargetWindow ? pos : Infinity,
|
||||
pinned: state.pinned,
|
||||
@@ -201,7 +201,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
userContextId: state.userContextId,
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
@@ -5160,9 +5189,10 @@ var SessionStoreInternal = {
|
||||
@@ -5146,9 +5175,10 @@ var SessionStoreInternal = {
|
||||
if (activePageData.title && activePageData.title != activePageData.url) {
|
||||
win.gBrowser.setInitialTabTitle(tab, activePageData.title, {
|
||||
isContentTitle: true,
|
||||
@@ -213,7 +213,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5527,7 +5557,7 @@ var SessionStoreInternal = {
|
||||
@@ -5513,7 +5543,7 @@ var SessionStoreInternal = {
|
||||
|
||||
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
||||
let tab = tabbrowser.tabs[i];
|
||||
@@ -222,7 +222,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
removableTabs.push(tab);
|
||||
}
|
||||
}
|
||||
@@ -5640,7 +5670,7 @@ var SessionStoreInternal = {
|
||||
@@ -5626,7 +5656,7 @@ var SessionStoreInternal = {
|
||||
|
||||
// collect the data for all windows
|
||||
for (ix in this._windows) {
|
||||
@@ -231,7 +231,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// window data is still in _statesToRestore
|
||||
continue;
|
||||
}
|
||||
@@ -5784,11 +5814,12 @@ var SessionStoreInternal = {
|
||||
@@ -5770,11 +5800,12 @@ var SessionStoreInternal = {
|
||||
}
|
||||
|
||||
let tabbrowser = aWindow.gBrowser;
|
||||
@@ -245,7 +245,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// update the internal state data for this window
|
||||
for (let tab of tabs) {
|
||||
if (tab == aWindow.FirefoxViewHandler.tab) {
|
||||
@@ -5799,6 +5830,9 @@ var SessionStoreInternal = {
|
||||
@@ -5785,6 +5816,9 @@ var SessionStoreInternal = {
|
||||
tabsData.push(tabData);
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// update tab group state for this window
|
||||
winData.groups = [];
|
||||
for (let tabGroup of aWindow.gBrowser.tabGroups) {
|
||||
@@ -5815,7 +5849,7 @@ var SessionStoreInternal = {
|
||||
@@ -5801,7 +5835,7 @@ var SessionStoreInternal = {
|
||||
// a window is closed, point to the first item in the tab strip instead (it will never be the Firefox View tab,
|
||||
// since it's only inserted into the tab strip after it's selected).
|
||||
if (aWindow.FirefoxViewHandler.tab?.selected) {
|
||||
@@ -264,7 +264,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
winData.title = tabbrowser.tabs[0].label;
|
||||
}
|
||||
winData.selected = selectedIndex;
|
||||
@@ -6017,8 +6051,8 @@ var SessionStoreInternal = {
|
||||
@@ -6003,8 +6037,8 @@ var SessionStoreInternal = {
|
||||
// selectTab represents.
|
||||
let selectTab = 0;
|
||||
if (overwriteTabs) {
|
||||
@@ -275,7 +275,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
selectTab = Math.min(selectTab, winData.tabs.length);
|
||||
}
|
||||
|
||||
@@ -6040,6 +6074,7 @@ var SessionStoreInternal = {
|
||||
@@ -6026,6 +6060,7 @@ var SessionStoreInternal = {
|
||||
if (overwriteTabs) {
|
||||
for (let i = tabbrowser.browsers.length - 1; i >= 0; i--) {
|
||||
if (!tabbrowser.tabs[i].selected) {
|
||||
@@ -283,7 +283,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
tabbrowser.removeTab(tabbrowser.tabs[i]);
|
||||
}
|
||||
}
|
||||
@@ -6074,6 +6109,12 @@ var SessionStoreInternal = {
|
||||
@@ -6060,6 +6095,12 @@ var SessionStoreInternal = {
|
||||
savedTabGroup => !openTabGroupIdsInWindow.has(savedTabGroup.id)
|
||||
);
|
||||
}
|
||||
@@ -296,7 +296,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
// Move the originally open tabs to the end.
|
||||
if (initialTabs) {
|
||||
@@ -6640,6 +6681,25 @@ var SessionStoreInternal = {
|
||||
@@ -6626,6 +6667,25 @@ var SessionStoreInternal = {
|
||||
|
||||
// Most of tabData has been restored, now continue with restoring
|
||||
// attributes that may trigger external events.
|
||||
@@ -322,7 +322,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
if (tabData.pinned) {
|
||||
tabbrowser.pinTab(tab);
|
||||
@@ -6807,6 +6867,9 @@ var SessionStoreInternal = {
|
||||
@@ -6793,6 +6853,9 @@ var SessionStoreInternal = {
|
||||
aWindow.gURLBar.readOnly = false;
|
||||
}
|
||||
}
|
||||
@@ -332,7 +332,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
|
||||
let promiseParts = Promise.withResolvers();
|
||||
aWindow.setTimeout(() => {
|
||||
@@ -7602,7 +7665,7 @@ var SessionStoreInternal = {
|
||||
@@ -7588,7 +7651,7 @@ var SessionStoreInternal = {
|
||||
|
||||
let groupsToSave = new Map();
|
||||
for (let tIndex = 0; tIndex < window.tabs.length; ) {
|
||||
@@ -341,7 +341,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// Adjust window.selected
|
||||
if (tIndex + 1 < window.selected) {
|
||||
window.selected -= 1;
|
||||
@@ -7617,7 +7680,7 @@ var SessionStoreInternal = {
|
||||
@@ -7603,7 +7666,7 @@ var SessionStoreInternal = {
|
||||
);
|
||||
// We don't want to increment tIndex here.
|
||||
continue;
|
||||
@@ -350,7 +350,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
// Convert any open groups into saved groups.
|
||||
let groupStateToSave = window.groups.find(
|
||||
groupState => groupState.id == window.tabs[tIndex].groupId
|
||||
@@ -8076,7 +8139,6 @@ var SessionStoreInternal = {
|
||||
@@ -8062,7 +8125,6 @@ var SessionStoreInternal = {
|
||||
timer.initWithCallback(
|
||||
function () {
|
||||
if (beats <= 0) {
|
||||
@@ -358,7 +358,7 @@ index 95f4960c3d8a2a4ca9bce24bcc54971877ee55ca..5bef8eeeb7cc26c930e3884e6eede6ea
|
||||
Glean.sessionRestore.shutdownFlushAllOutcomes.timed_out.add(1);
|
||||
deferred.resolve();
|
||||
}
|
||||
@@ -8554,6 +8616,7 @@ var SessionStoreInternal = {
|
||||
@@ -8540,6 +8602,7 @@ var SessionStoreInternal = {
|
||||
if (
|
||||
!savedTabGroupState.tabs.length ||
|
||||
this.getSavedTabGroup(savedTabGroupState.id)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs
|
||||
index eb24c3ffdd2cfb33379aca993af5171fdb91ac2c..15d3fbff397df23f112355e22ca5dba5bf29528f 100644
|
||||
index 4ba4dda363b602cb6f4445ef056f2f9abb1b0e1e..6b4b407e05e26faca69d9d7ac6f31510620898fe 100644
|
||||
--- a/browser/components/sessionstore/TabState.sys.mjs
|
||||
+++ b/browser/components/sessionstore/TabState.sys.mjs
|
||||
@@ -99,7 +99,25 @@ class _TabState {
|
||||
@@ -99,10 +99,28 @@ class _TabState {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,11 @@ index eb24c3ffdd2cfb33379aca993af5171fdb91ac2c..15d3fbff397df23f112355e22ca5dba5
|
||||
+ tabData._zenIsActiveTab = tab._zenContentsVisible;
|
||||
+ tabData.zenLiveFolderItemId = tab.getAttribute("zen-live-folder-item-id");
|
||||
+
|
||||
tabData.searchMode = tab.ownerGlobal.gURLBar.getSearchMode(browser, true);
|
||||
+ if (tabData.searchMode?.source === tab.ownerGlobal.UrlbarUtils.RESULT_SOURCE.ZEN_ACTIONS) {
|
||||
tabData.searchMode = tab.documentGlobal.gURLBar.getSearchMode(
|
||||
browser,
|
||||
true
|
||||
);
|
||||
+ if (tabData.searchMode?.source === tab.documentGlobal.UrlbarUtils.RESULT_SOURCE.ZEN_ACTIONS) {
|
||||
+ delete tabData.searchMode;
|
||||
+ }
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||
index 2c13f19ec4f962ce3ecaface0ae5d00c50ca913f..eb696819a1af4cfae6352fc5696fd95590bed342 100644
|
||||
index ef7b67413392840720c8f09b6f22b0413ccf4435..ebbc15722ffb410050dd1923e8bb49d8cd5b6a9e 100644
|
||||
--- a/browser/components/sidebar/browser-sidebar.js
|
||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||
@@ -834,7 +834,7 @@ var SidebarController = {
|
||||
@@ -850,7 +850,7 @@ var SidebarController = {
|
||||
setPosition() {
|
||||
// First reset all ordinals to match DOM ordering.
|
||||
let contentArea = document.getElementById("tabbrowser-tabbox");
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
index eebff0f59df42d3ef075f3eea1bd9269c47ba80d..6ab43a810f4cb61eedc02bb42026f6b5e282e785 100644
|
||||
index 577e27598597de27116153be1ad149facd721e41..eeca455aad8323ef24957af076f131cb70d66e7d 100644
|
||||
--- a/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
+++ b/browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs
|
||||
@@ -938,6 +938,7 @@ export class AsyncTabSwitcher {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/TabsList.sys.mjs b/browser/components/tabbrowser/TabsList.sys.mjs
|
||||
index 4de5139f404fab227874f626bda27e2a32cf87a0..7574e6db1606c72e8da3141d4a8deec727376af8 100644
|
||||
index 58f91dd9f80aa34ff8d8095cbaf5ae7a6c8dc1e1..c4c9ad5d93053f5fc726a0b10fa8d56c6bbc4003 100644
|
||||
--- a/browser/components/tabbrowser/TabsList.sys.mjs
|
||||
+++ b/browser/components/tabbrowser/TabsList.sys.mjs
|
||||
@@ -87,7 +87,7 @@ class TabsListBase {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/drag-and-drop.js b/browser/components/tabbrowser/content/drag-and-drop.js
|
||||
index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c85280e74993 100644
|
||||
index 8bb1219962a1368f50b53c61041f135c68e35f31..8e72441d26883cbef7a352b00c0fe2b15a030046 100644
|
||||
--- a/browser/components/tabbrowser/content/drag-and-drop.js
|
||||
+++ b/browser/components/tabbrowser/content/drag-and-drop.js
|
||||
@@ -35,6 +35,9 @@
|
||||
@@ -159,7 +159,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
if (
|
||||
dt.mozUserCancelled ||
|
||||
dt.dropEffect != "none" ||
|
||||
@@ -918,11 +938,10 @@
|
||||
@@ -927,11 +947,10 @@
|
||||
return this.#getHorizontalScrollboxDragTarget(event, ignoreSides);
|
||||
}
|
||||
while (target) {
|
||||
@@ -175,7 +175,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
break;
|
||||
}
|
||||
target = target.parentNode;
|
||||
@@ -952,6 +971,9 @@
|
||||
@@ -961,6 +980,9 @@
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -185,7 +185,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
return target;
|
||||
}
|
||||
|
||||
@@ -1011,7 +1033,8 @@
|
||||
@@ -1014,7 +1036,8 @@
|
||||
isTabGroupLabel(draggedTab) &&
|
||||
draggedTab._dragData?.expandGroupOnDrop
|
||||
) {
|
||||
@@ -195,7 +195,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1195,7 +1218,6 @@
|
||||
@@ -1206,7 +1229,6 @@
|
||||
// using updateDragImage. On Linux, we can use a panel.
|
||||
if (platform == "win" || platform == "macosx") {
|
||||
captureListener = function () {
|
||||
@@ -203,7 +203,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
};
|
||||
} else {
|
||||
// Create a panel to use it in setDragImage
|
||||
@@ -1233,7 +1255,6 @@
|
||||
@@ -1244,7 +1266,6 @@
|
||||
);
|
||||
dragImageOffset = dragImageOffset * scale;
|
||||
}
|
||||
@@ -211,7 +211,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
|
||||
// _dragData.offsetX/Y give the coordinates that the mouse should be
|
||||
// positioned relative to the corner of the new window created upon
|
||||
@@ -1252,7 +1273,7 @@
|
||||
@@ -1263,7 +1284,7 @@
|
||||
let dropEffect = this.getDropEffectForTabDrag(event);
|
||||
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
|
||||
let collapseTabGroupDuringDrag =
|
||||
@@ -220,7 +220,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
|
||||
tab._dragData = {
|
||||
offsetX: this._tabbrowserTabs.verticalMode
|
||||
@@ -1262,7 +1283,7 @@
|
||||
@@ -1273,7 +1294,7 @@
|
||||
? event.screenY - window.screenY - tabOffset
|
||||
: event.screenY - window.screenY,
|
||||
scrollPos:
|
||||
@@ -229,7 +229,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
? this._tabbrowserTabs.pinnedTabsContainer.scrollPosition
|
||||
: this._tabbrowserTabs.arrowScrollbox.scrollPosition,
|
||||
screenX: event.screenX,
|
||||
@@ -1309,6 +1330,7 @@
|
||||
@@ -1320,6 +1341,7 @@
|
||||
if (tabStripItemElement.hasAttribute("dragtarget")) {
|
||||
return;
|
||||
}
|
||||
@@ -237,7 +237,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
let isPinned = tab.pinned;
|
||||
let dragAndDropElements = this._tabbrowserTabs.dragAndDropElements;
|
||||
let isGrid = this._tabbrowserTabs.isContainerVerticalPinnedGrid(tab);
|
||||
@@ -1675,23 +1697,6 @@
|
||||
@@ -1686,23 +1708,6 @@
|
||||
|
||||
// Slide the relevant tabs to their new position.
|
||||
// non-moving tabs adjust for RTL
|
||||
@@ -261,7 +261,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
// moving tabs don't adjust for RTL
|
||||
for (let item of selectedElements) {
|
||||
if (
|
||||
@@ -1740,7 +1745,6 @@
|
||||
@@ -1751,7 +1756,6 @@
|
||||
for (let item of this._tabbrowserTabs.dragAndDropElements) {
|
||||
delete item._moveTogetherSelectedTabsData;
|
||||
item = elementToMove(item);
|
||||
@@ -269,7 +269,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
item.removeAttribute("multiselected-move-together");
|
||||
}
|
||||
}
|
||||
@@ -2587,7 +2591,6 @@
|
||||
@@ -2598,7 +2602,6 @@
|
||||
tab.style.top = "";
|
||||
tab.style.maxWidth = "";
|
||||
tab.style.pointerEvents = "";
|
||||
@@ -277,7 +277,7 @@ index ea4f83fad1757f073ea1bbe5c93a4ebe5ecc0abe..904e604e28c96757fabf0dd3a749c852
|
||||
tab.removeAttribute("small-stack");
|
||||
tab.removeAttribute("big-stack");
|
||||
}
|
||||
@@ -2596,11 +2599,9 @@
|
||||
@@ -2607,11 +2610,9 @@
|
||||
)) {
|
||||
label.style.width = "";
|
||||
label.style.maxWidth = "";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||
index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d645641cd 100644
|
||||
index 8f2ebf3a0bd4e2af01cf41024b16bd491e8ed961..27721e26c3cd8cb066b462dedfa4ce785ca5c2c3 100644
|
||||
--- a/browser/components/tabbrowser/content/tab.js
|
||||
+++ b/browser/components/tabbrowser/content/tab.js
|
||||
@@ -21,6 +21,7 @@
|
||||
@@ -10,10 +10,10 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
<stack class="tab-icon-stack">
|
||||
<hbox class="tab-throbber"/>
|
||||
<hbox class="tab-icon-pending"/>
|
||||
@@ -38,9 +39,11 @@
|
||||
<hbox class="tab-secondary-label">
|
||||
<label class="tab-icon-sound-label tab-icon-sound-pip-label" data-l10n-id="browser-tab-audio-pip" role="presentation"/>
|
||||
</hbox>
|
||||
@@ -35,9 +36,11 @@
|
||||
pack="center"
|
||||
flex="1">
|
||||
<label class="tab-text tab-label" role="presentation"/>
|
||||
+ <label class="zen-tab-sublabel" data-l10n-id="zen-tab-sublabel" data-l10n-args='{"tabSubtitle": "zen-default-pinned"}' role="presentation"/>
|
||||
</vbox>
|
||||
<image class="tab-note-icon" role="presentation"/>
|
||||
@@ -22,7 +22,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
</hbox>
|
||||
</stack>
|
||||
`;
|
||||
@@ -87,7 +90,7 @@
|
||||
@@ -84,7 +87,7 @@
|
||||
".tab-content":
|
||||
"pinned,selected=visuallyselected,multiselected,titlechanged,attention",
|
||||
".tab-icon-stack":
|
||||
@@ -31,7 +31,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
".tab-throbber":
|
||||
"fadein,pinned,busy,progress,selected=visuallyselected",
|
||||
".tab-icon-pending":
|
||||
@@ -96,9 +99,9 @@
|
||||
@@ -93,9 +96,9 @@
|
||||
"src=image,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded",
|
||||
".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned",
|
||||
".tab-icon-overlay":
|
||||
@@ -43,7 +43,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
".tab-label-container":
|
||||
"pinned,selected=visuallyselected,labeldirection",
|
||||
".tab-label":
|
||||
@@ -189,7 +192,7 @@
|
||||
@@ -184,7 +187,7 @@
|
||||
}
|
||||
|
||||
set _visuallySelected(val) {
|
||||
@@ -52,7 +52,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -225,11 +228,25 @@
|
||||
@@ -220,11 +223,25 @@
|
||||
}
|
||||
|
||||
get visible() {
|
||||
@@ -83,7 +83,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
}
|
||||
|
||||
get hidden() {
|
||||
@@ -308,7 +325,7 @@
|
||||
@@ -303,7 +320,7 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
}
|
||||
|
||||
get lastAccessed() {
|
||||
@@ -393,7 +410,18 @@
|
||||
@@ -388,7 +405,18 @@
|
||||
}
|
||||
|
||||
get group() {
|
||||
@@ -112,7 +112,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
}
|
||||
|
||||
get splitview() {
|
||||
@@ -475,6 +503,10 @@
|
||||
@@ -470,6 +498,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
// If the previous target wasn't part of this tab then this is a mouseenter event.
|
||||
if (!this.contains(event.relatedTarget)) {
|
||||
this._mouseenter();
|
||||
@@ -504,6 +536,7 @@
|
||||
@@ -499,6 +531,7 @@
|
||||
if (!this.contains(event.relatedTarget)) {
|
||||
this._mouseleave();
|
||||
}
|
||||
@@ -131,7 +131,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
}
|
||||
|
||||
on_dragstart(event) {
|
||||
@@ -538,6 +571,8 @@
|
||||
@@ -533,6 +566,8 @@
|
||||
this.style.MozUserFocus = "ignore";
|
||||
} else if (
|
||||
event.target.classList.contains("tab-close-button") ||
|
||||
@@ -140,7 +140,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
event.target.classList.contains("tab-icon-overlay") ||
|
||||
event.target.classList.contains("tab-audio-button")
|
||||
) {
|
||||
@@ -572,7 +607,7 @@
|
||||
@@ -567,7 +602,7 @@
|
||||
}
|
||||
} else if (
|
||||
event.altKey &&
|
||||
@@ -149,7 +149,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
) {
|
||||
eventMaySelectTab = false;
|
||||
} else if (!this.selected && this.multiselected) {
|
||||
@@ -597,6 +632,10 @@
|
||||
@@ -592,6 +627,10 @@
|
||||
this.style.MozUserFocus = "";
|
||||
}
|
||||
|
||||
@@ -160,7 +160,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
on_click(event) {
|
||||
if (event.button != 0) {
|
||||
return;
|
||||
@@ -620,14 +659,31 @@
|
||||
@@ -615,14 +654,31 @@
|
||||
trigger: "alt_click",
|
||||
});
|
||||
}
|
||||
@@ -193,7 +193,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
gBrowser.multiSelectedTabsCount > 0 &&
|
||||
!event.target.classList.contains("tab-close-button") &&
|
||||
!event.target.classList.contains("tab-icon-overlay") &&
|
||||
@@ -639,8 +695,9 @@
|
||||
@@ -634,8 +690,9 @@
|
||||
}
|
||||
|
||||
if (
|
||||
@@ -205,7 +205,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
) {
|
||||
if (this.activeMediaBlocked) {
|
||||
if (this.multiselected) {
|
||||
@@ -658,7 +715,7 @@
|
||||
@@ -653,7 +710,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -214,7 +214,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
if (this.multiselected) {
|
||||
gBrowser.removeMultiSelectedTabs(
|
||||
lazy.TabMetrics.userTriggeredContext(
|
||||
@@ -678,6 +735,14 @@
|
||||
@@ -673,6 +730,14 @@
|
||||
// (see tabbrowser-tabs 'click' handler).
|
||||
gBrowser.tabContainer._blockDblClick = true;
|
||||
}
|
||||
@@ -229,7 +229,7 @@ index b9381999a77ecacdb95c69494ac8972e9f13d14d..a210b53bb46373f8bab532a00b25301d
|
||||
}
|
||||
|
||||
on_dblclick(event) {
|
||||
@@ -701,6 +766,8 @@
|
||||
@@ -696,6 +761,8 @@
|
||||
animate: true,
|
||||
triggeringEvent: event,
|
||||
});
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008ede72076 100644
|
||||
index 08b5b56e069d038d72c87355920c4ce8a55ed805..555ffd4772d9d4903491fdff9f3682852f8a52bd 100644
|
||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||
@@ -502,6 +502,7 @@
|
||||
@@ -511,6 +511,7 @@
|
||||
* @type {MozBrowser[]}
|
||||
*/
|
||||
get splitViewBrowsers() {
|
||||
@@ -10,7 +10,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
const browsers = [];
|
||||
if (this.#activeSplitView) {
|
||||
for (const tab of this.#activeSplitView.tabs) {
|
||||
@@ -575,15 +576,66 @@
|
||||
@@ -584,15 +585,66 @@
|
||||
return this.tabContainer.visibleTabs;
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
set selectedTab(val) {
|
||||
if (
|
||||
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
||||
@@ -592,6 +644,9 @@
|
||||
@@ -601,6 +653,9 @@
|
||||
) {
|
||||
return;
|
||||
}
|
||||
@@ -89,7 +89,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// Update the tab
|
||||
this.tabbox.selectedTab = val;
|
||||
}
|
||||
@@ -659,6 +714,10 @@
|
||||
@@ -668,6 +723,10 @@
|
||||
userContextId = parseInt(tabArgument.getAttribute("usercontextid"), 10);
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (tabArgument && tabArgument.linkedBrowser) {
|
||||
remoteType = tabArgument.linkedBrowser.remoteType;
|
||||
initialBrowsingContextGroupId =
|
||||
@@ -751,6 +810,8 @@
|
||||
@@ -760,6 +819,8 @@
|
||||
this.tabpanels.appendChild(panel);
|
||||
|
||||
let tab = this.tabs[0];
|
||||
@@ -109,7 +109,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
tab.linkedPanel = uniqueId;
|
||||
this._selectedTab = tab;
|
||||
this._selectedBrowser = browser;
|
||||
@@ -1121,13 +1182,18 @@
|
||||
@@ -1131,13 +1192,18 @@
|
||||
}
|
||||
|
||||
this.showTab(aTab);
|
||||
@@ -129,7 +129,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
aTab.setAttribute("pinned", "true");
|
||||
this._updateTabBarForPinnedTabs();
|
||||
@@ -1140,11 +1206,19 @@
|
||||
@@ -1150,11 +1216,19 @@
|
||||
}
|
||||
|
||||
this.#handleTabMove(aTab, () => {
|
||||
@@ -150,7 +150,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
});
|
||||
|
||||
aTab.style.marginInlineStart = "";
|
||||
@@ -1321,6 +1395,9 @@
|
||||
@@ -1369,6 +1443,9 @@
|
||||
|
||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||
|
||||
@@ -160,7 +160,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (
|
||||
aIconURL &&
|
||||
!LOCAL_PROTOCOLS.some(protocol => aIconURL.startsWith(protocol))
|
||||
@@ -1330,6 +1407,9 @@
|
||||
@@ -1378,6 +1455,9 @@
|
||||
);
|
||||
return;
|
||||
}
|
||||
@@ -170,7 +170,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
let browser = this.getBrowserForTab(aTab);
|
||||
browser.mIconURL = aIconURL;
|
||||
@@ -1652,7 +1732,6 @@
|
||||
@@ -1700,7 +1780,6 @@
|
||||
|
||||
// Preview mode should not reset the owner
|
||||
if (!this._previewMode && !oldTab.selected) {
|
||||
@@ -178,15 +178,15 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
let lastRelatedTab = this._lastRelatedTabMap.get(oldTab);
|
||||
@@ -1743,6 +1822,7 @@
|
||||
@@ -1791,6 +1870,7 @@
|
||||
if (!this._previewMode) {
|
||||
newTab.recordTimeFromUnloadToReload();
|
||||
newTab.updateLastAccessed();
|
||||
+ newTab.removeAttribute("unread");
|
||||
oldTab.updateLastAccessed();
|
||||
// if this is the foreground window, update the last-seen timestamps.
|
||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||
@@ -1957,6 +2037,9 @@
|
||||
if (this.documentGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||
@@ -2005,6 +2085,9 @@
|
||||
}
|
||||
|
||||
let activeEl = document.activeElement;
|
||||
@@ -196,7 +196,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// If focus is on the old tab, move it to the new tab.
|
||||
if (activeEl == oldTab) {
|
||||
newTab.focus();
|
||||
@@ -1995,7 +2078,7 @@
|
||||
@@ -2043,7 +2126,7 @@
|
||||
// Focus the location bar if it was previously focused for that tab.
|
||||
// In full screen mode, only bother making the location bar visible
|
||||
// if the tab is a blank one.
|
||||
@@ -205,7 +205,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
let selectURL = () => {
|
||||
if (this._asyncTabSwitching) {
|
||||
// Set _awaitingSetURI flag to suppress popup notification
|
||||
@@ -2283,7 +2366,12 @@
|
||||
@@ -2331,7 +2414,12 @@
|
||||
return this._setTabLabel(aTab, aLabel);
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (!aLabel || (isURL && /^about:reader\?url=/.test(aLabel))) {
|
||||
return false;
|
||||
}
|
||||
@@ -2408,7 +2496,7 @@
|
||||
@@ -2457,7 +2545,7 @@
|
||||
newIndex = this.selectedTab._tPos + 1;
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (this.isTabGroupLabel(targetTab)) {
|
||||
throw new Error(
|
||||
"Replacing a tab group label with a tab is not supported"
|
||||
@@ -2685,6 +2773,7 @@
|
||||
@@ -2737,6 +2825,7 @@
|
||||
uriIsAboutBlank,
|
||||
userContextId,
|
||||
skipLoad,
|
||||
@@ -236,7 +236,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} = {}) {
|
||||
let b = document.createXULElement("browser");
|
||||
// Use the JSM global to create the permanentKey, so that if the
|
||||
@@ -2758,8 +2847,7 @@
|
||||
@@ -2810,8 +2899,7 @@
|
||||
// we use a different attribute name for this?
|
||||
b.setAttribute("name", name);
|
||||
}
|
||||
@@ -246,7 +246,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
b.setAttribute("transparent", "true");
|
||||
}
|
||||
|
||||
@@ -2929,7 +3017,7 @@
|
||||
@@ -2981,7 +3069,7 @@
|
||||
|
||||
let panel = this.getPanel(browser);
|
||||
let uniqueId = this._generateUniquePanelID();
|
||||
@@ -255,7 +255,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
aTab.linkedPanel = uniqueId;
|
||||
|
||||
// Inject the <browser> into the DOM if necessary.
|
||||
@@ -2989,8 +3077,8 @@
|
||||
@@ -3041,8 +3129,8 @@
|
||||
// If we transitioned from one browser to two browsers, we need to set
|
||||
// hasSiblings=false on both the existing browser and the new browser.
|
||||
if (this.tabs.length == 2) {
|
||||
@@ -266,7 +266,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} else {
|
||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||
}
|
||||
@@ -3175,7 +3263,6 @@
|
||||
@@ -3227,7 +3315,6 @@
|
||||
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
||||
tabIndex: tab._tPos + 1,
|
||||
userContextId: tab.userContextId,
|
||||
@@ -274,7 +274,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
focusUrlBar: true,
|
||||
});
|
||||
resolve(this.selectedBrowser);
|
||||
@@ -3285,6 +3372,10 @@
|
||||
@@ -3337,6 +3424,10 @@
|
||||
schemelessInput,
|
||||
hasValidUserGestureActivation = false,
|
||||
textDirectiveUserActivation = false,
|
||||
@@ -285,7 +285,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} = {}
|
||||
) {
|
||||
// all callers of addTab that pass a params object need to pass
|
||||
@@ -3295,10 +3386,25 @@
|
||||
@@ -3347,10 +3438,25 @@
|
||||
);
|
||||
}
|
||||
|
||||
@@ -296,7 +296,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
+
|
||||
+ let hasZenDefaultUserContextId = false;
|
||||
+ let zenForcedWorkspaceId = undefined;
|
||||
+ if (beforeRouteResult.isRouteFound) {
|
||||
+ if (beforeRouteResult.isRouteFound && typeof userContextId !== "undefined") {
|
||||
+ userContextId = beforeRouteResult.userContextId;
|
||||
+ hasZenDefaultUserContextId = true;
|
||||
+ } else if (typeof gZenWorkspaces !== "undefined" && !_forZenEmptyTab) {
|
||||
@@ -311,7 +311,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// If we're opening a foreground tab, set the owner by default.
|
||||
ownerTab ??= inBackground ? null : this.selectedTab;
|
||||
|
||||
@@ -3306,6 +3412,7 @@
|
||||
@@ -3358,6 +3464,7 @@
|
||||
if (this.selectedTab.owner) {
|
||||
this.selectedTab.owner = null;
|
||||
}
|
||||
@@ -319,7 +319,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
// Find the tab that opened this one, if any. This is used for
|
||||
// determining positioning, and inherited attributes such as the
|
||||
@@ -3358,6 +3465,22 @@
|
||||
@@ -3410,6 +3517,22 @@
|
||||
noInitialLabel,
|
||||
skipBackgroundNotify,
|
||||
});
|
||||
@@ -342,7 +342,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (insertTab) {
|
||||
// Insert the tab into the tab container in the correct position.
|
||||
this.#insertTabAtIndex(t, {
|
||||
@@ -3366,6 +3489,7 @@
|
||||
@@ -3418,6 +3541,7 @@
|
||||
ownerTab,
|
||||
openerTab,
|
||||
pinned,
|
||||
@@ -350,7 +350,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
bulkOrderedOpen,
|
||||
tabGroup: tabGroup ?? openerTab?.group,
|
||||
});
|
||||
@@ -3384,6 +3508,7 @@
|
||||
@@ -3436,6 +3560,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -358,7 +358,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}));
|
||||
|
||||
if (focusUrlBar) {
|
||||
@@ -3508,6 +3633,12 @@
|
||||
@@ -3560,6 +3685,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -366,22 +366,28 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
+ gZenVerticalTabsManager.animateItemOpen(t);
|
||||
+ }
|
||||
+ if (typeof window.gZenCompactModeManager !== "undefined" && !skipLoad && insertTab) {
|
||||
+ gZenCompactModeManager._onTabOpen(t, inBackground);
|
||||
+ gZenCompactModeManager._onTabOpen(t, inBackground, beforeRouteResult);
|
||||
+ }
|
||||
// Additionally send pinned tab events
|
||||
if (pinned) {
|
||||
this.#notifyPinnedStatus(t);
|
||||
@@ -3518,6 +3649,9 @@
|
||||
@@ -3570,6 +3701,15 @@
|
||||
if (!inBackground) {
|
||||
this.selectedTab = t;
|
||||
}
|
||||
+
|
||||
+ window.gZenSpaceRoutingManager.onAfterAddTab(uriString, t, { skipRoute: skipRoute || _forZenEmptyTab, fromExternal, pinned, tabGroup }, window, beforeRouteResult);
|
||||
+ window.gZenSpaceRoutingManager.onAfterAddTab(
|
||||
+ uriString,
|
||||
+ t,
|
||||
+ { skipRoute: skipRoute || _forZenEmptyTab, fromExternal, pinned, tabGroup, inBackground },
|
||||
+ window,
|
||||
+ beforeRouteResult,
|
||||
+ );
|
||||
+
|
||||
return t;
|
||||
}
|
||||
|
||||
@@ -3750,6 +3884,7 @@
|
||||
@@ -3802,6 +3942,7 @@
|
||||
isAdoptingGroup = false,
|
||||
isUserTriggered = false,
|
||||
telemetryUserCreateSource = "unknown",
|
||||
@@ -389,7 +395,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} = {}
|
||||
) {
|
||||
if (
|
||||
@@ -3760,9 +3895,6 @@
|
||||
@@ -3812,9 +3953,6 @@
|
||||
!this.isSplitViewWrapper(tabOrSplitView)
|
||||
)
|
||||
) {
|
||||
@@ -399,7 +405,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
if (!color) {
|
||||
@@ -3783,9 +3915,14 @@
|
||||
@@ -3835,9 +3973,14 @@
|
||||
label,
|
||||
isAdoptingGroup
|
||||
);
|
||||
@@ -416,7 +422,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
);
|
||||
group.addTabs(tabsAndSplitViews);
|
||||
|
||||
@@ -3906,7 +4043,7 @@
|
||||
@@ -3958,7 +4101,7 @@
|
||||
}
|
||||
|
||||
this.#handleTabMove(tab, () =>
|
||||
@@ -425,7 +431,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3990,6 +4127,7 @@
|
||||
@@ -4044,6 +4187,7 @@
|
||||
color: group.color,
|
||||
insertBefore: newTabs[0],
|
||||
isAdoptingGroup: true,
|
||||
@@ -433,7 +439,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4200,6 +4338,7 @@
|
||||
@@ -4254,6 +4398,7 @@
|
||||
openWindowInfo,
|
||||
skipLoad,
|
||||
triggeringRemoteType,
|
||||
@@ -441,7 +447,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
) {
|
||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||
@@ -4269,6 +4408,7 @@
|
||||
@@ -4323,6 +4468,7 @@
|
||||
openWindowInfo,
|
||||
name,
|
||||
skipLoad,
|
||||
@@ -449,7 +455,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
});
|
||||
}
|
||||
|
||||
@@ -4482,9 +4622,9 @@
|
||||
@@ -4536,9 +4682,9 @@
|
||||
}
|
||||
|
||||
// Add a new tab if needed.
|
||||
@@ -461,7 +467,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
let url = "about:blank";
|
||||
if (tabData.entries?.length) {
|
||||
@@ -4521,8 +4661,10 @@
|
||||
@@ -4575,8 +4721,10 @@
|
||||
insertTab: false,
|
||||
skipLoad: true,
|
||||
preferredRemoteType,
|
||||
@@ -473,7 +479,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (select) {
|
||||
tabToSelect = tab;
|
||||
}
|
||||
@@ -4544,7 +4686,8 @@
|
||||
@@ -4598,7 +4746,8 @@
|
||||
this.pinTab(tab);
|
||||
// Then ensure all the tab open/pinning information is sent.
|
||||
this._fireTabOpen(tab, {});
|
||||
@@ -483,7 +489,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
let { groupId } = tabData;
|
||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||
// if a tab refers to a tab group we don't know, skip any group
|
||||
@@ -4564,7 +4707,10 @@
|
||||
@@ -4618,7 +4767,10 @@
|
||||
tabGroup.stateData.id,
|
||||
tabGroup.stateData.color,
|
||||
tabGroup.stateData.collapsed,
|
||||
@@ -495,7 +501,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
);
|
||||
tabsFragment.appendChild(tabGroup.node);
|
||||
}
|
||||
@@ -4619,9 +4765,21 @@
|
||||
@@ -4673,9 +4825,21 @@
|
||||
// to remove the old selected tab.
|
||||
if (tabToSelect) {
|
||||
let leftoverTab = this.selectedTab;
|
||||
@@ -517,7 +523,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
if (tabs.length > 1 || !tabs[0].selected) {
|
||||
this._updateTabsAfterInsert();
|
||||
@@ -4812,11 +4970,14 @@
|
||||
@@ -4866,11 +5030,14 @@
|
||||
if (ownerTab) {
|
||||
tab.owner = ownerTab;
|
||||
}
|
||||
@@ -533,7 +539,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (
|
||||
!bulkOrderedOpen &&
|
||||
((openerTab &&
|
||||
@@ -4828,7 +4989,7 @@
|
||||
@@ -4882,7 +5049,7 @@
|
||||
let lastRelatedTab =
|
||||
openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
||||
@@ -542,7 +548,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
tabGroup = previousTab.group;
|
||||
}
|
||||
if (
|
||||
@@ -4844,7 +5005,7 @@
|
||||
@@ -4898,7 +5065,7 @@
|
||||
previousTab.splitview
|
||||
) + 1;
|
||||
} else if (previousTab.visible) {
|
||||
@@ -551,7 +557,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||
elementIndex = 0;
|
||||
}
|
||||
@@ -4872,14 +5033,14 @@
|
||||
@@ -4926,14 +5093,14 @@
|
||||
}
|
||||
// Ensure index is within bounds.
|
||||
if (tab.pinned) {
|
||||
@@ -570,7 +576,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
if (pinned && !itemAfter?.pinned) {
|
||||
itemAfter = null;
|
||||
@@ -4896,7 +5057,7 @@
|
||||
@@ -4950,7 +5117,7 @@
|
||||
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
|
||||
@@ -579,7 +585,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (
|
||||
(this.isTab(itemAfter) && itemAfter.group == tabGroup) ||
|
||||
this.isSplitViewWrapper(itemAfter)
|
||||
@@ -4927,7 +5088,11 @@
|
||||
@@ -4981,7 +5148,11 @@
|
||||
const tabContainer = pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -591,7 +597,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
if (tab.group?.collapsed) {
|
||||
@@ -4942,6 +5107,7 @@
|
||||
@@ -4996,6 +5167,7 @@
|
||||
if (pinned) {
|
||||
this._updateTabBarForPinnedTabs();
|
||||
}
|
||||
@@ -599,7 +605,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -5490,6 +5656,7 @@
|
||||
@@ -5544,6 +5716,7 @@
|
||||
telemetrySource,
|
||||
} = {}
|
||||
) {
|
||||
@@ -607,7 +613,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||
// can be considered equivalent to closing the window.
|
||||
if (
|
||||
@@ -5579,6 +5746,7 @@
|
||||
@@ -5633,6 +5806,7 @@
|
||||
if (lastToClose) {
|
||||
this.removeTab(lastToClose, aParams);
|
||||
}
|
||||
@@ -615,7 +621,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
}
|
||||
@@ -5624,6 +5792,14 @@
|
||||
@@ -5678,6 +5852,14 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -630,7 +636,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
let isVisibleTab = aTab.visible;
|
||||
// We have to sample the tab width now, since _beginRemoveTab might
|
||||
// end up modifying the DOM in such a way that aTab gets a new
|
||||
@@ -5631,6 +5807,9 @@
|
||||
@@ -5685,6 +5867,9 @@
|
||||
// state).
|
||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||
let isLastTab = this.#isLastTabInWindow(aTab);
|
||||
@@ -640,7 +646,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (
|
||||
!this._beginRemoveTab(aTab, {
|
||||
closeWindowFastpath: true,
|
||||
@@ -5642,13 +5821,14 @@
|
||||
@@ -5696,13 +5881,14 @@
|
||||
telemetrySource,
|
||||
})
|
||||
) {
|
||||
@@ -656,7 +662,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
let lockTabSizing =
|
||||
!this.tabContainer.verticalMode &&
|
||||
!aTab.pinned &&
|
||||
@@ -5679,7 +5859,13 @@
|
||||
@@ -5733,7 +5919,13 @@
|
||||
// We're not animating, so we can cancel the animation stopwatch.
|
||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||
aTab._closeTimeAnimTimerId = null;
|
||||
@@ -671,7 +677,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -5813,7 +5999,7 @@
|
||||
@@ -5867,7 +6059,7 @@
|
||||
closeWindowWithLastTab != null
|
||||
? closeWindowWithLastTab
|
||||
: !window.toolbar.visible ||
|
||||
@@ -680,7 +686,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
if (closeWindow) {
|
||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||
@@ -5837,6 +6023,7 @@
|
||||
@@ -5891,6 +6083,7 @@
|
||||
|
||||
newTab = true;
|
||||
}
|
||||
@@ -688,7 +694,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||
|
||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||
@@ -5877,13 +6064,7 @@
|
||||
@@ -5931,13 +6124,7 @@
|
||||
aTab._mouseleave();
|
||||
|
||||
if (newTab) {
|
||||
@@ -703,7 +709,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} else {
|
||||
TabBarVisibility.update();
|
||||
}
|
||||
@@ -6016,6 +6197,7 @@
|
||||
@@ -6070,6 +6257,7 @@
|
||||
this.tabs[i]._tPos = i;
|
||||
}
|
||||
|
||||
@@ -711,7 +717,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (!this._windowIsClosing) {
|
||||
// update tab close buttons state
|
||||
this.tabContainer._updateCloseButtons();
|
||||
@@ -6201,6 +6383,7 @@
|
||||
@@ -6255,6 +6443,7 @@
|
||||
memory_after: await getTotalMemoryUsage(),
|
||||
time_to_unload_in_ms: timeElapsed,
|
||||
});
|
||||
@@ -719,7 +725,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6246,6 +6429,7 @@
|
||||
@@ -6300,6 +6489,7 @@
|
||||
}
|
||||
|
||||
let excludeTabs = new Set(aExcludeTabs);
|
||||
@@ -727,7 +733,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
// If this tab has a successor, it should be selectable, since
|
||||
// hiding or closing a tab removes that tab as a successor.
|
||||
@@ -6258,15 +6442,22 @@
|
||||
@@ -6312,15 +6502,22 @@
|
||||
!excludeTabs.has(aTab.owner) &&
|
||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||
) {
|
||||
@@ -752,7 +758,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
let tab = this.tabContainer.findNextTab(aTab, {
|
||||
direction: 1,
|
||||
filter: _tab => remainingTabs.includes(_tab),
|
||||
@@ -6280,7 +6471,7 @@
|
||||
@@ -6334,7 +6531,7 @@
|
||||
}
|
||||
|
||||
if (tab) {
|
||||
@@ -761,7 +767,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
// If no qualifying visible tab was found, see if there is a tab in
|
||||
@@ -6301,7 +6492,7 @@
|
||||
@@ -6355,7 +6552,7 @@
|
||||
});
|
||||
}
|
||||
|
||||
@@ -770,7 +776,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
_blurTab(aTab) {
|
||||
@@ -6312,7 +6503,7 @@
|
||||
@@ -6366,7 +6563,7 @@
|
||||
* @returns {boolean}
|
||||
* False if swapping isn't permitted, true otherwise.
|
||||
*/
|
||||
@@ -779,7 +785,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// Do not allow transfering a private tab to a non-private window
|
||||
// and vice versa.
|
||||
if (
|
||||
@@ -6366,6 +6557,7 @@
|
||||
@@ -6420,6 +6617,7 @@
|
||||
// fire the beforeunload event in the process. Close the other
|
||||
// window if this was its last tab.
|
||||
if (
|
||||
@@ -787,22 +793,22 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
!remoteBrowser._beginRemoveTab(aOtherTab, {
|
||||
adoptedByTab: aOurTab,
|
||||
closeWindowWithLastTab: true,
|
||||
@@ -6377,7 +6569,7 @@
|
||||
@@ -6431,7 +6629,7 @@
|
||||
// If this is the last tab of the window, hide the window
|
||||
// immediately without animation before the docshell swap, to avoid
|
||||
// about:blank being painted.
|
||||
- let [closeWindow] = aOtherTab._endRemoveArgs;
|
||||
+ let [closeWindow] = !zenCloseOther ? [false] : aOtherTab._endRemoveArgs;
|
||||
if (closeWindow) {
|
||||
let win = aOtherTab.ownerGlobal;
|
||||
let win = aOtherTab.documentGlobal;
|
||||
win.windowUtils.suppressAnimation(true);
|
||||
@@ -6511,11 +6703,13 @@
|
||||
@@ -6565,11 +6763,13 @@
|
||||
}
|
||||
|
||||
// Finish tearing down the tab that's going away.
|
||||
+ if (zenCloseOther) {
|
||||
if (closeWindow) {
|
||||
aOtherTab.ownerGlobal.close();
|
||||
aOtherTab.documentGlobal.close();
|
||||
} else {
|
||||
remoteBrowser._endRemoveTab(aOtherTab);
|
||||
}
|
||||
@@ -810,7 +816,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
this.setTabTitle(aOurTab);
|
||||
|
||||
@@ -6717,10 +6911,10 @@
|
||||
@@ -6771,10 +6971,10 @@
|
||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||
}
|
||||
|
||||
@@ -823,7 +829,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
aTab.selected ||
|
||||
aTab.closing ||
|
||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||
@@ -6780,7 +6974,8 @@
|
||||
@@ -6834,7 +7034,8 @@
|
||||
* @param {object} [aOptions={}]
|
||||
* Key-value pairs that will be serialized into the features string.
|
||||
*/
|
||||
@@ -833,7 +839,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
if (this.tabs.length == 1) {
|
||||
return null;
|
||||
}
|
||||
@@ -6797,7 +6992,7 @@
|
||||
@@ -6851,7 +7052,7 @@
|
||||
// tell a new window to take the "dropped" tab
|
||||
let args = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
|
||||
args.appendElement(aTab.splitview ?? aTab);
|
||||
@@ -842,7 +848,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
private: PrivateBrowsingUtils.isWindowPrivate(window),
|
||||
features: Object.entries(aOptions)
|
||||
.map(([key, value]) => `${key}=${value}`)
|
||||
@@ -6805,6 +7000,8 @@
|
||||
@@ -6859,6 +7060,8 @@
|
||||
openerWindow: window,
|
||||
args,
|
||||
});
|
||||
@@ -851,7 +857,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -6917,7 +7114,7 @@
|
||||
@@ -6971,7 +7174,7 @@
|
||||
* `true` if element is a `<tab-group>`
|
||||
*/
|
||||
isTabGroup(element) {
|
||||
@@ -860,7 +866,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -7002,8 +7199,8 @@
|
||||
@@ -7056,8 +7259,8 @@
|
||||
}
|
||||
|
||||
// Don't allow mixing pinned and unpinned tabs.
|
||||
@@ -871,7 +877,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} else {
|
||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||
}
|
||||
@@ -7049,8 +7246,8 @@
|
||||
@@ -7103,8 +7306,8 @@
|
||||
this.#handleTabMove(
|
||||
element,
|
||||
() => {
|
||||
@@ -882,7 +888,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
neighbor = neighbor.group;
|
||||
}
|
||||
if (neighbor?.splitview) {
|
||||
@@ -7061,6 +7258,12 @@
|
||||
@@ -7115,6 +7318,12 @@
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -895,7 +901,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
if (movingForwards && neighbor) {
|
||||
neighbor.after(element);
|
||||
@@ -7119,23 +7322,31 @@
|
||||
@@ -7173,23 +7382,31 @@
|
||||
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
||||
if (this.isTabGroupLabel(targetElement)) {
|
||||
targetElement = targetElement.group;
|
||||
@@ -933,7 +939,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
||||
// If the caller asks to move an unpinned element next to a pinned
|
||||
// tab, move the unpinned element to be the first unpinned element
|
||||
@@ -7148,12 +7359,35 @@
|
||||
@@ -7202,12 +7419,35 @@
|
||||
// move the tab group right before the first unpinned tab.
|
||||
// 4. Moving a tab group and the first unpinned tab is grouped:
|
||||
// move the tab group right before the first unpinned tab's tab group.
|
||||
@@ -970,7 +976,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
// We want to include the splitview wrapper if it's the targetElement, but
|
||||
// not in the case where we want to reverse tabs within the same splitview.
|
||||
@@ -7162,6 +7396,7 @@
|
||||
@@ -7216,6 +7456,7 @@
|
||||
}
|
||||
|
||||
let getContainer = () =>
|
||||
@@ -978,7 +984,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
element.pinned
|
||||
? this.tabContainer.pinnedTabsContainer
|
||||
: this.tabContainer;
|
||||
@@ -7170,11 +7405,15 @@
|
||||
@@ -7224,11 +7465,15 @@
|
||||
element,
|
||||
() => {
|
||||
if (moveBefore) {
|
||||
@@ -995,7 +1001,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
},
|
||||
metricsContext
|
||||
@@ -7248,11 +7487,15 @@
|
||||
@@ -7302,11 +7547,15 @@
|
||||
* @param {TabMetricsContext} [metricsContext]
|
||||
*/
|
||||
moveTabToExistingGroup(aTab, aGroup, metricsContext) {
|
||||
@@ -1014,7 +1020,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||
return;
|
||||
@@ -7324,6 +7567,7 @@
|
||||
@@ -7378,6 +7627,7 @@
|
||||
|
||||
let state = {
|
||||
tabIndex: tab._tPos,
|
||||
@@ -1022,7 +1028,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
};
|
||||
if (tab.visible) {
|
||||
state.elementIndex = tab.elementIndex;
|
||||
@@ -7355,7 +7599,7 @@
|
||||
@@ -7409,7 +7659,7 @@
|
||||
let changedSplitView =
|
||||
previousTabState.splitViewId != currentTabState.splitViewId;
|
||||
|
||||
@@ -1031,7 +1037,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
tab.dispatchEvent(
|
||||
new CustomEvent("TabMove", {
|
||||
bubbles: true,
|
||||
@@ -7402,6 +7646,10 @@
|
||||
@@ -7456,6 +7706,10 @@
|
||||
|
||||
moveActionCallback();
|
||||
|
||||
@@ -1042,13 +1048,13 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||
// changed.
|
||||
this.tabContainer._invalidateCachedTabs();
|
||||
@@ -7452,7 +7700,22 @@
|
||||
@@ -7506,7 +7760,22 @@
|
||||
* @returns {object}
|
||||
* The new tab in the current window, null if the tab couldn't be adopted.
|
||||
*/
|
||||
- adoptTab(aTab, { elementIndex, tabIndex, selectTab = false } = {}) {
|
||||
+ adoptTab(aTab, { elementIndex, tabIndex, selectTab = false, spaceId = null } = {}) {
|
||||
+ if (window.gZenWorkspaces.currentWindowIsSyncing && aTab.ownerGlobal.gZenWorkspaces?.currentWindowIsSyncing) {
|
||||
+ if (window.gZenWorkspaces.currentWindowIsSyncing && aTab.documentGlobal.gZenWorkspaces?.currentWindowIsSyncing) {
|
||||
+ const tabId = aTab.id;
|
||||
+ const thisTab = window.gZenWindowSync.getItemFromWindow(window, tabId);
|
||||
+ if (thisTab) {
|
||||
@@ -1066,7 +1072,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
// Swap the dropped tab with a new one we create and then close
|
||||
// it in the other window (making it seem to have moved between
|
||||
// windows). We also ensure that the tab we create to swap into has
|
||||
@@ -7495,6 +7758,8 @@
|
||||
@@ -7549,6 +7818,8 @@
|
||||
}
|
||||
params.skipLoad = true;
|
||||
let newTab = this.addWebTab("about:blank", params);
|
||||
@@ -1075,7 +1081,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
aTab.container.tabDragAndDrop.finishAnimateTabMove();
|
||||
|
||||
@@ -8205,7 +8470,7 @@
|
||||
@@ -8259,7 +8530,7 @@
|
||||
// preventDefault(). It will still raise the window if appropriate.
|
||||
return;
|
||||
}
|
||||
@@ -1084,7 +1090,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
window.focus();
|
||||
aEvent.preventDefault();
|
||||
}
|
||||
@@ -8222,7 +8487,6 @@
|
||||
@@ -8276,7 +8547,6 @@
|
||||
|
||||
on_TabGroupCollapse(aEvent) {
|
||||
aEvent.target.tabs.forEach(tab => {
|
||||
@@ -1092,7 +1098,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8556,7 +8820,9 @@
|
||||
@@ -8630,7 +8900,9 @@
|
||||
|
||||
let filter = this._tabFilters.get(tab);
|
||||
if (filter) {
|
||||
@@ -1102,7 +1108,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
|
||||
let listener = this._tabListeners.get(tab);
|
||||
if (listener) {
|
||||
@@ -9359,6 +9625,7 @@
|
||||
@@ -9435,6 +9707,7 @@
|
||||
aWebProgress.isTopLevel
|
||||
) {
|
||||
this.mTab.setAttribute("busy", "true");
|
||||
@@ -1110,7 +1116,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||
}
|
||||
@@ -9439,6 +9706,7 @@
|
||||
@@ -9515,6 +9788,7 @@
|
||||
// known defaults. Note we use the original URL since about:newtab
|
||||
// redirects to a prerendered page.
|
||||
const shouldRemoveFavicon =
|
||||
@@ -1118,7 +1124,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
!this.mBrowser.mIconURL &&
|
||||
!ignoreBlank &&
|
||||
!(originalLocation.spec in FAVICON_DEFAULTS);
|
||||
@@ -9613,13 +9881,6 @@
|
||||
@@ -9689,13 +9963,6 @@
|
||||
this.mBrowser.originalURI = aRequest.originalURI;
|
||||
}
|
||||
|
||||
@@ -1132,7 +1138,7 @@ index 43fb79a3060e20f671ae6ffc26350c7abf497702..68a037d5a0e3416f31ffcb163592f008
|
||||
}
|
||||
|
||||
let userContextId = this.mBrowser.getAttribute("usercontextid") || 0;
|
||||
@@ -10507,7 +10768,8 @@ var TabContextMenu = {
|
||||
@@ -10587,7 +10854,8 @@ var TabContextMenu = {
|
||||
);
|
||||
contextUnpinSelectedTabs.hidden =
|
||||
!this.contextTab.pinned || !this.multiselected;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
|
||||
index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a064fea9b 100644
|
||||
index e78fa0dec83424c0059c081f83fda0d23bdb5a94..a7de584d9029ff9e55d809d50377593e398ee999 100644
|
||||
--- a/browser/components/tabbrowser/content/tabgroup.js
|
||||
+++ b/browser/components/tabbrowser/content/tabgroup.js
|
||||
@@ -14,11 +14,11 @@
|
||||
@@ -49,7 +49,7 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
|
||||
// Similar to above, always set up TabSelect listener, as this gets
|
||||
// removed in disconnectedCallback
|
||||
this.ownerGlobal.addEventListener("TabSelect", this);
|
||||
this.documentGlobal.addEventListener("TabSelect", this);
|
||||
this.addEventListener("SplitViewTabChange", this);
|
||||
|
||||
- if (this._initialized) {
|
||||
@@ -129,7 +129,7 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
}
|
||||
|
||||
get color() {
|
||||
@@ -317,6 +348,9 @@
|
||||
@@ -335,6 +366,9 @@
|
||||
}
|
||||
|
||||
set collapsed(val) {
|
||||
@@ -139,7 +139,7 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
if (!!val == this.collapsed) {
|
||||
return;
|
||||
}
|
||||
@@ -403,7 +437,6 @@
|
||||
@@ -421,7 +455,6 @@
|
||||
tabGroupName,
|
||||
})
|
||||
.then(result => {
|
||||
@@ -147,7 +147,7 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
});
|
||||
}
|
||||
|
||||
@@ -478,13 +511,68 @@
|
||||
@@ -496,13 +529,68 @@
|
||||
* @returns {MozTabbrowserTab[]}
|
||||
*/
|
||||
get tabs() {
|
||||
@@ -221,15 +221,15 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -592,7 +680,6 @@
|
||||
@@ -610,7 +698,6 @@
|
||||
);
|
||||
} else {
|
||||
if (tabOrSplitView.pinned) {
|
||||
- tabOrSplitView.ownerGlobal.gBrowser.unpinTab(tabOrSplitView);
|
||||
- tabOrSplitView.documentGlobal.gBrowser.unpinTab(tabOrSplitView);
|
||||
}
|
||||
let tabToMove =
|
||||
this.ownerGlobal === tabOrSplitView.ownerGlobal
|
||||
@@ -661,7 +748,7 @@
|
||||
this.documentGlobal === tabOrSplitView.documentGlobal
|
||||
@@ -679,7 +766,7 @@
|
||||
*/
|
||||
on_click(event) {
|
||||
let isToggleElement =
|
||||
@@ -238,7 +238,7 @@ index d1be14df27d76a191eaff05502c030fd68c46738..e9b5e90e39b594a6119081c8d707fb4a
|
||||
event.target === this.#overflowCountLabel;
|
||||
if (isToggleElement && event.button === 0) {
|
||||
event.preventDefault();
|
||||
@@ -740,5 +827,6 @@
|
||||
@@ -758,5 +845,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||
index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c56982d1aa 100644
|
||||
index 568f3a7cc7051ff8cb569f6bcb8018a5212f7072..3036768b8911b4fbc28df7528f7189d9ea21b6f6 100644
|
||||
--- a/browser/components/tabbrowser/content/tabs.js
|
||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||
@@ -230,7 +230,7 @@
|
||||
@@ -220,7 +220,7 @@
|
||||
|
||||
this.tooltip = "tabbrowser-tab-tooltip";
|
||||
|
||||
@@ -11,7 +11,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
this.tabDragAndDrop.init();
|
||||
}
|
||||
|
||||
@@ -454,7 +454,7 @@
|
||||
@@ -444,7 +444,7 @@
|
||||
// and we're not hitting the scroll buttons.
|
||||
if (
|
||||
event.button != 0 ||
|
||||
@@ -20,7 +20,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
event.composedTarget.localName == "toolbarbutton"
|
||||
) {
|
||||
return;
|
||||
@@ -535,7 +535,6 @@
|
||||
@@ -525,7 +525,6 @@
|
||||
});
|
||||
}
|
||||
} else if (isTabGroupLabel(event.target)) {
|
||||
@@ -28,7 +28,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
} else if (
|
||||
event.originalTarget.closest("scrollbox") &&
|
||||
!Services.prefs.getBoolPref(
|
||||
@@ -571,6 +570,9 @@
|
||||
@@ -561,6 +560,9 @@
|
||||
}
|
||||
|
||||
on_keydown(event) {
|
||||
@@ -38,7 +38,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
let { altKey, shiftKey } = event;
|
||||
let [accel, nonAccel] =
|
||||
AppConstants.platform == "macosx"
|
||||
@@ -765,7 +767,6 @@
|
||||
@@ -755,7 +757,6 @@
|
||||
this._updateCloseButtons();
|
||||
|
||||
if (!this.#animatingGroups.size) {
|
||||
@@ -46,7 +46,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
}
|
||||
|
||||
document
|
||||
@@ -832,7 +833,7 @@
|
||||
@@ -822,7 +823,7 @@
|
||||
}
|
||||
|
||||
get newTabButton() {
|
||||
@@ -55,7 +55,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
}
|
||||
|
||||
get verticalMode() {
|
||||
@@ -848,6 +849,7 @@
|
||||
@@ -838,6 +839,7 @@
|
||||
}
|
||||
|
||||
get overflowing() {
|
||||
@@ -63,7 +63,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
return this.hasAttribute("overflow");
|
||||
}
|
||||
|
||||
@@ -861,29 +863,56 @@
|
||||
@@ -851,29 +853,56 @@
|
||||
if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
|
||||
pinnedChildren.pop();
|
||||
}
|
||||
@@ -130,7 +130,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
}
|
||||
|
||||
get allSplitViews() {
|
||||
@@ -968,29 +997,28 @@
|
||||
@@ -958,29 +987,28 @@
|
||||
return this.#focusableItems;
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
this.#focusableItems = focusableItems;
|
||||
|
||||
return this.#focusableItems;
|
||||
@@ -1003,6 +1031,7 @@
|
||||
@@ -993,6 +1021,7 @@
|
||||
* focusable (ex, we don't want the splitview container to be focusable, only its children).
|
||||
*/
|
||||
get dragAndDropElements() {
|
||||
@@ -178,7 +178,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
if (this.#dragAndDropElements) {
|
||||
return this.#dragAndDropElements;
|
||||
}
|
||||
@@ -1073,6 +1102,7 @@
|
||||
@@ -1063,6 +1092,7 @@
|
||||
_invalidateCachedTabs() {
|
||||
this.#allTabs = null;
|
||||
this._invalidateCachedVisibleTabs();
|
||||
@@ -186,7 +186,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
}
|
||||
|
||||
_invalidateCachedVisibleTabs() {
|
||||
@@ -1092,7 +1122,8 @@
|
||||
@@ -1082,7 +1112,8 @@
|
||||
|
||||
isContainerVerticalPinnedGrid(tab) {
|
||||
return (
|
||||
@@ -196,7 +196,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
this.verticalMode &&
|
||||
this.hasAttribute("expanded") &&
|
||||
!this.expandOnHover
|
||||
@@ -1186,7 +1217,7 @@
|
||||
@@ -1176,7 +1207,7 @@
|
||||
|
||||
if (node == null) {
|
||||
// We have a container for non-tab elements at the end of the scrollbox.
|
||||
@@ -205,7 +205,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
}
|
||||
|
||||
node.before(tab);
|
||||
@@ -1281,7 +1312,7 @@
|
||||
@@ -1271,7 +1302,7 @@
|
||||
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
||||
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
||||
// Attach the long click popup to all of them.
|
||||
@@ -214,7 +214,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
const newTab2 = this.newTabButton;
|
||||
const newTabVertical = document.getElementById(
|
||||
"vertical-tabs-newtab-button"
|
||||
@@ -1386,8 +1417,10 @@
|
||||
@@ -1376,8 +1407,10 @@
|
||||
*/
|
||||
_handleTabSelect(aInstant) {
|
||||
let selectedTab = this.selectedItem;
|
||||
@@ -225,7 +225,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
selectedTab._notselectedsinceload = false;
|
||||
}
|
||||
|
||||
@@ -1396,7 +1429,7 @@
|
||||
@@ -1386,7 +1419,7 @@
|
||||
* @param {boolean} [shouldScrollInstantly=false]
|
||||
*/
|
||||
#ensureTabIsVisible(tab, shouldScrollInstantly = false) {
|
||||
@@ -234,7 +234,7 @@ index a2db42fba8d1f1d9df1dc295adb64be3f5885d50..2dd43fe4898badeaf9bc669502ead2c5
|
||||
if (arrowScrollbox?.overflowing) {
|
||||
arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly);
|
||||
}
|
||||
@@ -1523,7 +1556,7 @@
|
||||
@@ -1513,7 +1546,7 @@
|
||||
}
|
||||
|
||||
_notifyBackgroundTab(aTab) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||
index bb0189fbfc91b3fc3b399b077a35f7b60a3f985f..c4dd60c6fb6d7eb2288a033708836f9983530e2c 100644
|
||||
index a05894d593e4149097c473822a38f87b2220625f..1660106c2a6548920fdffd2656e5a1f12c2d548b 100644
|
||||
--- a/browser/components/urlbar/UrlbarController.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||
@@ -305,7 +305,6 @@ export class UrlbarController {
|
||||
@@ -10,7 +10,7 @@ index bb0189fbfc91b3fc3b399b077a35f7b60a3f985f..c4dd60c6fb6d7eb2288a033708836f99
|
||||
this.view.isOpen &&
|
||||
event.ctrlKey &&
|
||||
(event.key == "n" || event.key == "p")
|
||||
@@ -456,6 +455,8 @@ export class UrlbarController {
|
||||
@@ -494,6 +493,8 @@ export class UrlbarController {
|
||||
});
|
||||
}
|
||||
event.preventDefault();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
index d9048a3b8b1f18745c01e40e12f529db3cfaa79e..1ba124a710fcf734ea11f7ccfd4f2f6ebe53e7d2 100644
|
||||
index 8de151f473ac6b95bc606251f78a4bede093ee0c..dbd302259c54b0196a370b9ff12ba0dcf1545272 100644
|
||||
--- a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs
|
||||
@@ -913,6 +913,7 @@ export class Query {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarUtils.sys.mjs b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||
index 62367c5a77614e5973791abacd068b39e0f3ab34..c930943b5bfa8a2e6dee43f0ec7a10274a7c7638 100644
|
||||
index 2f03bdf632c6ca15c728df2801162da5159682da..6834daede8cb11854f137602100183d85a930686 100644
|
||||
--- a/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarUtils.sys.mjs
|
||||
@@ -109,6 +109,8 @@ export var UrlbarUtils = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
index 344a9a5b969e679040a650dad311c7413f52bbbd..24111cef5e476253f4e69c4d99f6f220bfd8cd7e 100644
|
||||
index 8def83509f097ba034b9d94ae00d2ee474ec2d30..ebdb84b9af928b132b848bd4c5bb506d813e5e06 100644
|
||||
--- a/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
+++ b/browser/components/urlbar/UrlbarValueFormatter.sys.mjs
|
||||
@@ -77,7 +77,7 @@ export class UrlbarValueFormatter {
|
||||
@@ -30,7 +30,7 @@ index 344a9a5b969e679040a650dad311c7413f52bbbd..24111cef5e476253f4e69c4d99f6f220
|
||||
// Make sure the host is always visible. Since it is aligned on
|
||||
// the first strong directional character, we set scrollLeft
|
||||
// appropriately to ensure the domain stays visible in case of an
|
||||
@@ -371,7 +383,7 @@ export class UrlbarValueFormatter {
|
||||
@@ -381,7 +393,7 @@ export class UrlbarValueFormatter {
|
||||
* @returns {boolean}
|
||||
* True if formatting was applied and false if not.
|
||||
*/
|
||||
@@ -39,7 +39,7 @@ index 344a9a5b969e679040a650dad311c7413f52bbbd..24111cef5e476253f4e69c4d99f6f220
|
||||
let urlMetaData = this.#getUrlMetaData();
|
||||
if (!urlMetaData) {
|
||||
return false;
|
||||
@@ -640,6 +652,7 @@ export class UrlbarValueFormatter {
|
||||
@@ -650,6 +662,7 @@ export class UrlbarValueFormatter {
|
||||
this.#window.requestAnimationFrame(() => {
|
||||
if (instance == this.#resizeInstance) {
|
||||
this.#ensureFormattedHostVisible();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/urlbar/content/UrlbarInput.mjs b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f771f0a75a8 100644
|
||||
index 0fba59d62af9d3cd05bfee2cf84cd8b7cf9bfd6e..3997a5109267f378b59aa6510cbacd07ed57bd36 100644
|
||||
--- a/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
+++ b/browser/components/urlbar/content/UrlbarInput.mjs
|
||||
@@ -98,6 +98,13 @@ const lazy = XPCOMUtils.declareLazy({
|
||||
@@ -16,7 +16,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
const UNLIMITED_MAX_RESULTS = 99;
|
||||
|
||||
let getBoundsWithoutFlushing = element =>
|
||||
@@ -743,7 +750,16 @@ ${
|
||||
@@ -770,7 +777,16 @@ ${
|
||||
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
||||
// event but does not set the primary selection.
|
||||
this._suppressPrimaryAdjustment = true;
|
||||
@@ -27,13 +27,13 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
+ zenToolbox.hasAttribute("zen-user-show")
|
||||
+ ));
|
||||
this.inputField.select();
|
||||
+ this.document.ownerGlobal.setTimeout(() => {
|
||||
+ this.document.documentGlobal.setTimeout(() => {
|
||||
+ this.window.document.documentElement.removeAttribute("supress-primary-adjustment");
|
||||
+ }, 0);
|
||||
this._suppressPrimaryAdjustment = false;
|
||||
}
|
||||
|
||||
@@ -817,6 +833,10 @@ ${
|
||||
@@ -844,6 +860,10 @@ ${
|
||||
hideSearchTerms = false,
|
||||
isSameDocument = false,
|
||||
} = {}) {
|
||||
@@ -44,11 +44,10 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (!this.#isAddressbar) {
|
||||
throw new Error(
|
||||
"Cannot set URI for UrlbarInput that is not an address bar"
|
||||
@@ -1106,8 +1126,16 @@ ${
|
||||
return;
|
||||
}
|
||||
@@ -1138,7 +1158,16 @@ ${
|
||||
this.searchModeSwitcher?.updateSearchIcon();
|
||||
}
|
||||
-
|
||||
|
||||
+ const zenToolbox = this.document.getElementById("navigator-toolbox");
|
||||
+ this.window.document.documentElement.setAttribute("supress-primary-adjustment", !(
|
||||
+ zenToolbox.hasAttribute("zen-has-hover") ||
|
||||
@@ -56,13 +55,13 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
+ zenToolbox.hasAttribute("zen-user-show")
|
||||
+ ));
|
||||
this.handleNavigation({ event });
|
||||
+ this.document.ownerGlobal.setTimeout(() => {
|
||||
+ this.document.documentGlobal.setTimeout(() => {
|
||||
+ this.window.document.documentElement.removeAttribute("supress-primary-adjustment");
|
||||
+ }, 100);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1551,7 +1579,11 @@ ${
|
||||
@@ -1627,7 +1656,11 @@ ${
|
||||
}
|
||||
|
||||
if (!this.#providesSearchMode(result)) {
|
||||
@@ -75,7 +74,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
}
|
||||
|
||||
if (isCanonized) {
|
||||
@@ -2858,6 +2890,42 @@ ${
|
||||
@@ -2936,6 +2969,42 @@ ${
|
||||
await this.#updateLayoutBreakoutDimensions();
|
||||
}
|
||||
|
||||
@@ -118,9 +117,9 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
startLayoutExtend() {
|
||||
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
||||
// Do not expand if the Urlbar does not support being expanded or it is
|
||||
@@ -2872,6 +2940,13 @@ ${
|
||||
@@ -2954,6 +3023,13 @@ ${
|
||||
|
||||
this.setAttribute("breakout-extend", "true");
|
||||
this.toggleAttribute("breakout-extend", true);
|
||||
|
||||
+ this.window.gZenUIManager.onUrlbarOpen();
|
||||
+ if (this.zenUrlbarBehavior == 'float' || (this.zenUrlbarBehavior == 'floating-on-type' && !this.focusedViaMousedown)) {
|
||||
@@ -132,7 +131,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
// 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")) {
|
||||
@@ -2891,6 +2966,29 @@ ${
|
||||
@@ -2981,6 +3057,29 @@ ${
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -153,16 +152,16 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
+ zenToolbox.hasAttribute("zen-user-show")
|
||||
+ ));
|
||||
+ this.window.gBrowser.selectedBrowser.focus();
|
||||
+ this.document.ownerGlobal.setTimeout(() => {
|
||||
+ this.document.documentGlobal.setTimeout(() => {
|
||||
+ this.window.document.documentElement.removeAttribute("supress-primary-adjustment");
|
||||
+ }, 100);
|
||||
+ this.window.gZenUIManager.onUrlbarClose();
|
||||
+ this.removeAttribute("zen-floating-urlbar");
|
||||
+
|
||||
this.removeAttribute("breakout-extend");
|
||||
this.toggleAttribute("breakout-extend", false);
|
||||
this.#updateTextboxPosition();
|
||||
}
|
||||
@@ -2921,7 +3019,7 @@ ${
|
||||
@@ -3028,7 +3127,7 @@ ${
|
||||
forceUnifiedSearchButtonAvailable = false
|
||||
) {
|
||||
let prevState = this.getAttribute("pageproxystate");
|
||||
@@ -171,9 +170,9 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
this.setAttribute("pageproxystate", state);
|
||||
this._inputContainer.setAttribute("pageproxystate", state);
|
||||
this._identityBox?.setAttribute("pageproxystate", state);
|
||||
@@ -3198,10 +3296,12 @@ ${
|
||||
return;
|
||||
@@ -3309,10 +3408,12 @@ ${
|
||||
}
|
||||
|
||||
this.style.top = px(
|
||||
+ this.window.gZenVerticalTabsManager._hasSetSingleToolbar ?
|
||||
this.parentNode.getBoxQuads({
|
||||
@@ -184,7 +183,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
);
|
||||
}
|
||||
|
||||
@@ -3260,9 +3360,10 @@ ${
|
||||
@@ -3371,9 +3472,10 @@ ${
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -196,7 +195,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
);
|
||||
this.style.setProperty(
|
||||
"--urlbar-height",
|
||||
@@ -3768,6 +3869,7 @@ ${
|
||||
@@ -3878,6 +3980,7 @@ ${
|
||||
}
|
||||
|
||||
_toggleActionOverride(event) {
|
||||
@@ -204,7 +203,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (
|
||||
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
||||
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
||||
@@ -3880,8 +3982,8 @@ ${
|
||||
@@ -3990,8 +4093,8 @@ ${
|
||||
if (!this.#isAddressbar) {
|
||||
return val;
|
||||
}
|
||||
@@ -215,7 +214,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
: val;
|
||||
// Only trim value if the directionality doesn't change to RTL and we're not
|
||||
// showing a strikeout https protocol.
|
||||
@@ -4180,6 +4282,7 @@ ${
|
||||
@@ -4290,6 +4393,7 @@ ${
|
||||
resultDetails = null,
|
||||
browser = this.window.gBrowser.selectedBrowser
|
||||
) {
|
||||
@@ -223,7 +222,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (this.#isAddressbar) {
|
||||
this.#prepareAddressbarLoad(
|
||||
url,
|
||||
@@ -4291,6 +4394,10 @@ ${
|
||||
@@ -4401,6 +4505,10 @@ ${
|
||||
}
|
||||
reuseEmpty = true;
|
||||
}
|
||||
@@ -234,7 +233,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (
|
||||
where == "tab" &&
|
||||
reuseEmpty &&
|
||||
@@ -4298,6 +4405,9 @@ ${
|
||||
@@ -4408,6 +4516,9 @@ ${
|
||||
) {
|
||||
where = "current";
|
||||
}
|
||||
@@ -244,7 +243,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
return where;
|
||||
}
|
||||
|
||||
@@ -4552,6 +4662,7 @@ ${
|
||||
@@ -4662,6 +4773,7 @@ ${
|
||||
this.setResultForCurrentValue(null);
|
||||
this.handleCommand();
|
||||
this.controller.clearLastQueryContextCache();
|
||||
@@ -252,7 +251,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
|
||||
this._suppressStartQuery = false;
|
||||
});
|
||||
@@ -4559,7 +4670,6 @@ ${
|
||||
@@ -4669,7 +4781,6 @@ ${
|
||||
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.
|
||||
@@ -260,7 +259,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
|
||||
let controller =
|
||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||
@@ -4715,7 +4825,11 @@ ${
|
||||
@@ -4825,7 +4936,11 @@ ${
|
||||
if (!engineName && !source && !this.hasAttribute("searchmode")) {
|
||||
return;
|
||||
}
|
||||
@@ -273,7 +272,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (this._searchModeIndicatorTitle) {
|
||||
this._searchModeIndicatorTitle.textContent = "";
|
||||
this._searchModeIndicatorTitle.removeAttribute("data-l10n-id");
|
||||
@@ -5031,6 +5145,7 @@ ${
|
||||
@@ -5141,6 +5256,7 @@ ${
|
||||
|
||||
this.document.l10n.setAttributes(
|
||||
this.inputField,
|
||||
@@ -281,7 +280,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
l10nId,
|
||||
l10nId == "urlbar-placeholder-with-name"
|
||||
? { name: engineName }
|
||||
@@ -5156,6 +5271,11 @@ ${
|
||||
@@ -5264,6 +5380,11 @@ ${
|
||||
}
|
||||
|
||||
_on_click(event) {
|
||||
@@ -293,7 +292,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
switch (event.target) {
|
||||
case this.inputField:
|
||||
case this._inputContainer:
|
||||
@@ -5242,7 +5362,7 @@ ${
|
||||
@@ -5356,7 +5477,7 @@ ${
|
||||
}
|
||||
}
|
||||
|
||||
@@ -302,7 +301,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
this.view.autoOpen({ event });
|
||||
} else {
|
||||
if (this._untrimOnFocusAfterKeydown) {
|
||||
@@ -5282,9 +5402,16 @@ ${
|
||||
@@ -5396,9 +5517,16 @@ ${
|
||||
}
|
||||
|
||||
_on_mousedown(event) {
|
||||
@@ -320,7 +319,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
if (
|
||||
event.composedTarget != this.inputField &&
|
||||
event.composedTarget != this._inputContainer
|
||||
@@ -5294,6 +5421,10 @@ ${
|
||||
@@ -5408,6 +5536,10 @@ ${
|
||||
|
||||
this.focusedViaMousedown = !this.focused;
|
||||
this.#preventClickSelectsAll = this.focused;
|
||||
@@ -331,7 +330,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
|
||||
// Keep the focus status, since the attribute may be changed
|
||||
// upon calling this.focus().
|
||||
@@ -5329,7 +5460,7 @@ ${
|
||||
@@ -5443,7 +5575,7 @@ ${
|
||||
}
|
||||
// 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.
|
||||
@@ -340,7 +339,7 @@ index d6615ec5a29f3e3327ac4171f3fc5d9a69bd09fe..c166b7de23c35716bf8c51b6b9c72f77
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -5636,7 +5767,7 @@ ${
|
||||
@@ -5732,7 +5864,7 @@ ${
|
||||
// When we are in actions search mode we can show more results so
|
||||
// increase the limit.
|
||||
let maxResults =
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||
index edb61ebece92f53d6edc8522c0dfea01159121dc..fd57751828254ebf9b05af13c26afa55ffa7ed00 100644
|
||||
index d88bc01e9a085f2970f4a80bdce94e06d8dcb693..a3dc7795deda5df2a354803a338c63e85a424bc0 100644
|
||||
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||
@@ -347,7 +347,7 @@ export const PREFS_CONFIG = new Map([
|
||||
@@ -353,7 +353,7 @@ export const PREFS_CONFIG = new Map([
|
||||
"showSponsoredTopSites",
|
||||
{
|
||||
title: "Show sponsored top sites",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
index 36eafe35063f02fe3d4acaab24a08dc1b7b0ae24..b6bf327bf286de5246e5c50d89519d16d5771caf 100644
|
||||
index 83e52b260c380b8a4fdcb9146c36a048adffba68..f55844c294bc0a0e648fd6fc09f63218c9b71de2 100644
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -386,9 +386,9 @@ bin/libfreebl_64int_3.so
|
||||
@@ -390,9 +390,9 @@ bin/libfreebl_64int_3.so
|
||||
;
|
||||
#ifdef MOZ_CRASHREPORTER
|
||||
#ifdef XP_MACOSX
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi
|
||||
index 36fbee18edd138036c23ee77806f47cd10efce55..f70893700c54bdbc6d6fc5b760fd9a3654eb39e7 100755
|
||||
index 785e5ccfba55a98390652a61be9dbdef1e4815eb..cba2c3bb3b2e5bcbe8ba58a40bc9bc145df81fdd 100755
|
||||
--- a/browser/installer/windows/nsis/installer.nsi
|
||||
+++ b/browser/installer/windows/nsis/installer.nsi
|
||||
@@ -845,7 +845,7 @@ Section "-InstallEndCleanup"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff --git a/browser/installer/windows/nsis/uninstaller.nsi b/browser/installer/windows/nsis/uninstaller.nsi
|
||||
old mode 100755
|
||||
new mode 100644
|
||||
index 0e2f7fa874b865b2a354c5ca612c5714f6ac5b69..0b1182279336972705bc3ff47e69353b997eb1bd
|
||||
index becbb0f70c84eb7f2d9bff5a3aedcbb7a78a61cf..05835d2088ab631316a25a9f0728898bd7998d8d
|
||||
--- a/browser/installer/windows/nsis/uninstaller.nsi
|
||||
+++ b/browser/installer/windows/nsis/uninstaller.nsi
|
||||
@@ -516,6 +516,7 @@ Section "Uninstall"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/modules/BrowserWindowTracker.sys.mjs b/browser/modules/BrowserWindowTracker.sys.mjs
|
||||
index 9aecab66d8f23fac9f16cea2120a5fe903ae1122..692f2bfe3899a58925789503a6bb2a547cdbf7f3 100644
|
||||
index 7e2f1d2b9ca10bd48fa1a0cd1f175a99b4169b90..505d6fc5110b99c73a0054abbe098c154227cf50 100644
|
||||
--- a/browser/modules/BrowserWindowTracker.sys.mjs
|
||||
+++ b/browser/modules/BrowserWindowTracker.sys.mjs
|
||||
@@ -330,6 +330,7 @@ export const BrowserWindowTracker = {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/modules/ExtensionsUI.sys.mjs b/browser/modules/ExtensionsUI.sys.mjs
|
||||
index 5251697341bf94f3ca6c877d87a6fe5f4debf03a..71d9247a669cea2135e6f0b76b2c10a869bf35bc 100644
|
||||
index 95a4b6e40bd568c3ea5003b648b0acbf96bbb725..6ab8a658721aa6470d482dc958e4b3ac78f49f44 100644
|
||||
--- a/browser/modules/ExtensionsUI.sys.mjs
|
||||
+++ b/browser/modules/ExtensionsUI.sys.mjs
|
||||
@@ -500,7 +500,7 @@ export var ExtensionsUI = {
|
||||
@@ -502,7 +502,7 @@ export var ExtensionsUI = {
|
||||
eventCallback,
|
||||
removeOnDismissal: true,
|
||||
popupOptions: {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/modules/URILoadingHelper.sys.mjs b/browser/modules/URILoadingHelper.sys.mjs
|
||||
index bd2e54e914b171df9b8bcc7dcbc2388e9641f6c6..8b3cb6542bea3fb89e47adc93cb13f94447450e2 100644
|
||||
index b60820ef0cc62c27a8bab127218d625012153791..04cdd58ed4426af802f2868310140a8a33ec092b 100644
|
||||
--- a/browser/modules/URILoadingHelper.sys.mjs
|
||||
+++ b/browser/modules/URILoadingHelper.sys.mjs
|
||||
@@ -228,6 +228,7 @@ function openInWindow(url, params, sourceWindow) {
|
||||
@@ -231,6 +231,7 @@ function openInWindow(url, params, sourceWindow) {
|
||||
features,
|
||||
sa
|
||||
);
|
||||
@@ -10,7 +10,7 @@ index bd2e54e914b171df9b8bcc7dcbc2388e9641f6c6..8b3cb6542bea3fb89e47adc93cb13f94
|
||||
}
|
||||
|
||||
function openInCurrentTab(targetBrowser, url, uriObj, params) {
|
||||
@@ -545,7 +546,7 @@ export const URILoadingHelper = {
|
||||
@@ -548,7 +549,7 @@ export const URILoadingHelper = {
|
||||
// page. If a load request bounces off for the currently selected tab,
|
||||
// we'll open a new tab instead.
|
||||
let tab = w.gBrowser.getTabForBrowser(targetBrowser);
|
||||
@@ -19,7 +19,7 @@ index bd2e54e914b171df9b8bcc7dcbc2388e9641f6c6..8b3cb6542bea3fb89e47adc93cb13f94
|
||||
where = "tab";
|
||||
targetBrowser = null;
|
||||
} else if (
|
||||
@@ -978,7 +979,7 @@ export const URILoadingHelper = {
|
||||
@@ -981,7 +982,7 @@ export const URILoadingHelper = {
|
||||
ignoreQueryString || replaceQueryString,
|
||||
ignoreFragmentWhenComparing
|
||||
);
|
||||
@@ -28,9 +28,9 @@ index bd2e54e914b171df9b8bcc7dcbc2388e9641f6c6..8b3cb6542bea3fb89e47adc93cb13f94
|
||||
for (let i = 0; i < browsers.length; i++) {
|
||||
let browser = browsers[i];
|
||||
let browserCompare = cleanURL(
|
||||
@@ -1034,7 +1035,7 @@ export const URILoadingHelper = {
|
||||
@@ -1037,7 +1038,7 @@ export const URILoadingHelper = {
|
||||
}
|
||||
aSplitView.ownerGlobal.focus();
|
||||
aSplitView.documentGlobal.focus();
|
||||
} else {
|
||||
- aWindow.gBrowser.tabContainer.selectedIndex = i;
|
||||
+ aWindow.gZenWorkspaces.switchIfNeeded(browser);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
|
||||
index a99181fc249a7086e9886d86d85e8650595a0a0c..dd59739078080738d28bf59a1bb26fc0783bcac6 100644
|
||||
index 5e5d39787674d1d5ac8c39edccb04f8b8993fbb8..6c8b483ad19d9b26232592c68a7f2a6887161057 100644
|
||||
--- a/browser/themes/linux/browser.css
|
||||
+++ b/browser/themes/linux/browser.css
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
|
||||
index 92162e2893f7c8aea92c354f3a12cccf48f7576e..3189d75c8e47f3f76ddc1227d3cffee6b09402eb 100644
|
||||
index 486e269838d07f9c1c7bef3601900f0538cfe73b..b41da95b6ea96ccf3bb4f536f4444e3b47702544 100644
|
||||
--- a/browser/themes/osx/browser.css
|
||||
+++ b/browser/themes/osx/browser.css
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
|
||||
index 70571d8f32d60d10e59e33cb83e38229de026fc6..8e420ed6f6838499553c55265a1e35f5c3801d35 100644
|
||||
index 2287d8f9fd5a86be00a0e9d7635a119fca446f50..7870cd7a15688e6046e586ec91861439c4182933 100644
|
||||
--- a/browser/themes/shared/browser-shared.css
|
||||
+++ b/browser/themes/shared/browser-shared.css
|
||||
@@ -253,13 +253,13 @@ body {
|
||||
@@ -347,13 +347,13 @@ body {
|
||||
|
||||
@media (-moz-platform: macos) and (not (-moz-mac-rtl)) {
|
||||
&:-moz-locale-dir(ltr) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
|
||||
index 72b6673094b80e9c109ae6f125cd25c3e00260ef..d116ab9671b02bbb05eddec8318e1f2835c29f32 100644
|
||||
index f239438ce661ae2c33a3e04ecc6d403b3a56a42b..c3a237aa78cff7aaaf0a7b931dd2b4d99049c051 100644
|
||||
--- a/browser/themes/shared/identity-block/identity-block.css
|
||||
+++ b/browser/themes/shared/identity-block/identity-block.css
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
||||
index e59fb7f095161348e442626997bbb6dc4e1e999e..488c540b07e5ce73048cebec0d75dd33f9dcabd4 100644
|
||||
index e3bdc11e449fb2cd2a4033a1d8c1bba00455e748..f928bc1a3a668dcc1a9ecde9945c6349e5903828 100644
|
||||
--- a/browser/themes/shared/jar.inc.mn
|
||||
+++ b/browser/themes/shared/jar.inc.mn
|
||||
@@ -343,3 +343,5 @@
|
||||
@@ -352,3 +352,5 @@
|
||||
|
||||
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
|
||||
skin/classic/browser/illustrations/yelpRealtime-opt-in.svg (../shared/illustrations/yelpRealtime-opt-in.svg)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
||||
index 05c1261f0085794e5e81dc8c1ef24fe1a9c5ec82..d0a1938b629338184bc462b4da1e10e1a4d6a4e7 100644
|
||||
index dff8162a84dbbe6873fa771828698b47b80d0472..e0c378af7a5cc607c2de1c9b5693adb04ac6adbd 100644
|
||||
--- a/browser/themes/shared/tabbrowser/content-area.css
|
||||
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
||||
@@ -85,7 +85,6 @@
|
||||
@@ -171,7 +171,6 @@
|
||||
min-height: 0;
|
||||
|
||||
/* We want to be able to show the frame color behind the clipped radiused corner */
|
||||
@@ -10,7 +10,7 @@ index 05c1261f0085794e5e81dc8c1ef24fe1a9c5ec82..d0a1938b629338184bc462b4da1e10e1
|
||||
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("sidebar.revamp") {
|
||||
@@ -146,7 +145,6 @@
|
||||
@@ -235,7 +234,6 @@
|
||||
}
|
||||
|
||||
browser:is([blank], [pendingpaint]) {
|
||||
@@ -18,7 +18,7 @@ index 05c1261f0085794e5e81dc8c1ef24fe1a9c5ec82..d0a1938b629338184bc462b4da1e10e1
|
||||
}
|
||||
|
||||
/* Exclude browsers with smartwindow-content attribute which inherit
|
||||
@@ -440,7 +438,7 @@ split-view-footer {
|
||||
@@ -555,7 +553,7 @@ split-view-footer {
|
||||
|
||||
.dialogStack {
|
||||
z-index: var(--browser-stack-z-index-dialog-stack);
|
||||
@@ -27,7 +27,7 @@ index 05c1261f0085794e5e81dc8c1ef24fe1a9c5ec82..d0a1938b629338184bc462b4da1e10e1
|
||||
inset: 0;
|
||||
/* --browser-with-dialog set on browser[tabDialogShowing], we want to position the overlay
|
||||
only on the top of the <browser> element so it doesn't overlap the DevTools toolbox */
|
||||
@@ -607,7 +605,7 @@ split-view-footer {
|
||||
@@ -722,7 +720,7 @@ split-view-footer {
|
||||
|
||||
.dialogOverlay[topmost="true"],
|
||||
#window-modal-dialog::backdrop {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/ctrlTab.css b/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||
index d016bb363f306d7f6b08554f5029d425c01ca358..0f8e4d0a1aa2f9958124ea75423f83eb6ef35afe 100644
|
||||
index ad4819fec3fc71c15db0952957ec17dc5cb82e98..9fa29871afb967af3012e6c52d766f1134eab765 100644
|
||||
--- a/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||
+++ b/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||
index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22c000e105 100644
|
||||
index b70af17781a4128593e3c092cf0f6aec81ab5f9a..1c11c2bf9dcde9d468959e9115a48cf272870987 100644
|
||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||
@@ -25,7 +25,7 @@
|
||||
@@ -34,7 +34,7 @@
|
||||
--tab-group-line-thickness: 2px;
|
||||
--tab-group-line-toolbar-border-distance: 1px;
|
||||
/* Collapsed tabs should be square, so set width to match the min height */
|
||||
@@ -11,15 +11,15 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||
--tab-pinned-min-width-expanded: calc(var(--tab-pinned-expanded-background-width) + 2 * var(--tab-pinned-margin-inline-expanded));
|
||||
--tab-note-icon-end-margin: var(--dimension-4);
|
||||
@@ -276,7 +276,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -285,7 +285,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
||||
- padding: 0 10px;
|
||||
- padding: 0 calc((var(--tab-min-height) - var(--icon-size)) / 2);
|
||||
}
|
||||
|
||||
&:is([selected], [multiselected]) {
|
||||
@@ -290,6 +289,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -299,6 +298,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
border-radius: inherit;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
@@ -27,7 +27,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
|
||||
&::before {
|
||||
position: absolute;
|
||||
@@ -489,10 +489,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -498,10 +498,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.tabs.fadeOutUnloadedTabs") {
|
||||
&[pending] {
|
||||
@@ -38,7 +38,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
opacity: 0.5;
|
||||
/* Fade the favicon out */
|
||||
transition-property: filter, opacity;
|
||||
@@ -509,10 +505,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -518,10 +514,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
||||
&[pending][discarded] {
|
||||
@@ -49,8 +49,8 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
opacity: 0.5;
|
||||
/* Fade the favicon out */
|
||||
transition-property: filter, opacity;
|
||||
@@ -581,7 +573,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
z-index: 1; /* Overlay tab title */
|
||||
@@ -596,7 +588,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"] & {
|
||||
- top: 7px;
|
||||
@@ -58,7 +58,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
}
|
||||
|
||||
&[crashed] {
|
||||
@@ -589,7 +581,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -604,7 +596,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
||||
@@ -67,7 +67,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
&[soundplaying] {
|
||||
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
||||
}
|
||||
@@ -644,7 +636,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -661,7 +653,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
&[crashed] {
|
||||
display: revert;
|
||||
}
|
||||
@@ -810,7 +802,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -829,7 +821,7 @@ tab-split-view-wrapper[dragtarget] {
|
||||
has not been added to root. There are certain scenarios when that attribute is temporarily
|
||||
removed from root such as when toggling the sidebar to expand with the toolbar button. */
|
||||
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
||||
@@ -85,7 +85,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
||||
display: flex;
|
||||
}
|
||||
@@ -1026,7 +1018,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
@@ -1053,7 +1045,6 @@ tab-split-view-wrapper[dragtarget] {
|
||||
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]),
|
||||
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]),
|
||||
#tabbrowser-tabs[orient="vertical"] .tabbrowser-tab > .tab-stack > .tab-content[titlechanged]:not([selected]) {
|
||||
@@ -93,7 +93,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
background-position: center bottom 6.5px;
|
||||
background-size: 4px 4px;
|
||||
background-repeat: no-repeat;
|
||||
@@ -1635,7 +1626,7 @@ tab-group {
|
||||
@@ -1813,7 +1804,7 @@ tab-group {
|
||||
}
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"][expanded] {
|
||||
@@ -102,7 +102,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
|
||||
margin-inline-start: var(--space-medium);
|
||||
}
|
||||
@@ -2128,7 +2119,7 @@ tab-group {
|
||||
@@ -2378,7 +2369,7 @@ tab-group {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
#vertical-tabs-newtab-button {
|
||||
appearance: none;
|
||||
min-height: var(--tab-min-height);
|
||||
@@ -2139,7 +2130,7 @@ tab-group {
|
||||
@@ -2389,7 +2380,7 @@ tab-group {
|
||||
margin-inline: var(--tab-inner-inline-margin);
|
||||
|
||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
||||
@@ -120,7 +120,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
}
|
||||
|
||||
&:hover {
|
||||
@@ -2163,7 +2154,7 @@ tab-group {
|
||||
@@ -2413,7 +2404,7 @@ tab-group {
|
||||
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
||||
* we don't want a gap (between tabs), so we have to add some margin.
|
||||
*/
|
||||
@@ -129,7 +129,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
margin-block: var(--tab-block-margin);
|
||||
}
|
||||
|
||||
@@ -2351,7 +2342,6 @@ tab-group {
|
||||
@@ -2610,7 +2601,6 @@ tab-group {
|
||||
|
||||
&:not([expanded]) {
|
||||
.tabbrowser-tab[pinned] {
|
||||
@@ -137,7 +137,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
}
|
||||
|
||||
.tab-background {
|
||||
@@ -2391,8 +2381,8 @@ tab-group {
|
||||
@@ -2651,8 +2641,8 @@ tab-group {
|
||||
display: block;
|
||||
position: absolute;
|
||||
inset: auto;
|
||||
@@ -148,7 +148,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
|
||||
&:-moz-window-inactive {
|
||||
background-image:
|
||||
@@ -2480,9 +2470,6 @@ tab-group {
|
||||
@@ -2753,9 +2743,6 @@ tab-group {
|
||||
~ #tabbrowser-tabs[orient="horizontal"]::before {
|
||||
display: flex;
|
||||
content: "";
|
||||
@@ -158,7 +158,7 @@ index 2ce8b135dcf087a2e2cb75c3417be8c9ba4178e6..3c297614afd323e210ebf0018d4aca22
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2515,7 +2502,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||
@@ -2788,7 +2775,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,59 +1,59 @@
|
||||
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
|
||||
index 829501008d7b6fd6bddf899f3cf599a68ff216a0..cbdc770d56c4053d0b9afc13322f072c3376eb30 100644
|
||||
index 94b1a2a841d8fd47a491616d52e5bf544f0c0bf9..9e98266b98c6b66fed26fec12fa3391fc5fcc79b 100644
|
||||
--- a/browser/themes/shared/toolbarbuttons.css
|
||||
+++ b/browser/themes/shared/toolbarbuttons.css
|
||||
@@ -13,20 +13,6 @@
|
||||
--toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-touch);
|
||||
--toolbarbutton-padding-inner: var(--toolbarbutton-padding-inner-touch);
|
||||
--bookmark-block-padding: 7px;
|
||||
}
|
||||
- @media (width <= 900px) {
|
||||
- --toolbarbutton-outer-padding: var(--toolbarbutton-outer-padding-narrow);
|
||||
- --toolbarbutton-padding-outer: var(--toolbarbutton-padding-outer-narrow);
|
||||
- }
|
||||
- @media (width <= 800px) {
|
||||
- --toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-narrow);
|
||||
- --toolbarbutton-padding-inner: var(--toolbarbutton-padding-inner-narrow);
|
||||
- &:where([uidensity="touch"]) {
|
||||
- --toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-touch-narrow);
|
||||
- --toolbarbutton-padding-inner: var(--toolbarbutton-padding-inner-touch-narrow);
|
||||
- }
|
||||
- }
|
||||
- /* 700px is just above half of the popular 1366px screen width, so two browser
|
||||
- windows put next to each other will be below this threshold. */
|
||||
- @media (width <= 700px) {
|
||||
- --toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-compact);
|
||||
- --toolbarbutton-padding-inner: var(--toolbarbutton-padding-inner-compact);
|
||||
- }
|
||||
&:where([uidensity="compact"]) {
|
||||
--toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding-compact);
|
||||
--toolbarbutton-padding-inner: var(--toolbarbutton-padding-inner-compact);
|
||||
--bookmark-block-padding: 1px;
|
||||
@@ -123,9 +109,7 @@
|
||||
#TabsToolbar {
|
||||
/* Override the inner padding to ensure the dimensions match the tabs, but also making sure
|
||||
different types of buttons (combined-buttons-dropmarker or text) still look correct. */
|
||||
- @media (width > 900px) {
|
||||
--toolbarbutton-inner-padding: calc((var(--tab-min-height) - 16px) / 2);
|
||||
--toolbarbutton-padding-inner: calc((var(--tab-min-height) - 16px) / 2);
|
||||
- }
|
||||
}
|
||||
|
||||
/* Primary toolbar buttons */
|
||||
@@ -204,8 +188,8 @@ toolbar .toolbarbutton-1 {
|
||||
@@ -205,8 +189,8 @@ toolbar .toolbarbutton-1 {
|
||||
|
||||
> .toolbarbutton-icon {
|
||||
/* horizontal padding + actual icon width */
|
||||
- width: calc(2 * var(--toolbarbutton-inner-padding) + 16px);
|
||||
- height: calc(2 * var(--toolbarbutton-inner-padding) + 16px);
|
||||
+ width: calc(2 * var(--toolbarbutton-inner-padding) + var(--zen-toolbar-button-size, 16px));
|
||||
+ height: calc(2 * var(--toolbarbutton-inner-padding) + var(--zen-toolbar-button-size, 16px));
|
||||
- width: calc(2 * var(--toolbarbutton-padding-inner) + 16px);
|
||||
- height: calc(2 * var(--toolbarbutton-padding-inner) + 16px);
|
||||
+ width: calc(2 * var(--toolbarbutton-padding-inner) + var(--zen-toolbar-button-size, 16px));
|
||||
+ height: calc(2 * var(--toolbarbutton-padding-inner) + var(--zen-toolbar-button-size, 16px));
|
||||
}
|
||||
|
||||
> .toolbarbutton-text {
|
||||
@@ -215,7 +199,7 @@ toolbar .toolbarbutton-1 {
|
||||
@@ -216,7 +200,7 @@ toolbar .toolbarbutton-1 {
|
||||
* height as the button icons and the same vertical padding, but as a minimum,
|
||||
* because otherwise an increase in text sizes would break things.
|
||||
*/
|
||||
- min-height: calc(16px + 2 * var(--toolbarbutton-inner-padding));
|
||||
+ min-height: calc(var(--zen-toolbar-button-size, 16px) + 2 * var(--toolbarbutton-inner-padding));
|
||||
- min-height: calc(16px + 2 * var(--toolbarbutton-padding-inner));
|
||||
+ min-height: calc(var(--zen-toolbar-button-size, 16px) + 2 * var(--toolbarbutton-padding-inner));
|
||||
|
||||
@media (-moz-platform: macos) {
|
||||
padding-top: calc(var(--toolbarbutton-inner-padding) + 1px);
|
||||
@@ -325,7 +309,7 @@ toolbar .toolbaritem-combined-buttons {
|
||||
padding-top: calc(var(--toolbarbutton-padding-inner) + 1px);
|
||||
@@ -326,7 +310,7 @@ toolbar .toolbaritem-combined-buttons {
|
||||
#nav-bar-overflow-button {
|
||||
list-style-image: url("chrome://global/skin/icons/chevron.svg");
|
||||
|
||||
@@ -62,7 +62,7 @@ index 829501008d7b6fd6bddf899f3cf599a68ff216a0..cbdc770d56c4053d0b9afc13322f072c
|
||||
display: none;
|
||||
}
|
||||
|
||||
@@ -535,7 +519,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
|
||||
@@ -536,7 +520,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
|
||||
*/
|
||||
align-items: stretch;
|
||||
> .toolbarbutton-icon {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
|
||||
index 3f46c918e125f9531a536a09358c980b2c923864..cba6f00318ce5dc7b6717b6c9afd2ee916715f8f 100644
|
||||
index cbd074b9bacfbf7cc82a67ad586ebc31c4d85970..993c61ba389cb9d912b2cebee9d71bec772e3a7d 100644
|
||||
--- a/browser/themes/shared/urlbar-searchbar.css
|
||||
+++ b/browser/themes/shared/urlbar-searchbar.css
|
||||
@@ -11,7 +11,7 @@
|
||||
@@ -12,7 +12,7 @@
|
||||
/* Usually we wouldn't need snapping border widths manually, but we use this
|
||||
* for other layout calculations too */
|
||||
--urlbar-container-border-width: max(env(hairline), round(down, 1px, env(hairline)));
|
||||
@@ -11,7 +11,7 @@ index 3f46c918e125f9531a536a09358c980b2c923864..cba6f00318ce5dc7b6717b6c9afd2ee9
|
||||
--urlbar-container-inset: calc(var(--urlbar-container-border-width) + var(--urlbar-container-padding));
|
||||
|
||||
@media (max-width: 770px) {
|
||||
@@ -54,7 +54,7 @@ toolbar[inactive="true"] .urlbar,
|
||||
@@ -55,7 +55,7 @@ toolbar[inactive="true"] .urlbar,
|
||||
.urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
|
||||
.urlbar:not(#searchbar-new, [focused]) > .urlbar-input-container > .urlbar-go-button,
|
||||
#urlbar-revert-button-container {
|
||||
@@ -20,7 +20,7 @@ index 3f46c918e125f9531a536a09358c980b2c923864..cba6f00318ce5dc7b6717b6c9afd2ee9
|
||||
}
|
||||
|
||||
/* Document Picture-in-Picture API window */
|
||||
@@ -201,6 +201,10 @@ toolbar[inactive="true"] .urlbar,
|
||||
@@ -205,6 +205,10 @@ toolbar[inactive="true"] .urlbar,
|
||||
mask-image: linear-gradient(to right, transparent var(--urlbar-scheme-size), black calc(var(--urlbar-scheme-size) + 3ch));
|
||||
}
|
||||
|
||||
@@ -31,18 +31,18 @@ index 3f46c918e125f9531a536a09358c980b2c923864..cba6f00318ce5dc7b6717b6c9afd2ee9
|
||||
/* stylelint-disable-next-line media-query-no-invalid */
|
||||
@media -moz-pref("browser.nova.enabled") {
|
||||
&::selection {
|
||||
@@ -343,10 +347,14 @@ toolbar[inactive="true"] .urlbar,
|
||||
@@ -429,10 +433,14 @@ toolbar[inactive="true"] .urlbar,
|
||||
|
||||
.urlbar[breakout][breakout-extend] {
|
||||
height: auto;
|
||||
+ align-items: center;
|
||||
+ :root:not([zen-single-toolbar='true']) & {
|
||||
margin-left: calc(-1 * var(--urlbar-margin-inline));
|
||||
+ }
|
||||
width: calc(var(--urlbar-width) + 2 * var(--urlbar-margin-inline));
|
||||
|
||||
> .urlbar-input-container {
|
||||
.urlbar[breakout][breakout-extend] {
|
||||
height: auto;
|
||||
+ align-items: center;
|
||||
height: var(--urlbar-container-height);
|
||||
padding-block: calc((var(--urlbar-container-height) - var(--urlbar-height)) / 2 + var(--urlbar-container-padding));
|
||||
padding-inline: calc(var(--urlbar-margin-inline) + var(--urlbar-container-padding));
|
||||
+ :root:not([zen-single-toolbar='true']) & {
|
||||
margin-left: calc(-1 * var(--urlbar-margin-inline));
|
||||
+ }
|
||||
width: calc(var(--urlbar-width) + 2 * var(--urlbar-margin-inline));
|
||||
|
||||
> .urlbar-input-container {
|
||||
+ align-items: center;
|
||||
height: var(--urlbar-container-height);
|
||||
padding-block: calc((var(--urlbar-container-height) - var(--urlbar-height)) / 2 + var(--urlbar-container-padding));
|
||||
padding-inline: calc(var(--urlbar-margin-inline) + var(--urlbar-container-padding));
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/urlbar/variables.css b/browser/themes/shared/urlbar/variables.css
|
||||
index 34ab3df5ed433dafed00799c902afc276a722862..1e71860631f33839bdc7e1ec3a1e877bef744b55 100644
|
||||
index 64eb46b3061504e590d3fcee0c30c902f68764fe..6e7ffe043c5676da27a6eb5b105dac2fde3309da 100644
|
||||
--- a/browser/themes/shared/urlbar/variables.css
|
||||
+++ b/browser/themes/shared/urlbar/variables.css
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/shared/urlbar/view-proton.css b/browser/themes/shared/urlbar/view-proton.css
|
||||
index 9e041b67988f590bdbea48514937b1fa25c9785c..05507782b91858dff3e181843314af7956528ba9 100644
|
||||
index 0b10c077a555e5d0fc488a3bb1b1b920f433204c..38e9d14e9838f2b8de6f654ff4e0700bb65506f0 100644
|
||||
--- a/browser/themes/shared/urlbar/view-proton.css
|
||||
+++ b/browser/themes/shared/urlbar/view-proton.css
|
||||
@@ -14,7 +14,7 @@
|
||||
@@ -9,10 +9,10 @@ index 9e041b67988f590bdbea48514937b1fa25c9785c..05507782b91858dff3e181843314af79
|
||||
- --urlbarView-results-padding: 7px;
|
||||
+ --urlbarView-results-padding: 8px;
|
||||
--urlbarView-row-gutter: var(--space-xxsmall);
|
||||
--urlbarView-item-inline-padding: var(--urlbar-icon-padding);
|
||||
--urlbarView-item-block-padding: 6px;
|
||||
@@ -168,7 +168,6 @@
|
||||
min-height: 32px;
|
||||
--urlbarView-row-padding-inline: var(--urlbar-icon-padding);
|
||||
--urlbarView-row-padding-block: 6px;
|
||||
@@ -174,7 +174,6 @@
|
||||
min-height: var(--urlbarView-row-min-height);
|
||||
}
|
||||
:root[uidensity="touch"] & {
|
||||
- padding-block: 11px;
|
||||
|
||||
@@ -505,9 +505,9 @@
|
||||
}
|
||||
|
||||
#identity-permission-box,
|
||||
:root:not([zen-has-empty-tab="true"]) #urlbar:not([breakout-extend="true"]) #identity-icon-box:not([open]),
|
||||
:root:not([zen-has-empty-tab="true"]) #urlbar:not([breakout-extend]) #identity-icon-box:not([open]),
|
||||
:root[zen-has-empty-tab="true"] #zen-site-data-icon-button,
|
||||
#urlbar[breakout-extend="true"] #zen-site-data-icon-button {
|
||||
#urlbar[breakout-extend] #zen-site-data-icon-button {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
|
||||
index 039cd084f23ef27eb4a1d359c8caca690eb75eb5..432302ce8d29de1836aaf0a756b3aa0ebc86562a 100644
|
||||
index 7dcb386d38d25ee483f19322ea327b4dc6a244e0..c30a16e503224691572118efa0f1ff9e108895b3 100644
|
||||
--- a/browser/themes/windows/browser.css
|
||||
+++ b/browser/themes/windows/browser.css
|
||||
@@ -41,7 +41,6 @@
|
||||
@@ -10,7 +10,7 @@ index 039cd084f23ef27eb4a1d359c8caca690eb75eb5..432302ce8d29de1836aaf0a756b3aa0e
|
||||
}
|
||||
|
||||
/* Using a semitransparent background preserves the tinting from the backdrop.
|
||||
@@ -70,14 +69,13 @@
|
||||
@@ -73,14 +72,13 @@
|
||||
}
|
||||
|
||||
/* This is needed for Windows 10, see bug 1961257 */
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
diff --git a/devtools/startup/DevToolsStartup.sys.mjs b/devtools/startup/DevToolsStartup.sys.mjs
|
||||
index d604d0e00c623026928d72b1bcb1ce82e6bb6d4a..e3341c9ffc6db9b4bf360445ea031fc558e6076b 100644
|
||||
index ab008a13b4a6a31b18d5587e93e1ff589693cdac..946d1c70600fcfda5452d130dd1924c92d502562 100644
|
||||
--- a/devtools/startup/DevToolsStartup.sys.mjs
|
||||
+++ b/devtools/startup/DevToolsStartup.sys.mjs
|
||||
@@ -836,6 +836,9 @@ export class DevToolsStartup {
|
||||
// account (see bug 832984).
|
||||
const mainKeyset = doc.getElementById("mainKeyset");
|
||||
mainKeyset.parentNode.insertBefore(keyset, mainKeyset);
|
||||
+ mainKeyset.ownerGlobal.setTimeout(() => {
|
||||
+ mainKeyset.documentGlobal.setTimeout(() => {
|
||||
+ window.dispatchEvent(new window.Event("zen-devtools-keyset-added"));
|
||||
+ }, 0);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/docshell/base/BrowsingContext.h b/docshell/base/BrowsingContext.h
|
||||
index 4e20d7b602932621baf9082f6d28911701b7aa5b..d6e141b235ce60be5db86bc40578d0741b79b014 100644
|
||||
index 02abb6ab9562a7b41f4a95a6289c80da8d1176e8..1722802021f331338fc10c768301a953e582b711 100644
|
||||
--- a/docshell/base/BrowsingContext.h
|
||||
+++ b/docshell/base/BrowsingContext.h
|
||||
@@ -265,6 +265,9 @@ struct EmbedderColorSchemes {
|
||||
@@ -12,7 +12,7 @@ index 4e20d7b602932621baf9082f6d28911701b7aa5b..d6e141b235ce60be5db86bc40578d074
|
||||
/* Whether we can execute scripts in this BrowsingContext. Has no effect \
|
||||
* unless scripts are also allowed in the parent WindowContext. */ \
|
||||
FIELD(AllowJavascript, bool) \
|
||||
@@ -680,6 +683,11 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
@@ -671,6 +674,11 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
|
||||
bool FullscreenAllowed() const;
|
||||
|
||||
@@ -24,7 +24,7 @@ index 4e20d7b602932621baf9082f6d28911701b7aa5b..d6e141b235ce60be5db86bc40578d074
|
||||
float FullZoom() const { return GetFullZoom(); }
|
||||
float TextZoom() const { return GetTextZoom(); }
|
||||
|
||||
@@ -1284,6 +1292,9 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
@@ -1275,6 +1283,9 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache {
|
||||
}
|
||||
|
||||
void DidSet(FieldIndex<IDX_SessionStoreEpoch>, uint32_t aOldValue);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
|
||||
index f5dc958b940b806cc471760ce91a26b1111aafa5..d6841cbef64374d14bc2941651e33669c28e2958 100644
|
||||
index 328b7524810322561700347fa7f26403897635a8..58d33d68e050d11ea712413ad5c2170a112e404a 100644
|
||||
--- a/dom/base/Document.cpp
|
||||
+++ b/dom/base/Document.cpp
|
||||
@@ -465,6 +465,7 @@
|
||||
@@ -467,6 +467,7 @@
|
||||
#include "prtime.h"
|
||||
#include "prtypes.h"
|
||||
#include "xpcpublic.h"
|
||||
@@ -10,7 +10,7 @@ index f5dc958b940b806cc471760ce91a26b1111aafa5..d6841cbef64374d14bc2941651e33669
|
||||
|
||||
// clang-format off
|
||||
#include "mozilla/Encoding.h"
|
||||
@@ -3275,6 +3276,10 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||
@@ -3198,6 +3199,10 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||
for (StyleSheet* sheet : *sheetService->UserStyleSheets()) {
|
||||
styleSet.AppendStyleSheet(*sheet);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/dom/canvas/CanvasRenderingContext2D.cpp b/dom/canvas/CanvasRenderingContext2D.cpp
|
||||
index ca400d3aed179ebef8e005206f29b419ae56afc4..4d4e56f4a222bd61dea82638f3e0b30fbe56a176 100644
|
||||
index 9c0d63f030848d379a66b7229b8378b214796c25..9409764996ed58974d88de68bc37d3b9d081ed9e 100644
|
||||
--- a/dom/canvas/CanvasRenderingContext2D.cpp
|
||||
+++ b/dom/canvas/CanvasRenderingContext2D.cpp
|
||||
@@ -1326,7 +1326,8 @@ Maybe<nscolor> CanvasRenderingContext2D::ParseColor(
|
||||
@@ -1327,7 +1327,8 @@ Maybe<nscolor> CanvasRenderingContext2D::ParseColor(
|
||||
RefPtr<const ComputedStyle> canvasStyle =
|
||||
nsComputedDOMStyle::GetComputedStyle(mCanvasElement);
|
||||
if (canvasStyle) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/chrome-webidl/BrowsingContext.webidl b/dom/chrome-webidl/BrowsingContext.webidl
|
||||
index 43f28a6aad9d0dd3e3c908e8472244fc6aa32a74..a6d47522f89589c1e69a8e7570c17b7e05330bb6 100644
|
||||
index d0508a8c29e5bd008213f781beb8eb1fcb458fb8..31130786d4f8e22f2327162c001f786a198bf582 100644
|
||||
--- a/dom/chrome-webidl/BrowsingContext.webidl
|
||||
+++ b/dom/chrome-webidl/BrowsingContext.webidl
|
||||
@@ -179,6 +179,10 @@ interface BrowsingContext {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/chrome-webidl/MediaController.webidl b/dom/chrome-webidl/MediaController.webidl
|
||||
index eea39e9f70b1ba216dc5131bc3aa8b6ef46ca5ea..fd24ad430aeb64c4d622b3765af359579a903c40 100644
|
||||
index 6063e86e747dac87aafc865af95800daef2a5b9d..7fc4e72ee73a16b9ec2c1b9d11d926246fb7f7b6 100644
|
||||
--- a/dom/chrome-webidl/MediaController.webidl
|
||||
+++ b/dom/chrome-webidl/MediaController.webidl
|
||||
@@ -23,6 +23,12 @@ enum MediaControlKey {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/html/HTMLInputElement.cpp b/dom/html/HTMLInputElement.cpp
|
||||
index 3374a88b9335de1659df548fe8c18610f675b336..540f22697e7b85bca2fd6d3fe952ed3944216e17 100644
|
||||
index e3698a2cbcfd13ce6075e0a155c46191dfc15a57..99c46e11bb80224986c757ab9a9a7dca4d8982d5 100644
|
||||
--- a/dom/html/HTMLInputElement.cpp
|
||||
+++ b/dom/html/HTMLInputElement.cpp
|
||||
@@ -768,7 +768,7 @@ static void SerializeColorForHTMLCompatibility(const StyleAbsoluteColor& aColor,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/media/mediacontrol/MediaController.cpp b/dom/media/mediacontrol/MediaController.cpp
|
||||
index f28ec5e406bfeefd624c9538878d423e99b0df6a..afb60df8ddec86c0c83584b8325add8d1c373d0e 100644
|
||||
index e7fd71ac228370e4805f86d213e40c13e1520ad3..c82d485f1c30af1b4879c18fd4e33e0017cb6abc 100644
|
||||
--- a/dom/media/mediacontrol/MediaController.cpp
|
||||
+++ b/dom/media/mediacontrol/MediaController.cpp
|
||||
@@ -49,6 +49,25 @@ void MediaController::GetSupportedKeys(
|
||||
@@ -28,7 +28,7 @@ index f28ec5e406bfeefd624c9538878d423e99b0df6a..afb60df8ddec86c0c83584b8325add8d
|
||||
void MediaController::GetMetadata(MediaMetadataInit& aMetadata,
|
||||
ErrorResult& aRv) {
|
||||
if (!IsActive() || mShutdown) {
|
||||
@@ -435,6 +454,7 @@ void MediaController::SetIsInPictureInPictureMode(
|
||||
@@ -457,6 +476,7 @@ void MediaController::SetIsInPictureInPictureMode(
|
||||
ForceToBecomeMainControllerIfNeeded();
|
||||
UpdateDeactivationTimerIfNeeded();
|
||||
mPictureInPictureModeChangedEvent.Notify(mIsInPictureInPictureMode);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/media/mediacontrol/MediaController.h b/dom/media/mediacontrol/MediaController.h
|
||||
index ea05df396bcaa8f5e236105585c0a177496c8bd9..e064f279383004bdbdb030ecb23289a893c11a8c 100644
|
||||
index 101c952b23cb67b9fe911eefa3f78a88f5b6378c..e2c3d511f505bd9739bba7315f4f248effb77400 100644
|
||||
--- a/dom/media/mediacontrol/MediaController.h
|
||||
+++ b/dom/media/mediacontrol/MediaController.h
|
||||
@@ -91,6 +91,7 @@ class MediaController final : public DOMEventTargetHelper,
|
||||
@@ -9,4 +9,4 @@ index ea05df396bcaa8f5e236105585c0a177496c8bd9..e064f279383004bdbdb030ecb23289a8
|
||||
+ void GetPositionState(MediaControllerPositionState& aPositionState, ErrorResult& aRv);
|
||||
IMPL_EVENT_HANDLER(activated);
|
||||
IMPL_EVENT_HANDLER(deactivated);
|
||||
IMPL_EVENT_HANDLER(metadatachange);
|
||||
IMPL_EVENT_HANDLER(audiblechange);
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/dom/media/mediacontrol/MediaStatusManager.cpp b/dom/media/mediacontrol/MediaStatusManager.cpp
|
||||
index c1282b8b1d99327df972c8f0aa848816fcbc4b2b..acaaff389838886267f96993a7f0d27950f08624 100644
|
||||
index 9348a0b69e4d389b92931d46ba6c1849d6883450..920a0b2ebc7ac3c4ecd0245903ccb1d8d4258820 100644
|
||||
--- a/dom/media/mediacontrol/MediaStatusManager.cpp
|
||||
+++ b/dom/media/mediacontrol/MediaStatusManager.cpp
|
||||
@@ -427,7 +427,8 @@ void MediaStatusManager::UpdateGuessedPositionState(
|
||||
@@ -431,7 +431,8 @@ void MediaStatusManager::UpdateGuessedPositionState(
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/dom/media/mediaelement/HTMLMediaElement.cpp b/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||
index 6ea902b7423bb105f23c0cd2092c40938174e4a3..9a1fe4b3fabc23022bb17ffa801d48cd1e6a5b60 100644
|
||||
index b4ab1622d0e58781929aa6801dfd374f42567a7a..358f3d3cac3381ab9de3af65616095f69b9c7b23 100644
|
||||
--- a/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||
+++ b/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||
@@ -450,6 +450,7 @@ class HTMLMediaElement::MediaControlKeyListener final
|
||||
@@ -10,7 +10,7 @@ index 6ea902b7423bb105f23c0cd2092c40938174e4a3..9a1fe4b3fabc23022bb17ffa801d48cd
|
||||
NotifyAudibleStateChanged(mIsOwnerAudible
|
||||
? MediaAudibleState::eAudible
|
||||
: MediaAudibleState::eInaudible);
|
||||
@@ -7442,6 +7443,9 @@ void HTMLMediaElement::FireTimeUpdate(TimeupdateType aType) {
|
||||
@@ -7450,6 +7451,9 @@ void HTMLMediaElement::FireTimeUpdate(TimeupdateType aType) {
|
||||
QueueTask(std::move(runner));
|
||||
mQueueTimeUpdateRunnerTime = TimeStamp::Now();
|
||||
mLastCurrentTime = CurrentTime();
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/eslint-file-globals.config.mjs b/eslint-file-globals.config.mjs
|
||||
index c17a96adb86eff46c8dafc5cbef83eb10b5fbeeb..4d00012889a846fabfd9172fb05459318e4b4746 100644
|
||||
index bf1341a84382380d45b936aeffde3f167301a9ed..b6aa373252888dcdefd528a40329f1959086d8e5 100644
|
||||
--- a/eslint-file-globals.config.mjs
|
||||
+++ b/eslint-file-globals.config.mjs
|
||||
@@ -22,6 +22,7 @@
|
||||
@@ -10,7 +10,7 @@ index c17a96adb86eff46c8dafc5cbef83eb10b5fbeeb..4d00012889a846fabfd9172fb0545931
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -549,4 +550,9 @@ export default [
|
||||
@@ -550,4 +551,9 @@ export default [
|
||||
],
|
||||
languageOptions: { globals: globals.worker },
|
||||
},
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/eslint-test-paths.config.mjs b/eslint-test-paths.config.mjs
|
||||
index 7a87fec812ea8ddea5c10dca53af560e7dc6385b..2b943b031ebd30e06e2aa1043aed13c11bd10db1 100644
|
||||
index 0d3bd58e7fb9802223588a46fd83ae6b8e14837f..b8f91f6a6d52d58b47c7556650910f3ac0ec2842 100644
|
||||
--- a/eslint-test-paths.config.mjs
|
||||
+++ b/eslint-test-paths.config.mjs
|
||||
@@ -218,6 +218,7 @@ const extraBrowserTestPaths = [
|
||||
@@ -219,6 +219,7 @@ const extraBrowserTestPaths = [
|
||||
"toolkit/components/windowwatcher/test/",
|
||||
"toolkit/mozapps/extensions/test/xpinstall/",
|
||||
"uriloader/exthandler/tests/mochitest/",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user