mirror of
https://github.com/zen-browser/desktop.git
synced 2025-09-27 13:38:38 +00:00
chore: Update to Firefox 143.0
, c=l10n, common (#10304)
This commit is contained in:
@@ -35,7 +35,7 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne
|
|||||||
### Firefox Versions
|
### Firefox Versions
|
||||||
|
|
||||||
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `142.0.1`! 🚀
|
- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `142.0.1`! 🚀
|
||||||
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 142.0.1`!
|
- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 143.0`!
|
||||||
|
|
||||||
### Contributing
|
### Contributing
|
||||||
|
|
||||||
|
@@ -1 +1 @@
|
|||||||
df0d5e625b9e55c502d3e9e81b29a0d52d0f8d20
|
900c4f612d9432ae34a1a596a271fd2ce343dd18
|
@@ -29,6 +29,7 @@ finish-args:
|
|||||||
- --system-talk-name=org.freedesktop.NetworkManager
|
- --system-talk-name=org.freedesktop.NetworkManager
|
||||||
- --talk-name=org.a11y.Bus
|
- --talk-name=org.a11y.Bus
|
||||||
- --talk-name=org.gtk.vfs.*
|
- --talk-name=org.gtk.vfs.*
|
||||||
|
- --talk-name=org.freedesktop.Notifications
|
||||||
- --own-name=org.mpris.MediaPlayer2.firefox.*
|
- --own-name=org.mpris.MediaPlayer2.firefox.*
|
||||||
- --own-name=org.mozilla.zen.*
|
- --own-name=org.mozilla.zen.*
|
||||||
cleanup:
|
cleanup:
|
||||||
|
@@ -29,7 +29,8 @@
|
|||||||
"test:dbg": "python3 scripts/run_tests.py --jsdebugger --debug-on-failure",
|
"test:dbg": "python3 scripts/run_tests.py --jsdebugger --debug-on-failure",
|
||||||
"ffprefs": "cd tools/ffprefs && cargo run --bin ffprefs -- ../../",
|
"ffprefs": "cd tools/ffprefs && cargo run --bin ffprefs -- ../../",
|
||||||
"lc": "surfer license-check",
|
"lc": "surfer license-check",
|
||||||
"lc:fix": "surfer license-check --fix"
|
"lc:fix": "surfer license-check --fix",
|
||||||
|
"use-moz-src": "cd engine && ./mach use-moz-src"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@@ -76,3 +76,6 @@
|
|||||||
|
|
||||||
- name: browser.urlbar.scotchBonnet.enableOverride
|
- name: browser.urlbar.scotchBonnet.enableOverride
|
||||||
value: false
|
value: false
|
||||||
|
|
||||||
|
- name: browser.tabs.groups.hoverPreview.enabled
|
||||||
|
value: false
|
||||||
|
@@ -37,3 +37,7 @@
|
|||||||
|
|
||||||
- name: browser.newtabpage.activity-stream.showSponsoredCheckboxes
|
- name: browser.newtabpage.activity-stream.showSponsoredCheckboxes
|
||||||
value: false
|
value: false
|
||||||
|
|
||||||
|
- name: sidebar.verticalTabs.dragToPinPromo.dismissed
|
||||||
|
value: true
|
||||||
|
locked: true
|
||||||
|
@@ -10,21 +10,16 @@ IGNORE_FILES=(
|
|||||||
|
|
||||||
# Recursively find all .patch files in the current directory and its subdirectories
|
# Recursively find all .patch files in the current directory and its subdirectories
|
||||||
find src -type f -name "*.patch" | while read -r patch_file; do
|
find src -type f -name "*.patch" | while read -r patch_file; do
|
||||||
# Replace all - with . and remove the .patch extension
|
# Get the file from the inside of the file as indicated by the patch
|
||||||
new_file="${patch_file%/*}/$(basename "$patch_file" | sed 's/-/./' | sed 's/\.patch$//').patch"
|
target_file=$(grep -m 1 -oP '(?<=\+\+\+ b/).+' "$patch_file")
|
||||||
new_file="${new_file%.patch}"
|
if [[ -z "$target_file" ]]; then
|
||||||
new_file="${new_file#src/}"
|
echo "No target file found in patch: $patch_file"
|
||||||
|
continue
|
||||||
if [[ $new_file == *-mjs ]]; then
|
|
||||||
new_file="${new_file/-mjs/.mjs}"
|
|
||||||
fi
|
|
||||||
if [[ $new_file == *-ftl ]]; then
|
|
||||||
new_file="${new_file/-ftl/.ftl}"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
new_file_base=$(basename "$new_file")
|
new_file_base=$(basename "$target_file")
|
||||||
if [[ ! " ${IGNORE_FILES[@]} " =~ " ${new_file_base} " ]]; then
|
if [[ ! " ${IGNORE_FILES[@]} " =~ " ${new_file_base} " ]]; then
|
||||||
npm run export ${new_file}
|
npm run export ${target_file}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@@ -6,6 +6,13 @@ import os
|
|||||||
|
|
||||||
FILES = [
|
FILES = [
|
||||||
"index.d.ts",
|
"index.d.ts",
|
||||||
|
"lib.gecko.tweaks.d.ts",
|
||||||
|
"lib.gecko.xpidl.d.ts",
|
||||||
|
]
|
||||||
|
|
||||||
|
GENERATED_FILES = [
|
||||||
|
"lib.gecko.win32.d.ts",
|
||||||
|
"lib.gecko.xpcom.d.ts",
|
||||||
"lib.gecko.darwin.d.ts",
|
"lib.gecko.darwin.d.ts",
|
||||||
"lib.gecko.dom.d.ts",
|
"lib.gecko.dom.d.ts",
|
||||||
"lib.gecko.glean.d.ts",
|
"lib.gecko.glean.d.ts",
|
||||||
@@ -13,21 +20,21 @@ FILES = [
|
|||||||
"lib.gecko.modules.d.ts",
|
"lib.gecko.modules.d.ts",
|
||||||
"lib.gecko.nsresult.d.ts",
|
"lib.gecko.nsresult.d.ts",
|
||||||
"lib.gecko.services.d.ts",
|
"lib.gecko.services.d.ts",
|
||||||
"lib.gecko.tweaks.d.ts",
|
|
||||||
"lib.gecko.win32.d.ts",
|
|
||||||
"lib.gecko.xpcom.d.ts",
|
|
||||||
"lib.gecko.xpidl.d.ts",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
ENGINE_PATH = os.path.join("engine", "tools", "@types")
|
ENGINE_PATH = os.path.join("engine", "tools", "@types")
|
||||||
|
GENERATED_PATH = os.path.join(ENGINE_PATH, "generated")
|
||||||
SRC_PATH = os.path.join("src", "zen", "@types")
|
SRC_PATH = os.path.join("src", "zen", "@types")
|
||||||
|
|
||||||
|
|
||||||
def update_ts_types():
|
def update_ts_types():
|
||||||
os.system("cd engine && ./mach ts build && ./mach ts update")
|
os.system("cd engine && ./mach ts build && ./mach ts update")
|
||||||
# copy the files from engine/tools/@types to src/@types
|
# copy the files from engine/tools/@types to src/@types
|
||||||
for file in FILES:
|
for file in FILES + GENERATED_FILES:
|
||||||
src_file = os.path.join(ENGINE_PATH, file)
|
if file in GENERATED_FILES:
|
||||||
|
src_file = os.path.join(GENERATED_PATH, file)
|
||||||
|
else:
|
||||||
|
src_file = os.path.join(ENGINE_PATH, file)
|
||||||
dest_file = os.path.join(SRC_PATH, file)
|
dest_file = os.path.join(SRC_PATH, file)
|
||||||
if os.path.exists(src_file):
|
if os.path.exists(src_file):
|
||||||
os.system(f"cp {src_file} {dest_file}")
|
os.system(f"cp {src_file} {dest_file}")
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/Cargo.lock b/Cargo.lock
|
diff --git a/Cargo.lock b/Cargo.lock
|
||||||
index fe4eff865884fb79983f636861897648c36491b5..a9516246ffacfd50b7e4198967bebb71b2c73eca 100644
|
index 2ac65181b1a9561ee4760e0569dfdd621c684142..b159fd8a351ba7c6541e8994a815de8150db619f 100644
|
||||||
--- a/Cargo.lock
|
--- a/Cargo.lock
|
||||||
+++ b/Cargo.lock
|
+++ b/Cargo.lock
|
||||||
@@ -4067,8 +4067,6 @@ dependencies = [
|
@@ -4029,8 +4029,6 @@ dependencies = [
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "mime_guess"
|
name = "mime_guess"
|
||||||
version = "2.0.4"
|
version = "2.0.4"
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/Cargo.toml b/Cargo.toml
|
diff --git a/Cargo.toml b/Cargo.toml
|
||||||
index c41cc4f4e68e5b30e1a290e07b2c5061db4400cc..7fa5402b32116922766ee1463b441d3fc86c1eff 100644
|
index 0fdad8b956be8119f5a914b9cee01bb6520cd13d..f1414b5afd5c66c61d1585184de6b32f9918670d 100644
|
||||||
--- a/Cargo.toml
|
--- a/Cargo.toml
|
||||||
+++ b/Cargo.toml
|
+++ b/Cargo.toml
|
||||||
@@ -218,6 +218,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
|
@@ -218,6 +218,8 @@ moz_asserts = { path = "mozglue/static/rust/moz_asserts" }
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
|
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
|
||||||
index 49ba7724801e699c60fac72d67b3b2d11b6c8c93..5a9f209b3e6b625c6346083ab7eace552a81a3b4 100644
|
index f327e1684d0966a0dcfdcdbf8cc70259b27a4504..c8f722bda4cf297f5d0a6aa22dafbe27c4218123 100644
|
||||||
--- a/browser/actors/WebRTCParent.sys.mjs
|
--- a/browser/actors/WebRTCParent.sys.mjs
|
||||||
+++ b/browser/actors/WebRTCParent.sys.mjs
|
+++ b/browser/actors/WebRTCParent.sys.mjs
|
||||||
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
|
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
|
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
|
||||||
index 73b400d58fd25ac13132f1a3fe3ea619e4f4e4f9..ee90ce7ac67bd9aa7bbc2a656843875afb985591 100644
|
index ea28831b90662b12bdcb137c35b6bb83626c77e7..d28f4eca976ad9de12b03d995d2363e643224421 100644
|
||||||
--- a/browser/app/macbuild/Contents/Info.plist.in
|
--- a/browser/app/macbuild/Contents/Info.plist.in
|
||||||
+++ b/browser/app/macbuild/Contents/Info.plist.in
|
+++ b/browser/app/macbuild/Contents/Info.plist.in
|
||||||
@@ -191,7 +191,7 @@
|
@@ -191,7 +191,7 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
diff --git a/browser/base/content/browser-addons.js b/browser/base/content/browser-addons.js
|
||||||
index 061edde0e05e0744ba1aa80df5f9699e264fe69b..cc2b2f04758ee9690429ea6c4aad959d858218e8 100644
|
index d7542a38a0242dd9c9c6390171d59992d75a0c19..d20e5a9fa42c88c7ba28fac1ef13dd693f1f1135 100644
|
||||||
--- a/browser/base/content/browser-addons.js
|
--- a/browser/base/content/browser-addons.js
|
||||||
+++ b/browser/base/content/browser-addons.js
|
+++ b/browser/base/content/browser-addons.js
|
||||||
@@ -1057,7 +1057,7 @@ var gXPInstallObserver = {
|
@@ -1064,7 +1064,7 @@ var gXPInstallObserver = {
|
||||||
persistent: true,
|
persistent: true,
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -11,7 +11,7 @@ index 061edde0e05e0744ba1aa80df5f9699e264fe69b..cc2b2f04758ee9690429ea6c4aad959d
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1266,7 +1266,7 @@ var gXPInstallObserver = {
|
@@ -1273,7 +1273,7 @@ var gXPInstallObserver = {
|
||||||
hideClose: true,
|
hideClose: true,
|
||||||
timeout: Date.now() + 30000,
|
timeout: Date.now() + 30000,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
@@ -20,7 +20,7 @@ index 061edde0e05e0744ba1aa80df5f9699e264fe69b..cc2b2f04758ee9690429ea6c4aad959d
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2571,7 +2571,7 @@ var gUnifiedExtensions = {
|
@@ -2608,7 +2608,7 @@ var gUnifiedExtensions = {
|
||||||
this.recordButtonTelemetry(reason || "extensions_panel_showing");
|
this.recordButtonTelemetry(reason || "extensions_panel_showing");
|
||||||
this.ensureButtonShownBeforeAttachingPanel(panel);
|
this.ensureButtonShownBeforeAttachingPanel(panel);
|
||||||
PanelMultiView.openPopup(panel, this._button, {
|
PanelMultiView.openPopup(panel, this._button, {
|
||||||
@@ -29,7 +29,7 @@ index 061edde0e05e0744ba1aa80df5f9699e264fe69b..cc2b2f04758ee9690429ea6c4aad959d
|
|||||||
triggerEvent: aEvent,
|
triggerEvent: aEvent,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -2758,18 +2758,20 @@ var gUnifiedExtensions = {
|
@@ -2795,18 +2795,20 @@ var gUnifiedExtensions = {
|
||||||
this._maybeMoveWidgetNodeBack(widgetId);
|
this._maybeMoveWidgetNodeBack(widgetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
diff --git a/browser/base/content/browser-commands.js b/browser/base/content/browser-commands.js
|
||||||
index b0b2383453ef771af3eb9260618f1e2e3022eb4e..d631cc8db95b4285e892ac8fcb5e72b7da489850 100644
|
index 637e9dda83df5b490d6340367dd63077904ea056..6ffb1dc6ed1d6e58b4e8de1faca887f6b38115cb 100644
|
||||||
--- a/browser/base/content/browser-commands.js
|
--- a/browser/base/content/browser-commands.js
|
||||||
+++ b/browser/base/content/browser-commands.js
|
+++ b/browser/base/content/browser-commands.js
|
||||||
@@ -318,6 +318,10 @@ var BrowserCommands = {
|
@@ -317,6 +317,10 @@ var BrowserCommands = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ index b0b2383453ef771af3eb9260618f1e2e3022eb4e..d631cc8db95b4285e892ac8fcb5e72b7
|
|||||||
// A notification intended to be useful for modular peformance tracking
|
// A notification intended to be useful for modular peformance tracking
|
||||||
// starting as close as is reasonably possible to the time when the user
|
// 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
|
// expressed the intent to open a new tab. Since there are a lot of
|
||||||
@@ -402,6 +406,11 @@ var BrowserCommands = {
|
@@ -401,6 +405,11 @@ var BrowserCommands = {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ index b0b2383453ef771af3eb9260618f1e2e3022eb4e..d631cc8db95b4285e892ac8fcb5e72b7
|
|||||||
// Keyboard shortcuts that would close a tab that is pinned select the first
|
// Keyboard shortcuts that would close a tab that is pinned select the first
|
||||||
// unpinned tab instead.
|
// unpinned tab instead.
|
||||||
if (
|
if (
|
||||||
@@ -409,8 +418,8 @@ var BrowserCommands = {
|
@@ -408,8 +417,8 @@ var BrowserCommands = {
|
||||||
(event.ctrlKey || event.metaKey || event.altKey) &&
|
(event.ctrlKey || event.metaKey || event.altKey) &&
|
||||||
gBrowser.selectedTab.pinned
|
gBrowser.selectedTab.pinned
|
||||||
) {
|
) {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
|
diff --git a/browser/base/content/browser-fullScreenAndPointerLock.js b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
index c61a424d3871d94e7086418c72ce22d5aef0a047..b6e3939b1ce67185acc3b9a66385869bd5490a39 100644
|
index d477ac782e0cb921203f8cd38da70a003ac41b39..648d0b4066b630a9b31da0bb8490f29da701dd3d 100644
|
||||||
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
|
--- a/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
|
+++ b/browser/base/content/browser-fullScreenAndPointerLock.js
|
||||||
@@ -431,10 +431,10 @@ var FullScreen = {
|
@@ -427,10 +427,10 @@ var FullScreen = {
|
||||||
gNavToolbox.classList.toggle("fullscreen-with-menubar", shiftSize > 0);
|
gNavToolbox.classList.toggle("fullscreen-with-menubar", shiftSize > 0);
|
||||||
|
|
||||||
let transform = shiftSize > 0 ? `translateY(${shiftSize}px)` : "";
|
let transform = shiftSize > 0 ? `translateY(${shiftSize}px)` : "";
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js
|
||||||
index bcbfab4a3781ff3c7349115751b3830976eec4bf..b1b774e0d335ed3c5ca565a45cd624c7ea2718af 100644
|
index e4a94863c0f0810d1894475b020814b2ad32ffb3..515f61d2df5d4a593fc32d3f32e8fdec2b8f5983 100644
|
||||||
--- a/browser/base/content/browser-init.js
|
--- a/browser/base/content/browser-init.js
|
||||||
+++ b/browser/base/content/browser-init.js
|
+++ b/browser/base/content/browser-init.js
|
||||||
@@ -186,6 +186,7 @@ var gBrowserInit = {
|
@@ -191,6 +191,7 @@ var gBrowserInit = {
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoad() {
|
onLoad() {
|
||||||
@@ -10,7 +10,7 @@ index bcbfab4a3781ff3c7349115751b3830976eec4bf..b1b774e0d335ed3c5ca565a45cd624c7
|
|||||||
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
gBrowser.addEventListener("DOMUpdateBlockedPopups", e =>
|
||||||
PopupBlockerObserver.handleEvent(e)
|
PopupBlockerObserver.handleEvent(e)
|
||||||
);
|
);
|
||||||
@@ -344,6 +345,7 @@ var gBrowserInit = {
|
@@ -359,6 +360,7 @@ var gBrowserInit = {
|
||||||
|
|
||||||
this._handleURIToLoad();
|
this._handleURIToLoad();
|
||||||
|
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
|
||||||
index 05f6aec3dac31231e15cb316f6e06d66ee87bea9..3bbbe8553777056798ea9ddce1744a8e48848a37 100644
|
index c5b7ef2616c1dab9f42970605897e862d57ab7d0..77f0731db6c4a8d835cf8733115d27ae7782a987 100644
|
||||||
--- a/browser/base/content/browser.js
|
--- a/browser/base/content/browser.js
|
||||||
+++ b/browser/base/content/browser.js
|
+++ b/browser/base/content/browser.js
|
||||||
@@ -29,6 +29,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
@@ -31,6 +31,7 @@ ChromeUtils.defineESModuleGetters(this, {
|
||||||
ContextualIdentityService:
|
|
||||||
"resource://gre/modules/ContextualIdentityService.sys.mjs",
|
"resource://gre/modules/ContextualIdentityService.sys.mjs",
|
||||||
CustomizableUI: "resource:///modules/CustomizableUI.sys.mjs",
|
CustomizableUI:
|
||||||
+ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
|
"moz-src:///browser/components/customizableui/CustomizableUI.sys.mjs",
|
||||||
|
+ ZenCustomizableUI: "resource:///modules/ZenCustomizableUI.sys.mjs",
|
||||||
DevToolsSocketStatus:
|
DevToolsSocketStatus:
|
||||||
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
|
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
|
||||||
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
|
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
|
||||||
@@ -2287,6 +2288,8 @@ var XULBrowserWindow = {
|
@@ -2291,6 +2292,8 @@ var XULBrowserWindow = {
|
||||||
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
|
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
|
||||||
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
|
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
|
||||||
|
|
||||||
@@ -19,25 +19,7 @@ index 05f6aec3dac31231e15cb316f6e06d66ee87bea9..3bbbe8553777056798ea9ddce1744a8e
|
|||||||
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
|
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
|
||||||
|
|
||||||
if (!gMultiProcessBrowser) {
|
if (!gMultiProcessBrowser) {
|
||||||
@@ -4630,7 +4633,7 @@ function switchToTabHavingURI(
|
@@ -5232,6 +5235,9 @@ var ConfirmationHint = {
|
||||||
ignoreQueryString || replaceQueryString,
|
|
||||||
ignoreFragmentWhenComparing
|
|
||||||
);
|
|
||||||
- let browsers = aWindow.gBrowser.browsers;
|
|
||||||
+ let browsers = aWindow.gZenWorkspaces.allUsedBrowsers;
|
|
||||||
for (let i = 0; i < browsers.length; i++) {
|
|
||||||
let browser = browsers[i];
|
|
||||||
let browserCompare = cleanURL(
|
|
||||||
@@ -4673,7 +4676,7 @@ function switchToTabHavingURI(
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!doAdopt) {
|
|
||||||
- aWindow.gBrowser.tabContainer.selectedIndex = i;
|
|
||||||
+ aWindow.gZenWorkspaces.switchIfNeeded(browser);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
@@ -5489,6 +5492,9 @@ var ConfirmationHint = {
|
|
||||||
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
|
MozXULElement.insertFTLIfNeeded("toolkit/branding/brandings.ftl");
|
||||||
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
|
MozXULElement.insertFTLIfNeeded("browser/confirmationHints.ftl");
|
||||||
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
document.l10n.setAttributes(this._message, messageId, options.l10nArgs);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
|
diff --git a/browser/base/content/browser-places.js b/browser/base/content/browser-places.js
|
||||||
index 62b3665394a8256ebedf88a8f10bb6766977cf57..12ac643f913290b20fb7adba8f224f49bb82bf5c 100644
|
index 5ba2b6a58776e2b1d70b80e8cb1533cb20caafc6..65736705968732a185e81561b2866bfbe6f3233a 100644
|
||||||
--- a/browser/base/content/browser-places.js
|
--- a/browser/base/content/browser-places.js
|
||||||
+++ b/browser/base/content/browser-places.js
|
+++ b/browser/base/content/browser-places.js
|
||||||
@@ -252,6 +252,8 @@ var StarUI = {
|
@@ -252,6 +252,8 @@ var StarUI = {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
|
diff --git a/browser/base/content/browser-sets.inc b/browser/base/content/browser-sets.inc
|
||||||
index 269b025d7fb942602c1b1b6c9747540bcde11375..9dcecfe205cadacace5195ec84d8b2ee292a0632 100644
|
index 2e7654036647796715aec392f9e714e7256c9864..0b3b76ab479bb6ae5439dd424b69f641d3b86c28 100644
|
||||||
--- a/browser/base/content/browser-sets.inc
|
--- a/browser/base/content/browser-sets.inc
|
||||||
+++ b/browser/base/content/browser-sets.inc
|
+++ b/browser/base/content/browser-sets.inc
|
||||||
@@ -405,3 +405,4 @@
|
@@ -405,3 +405,4 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js
|
diff --git a/browser/base/content/browser-sets.js b/browser/base/content/browser-sets.js
|
||||||
index 61aef2d420a78fb1910f556b71f6db75a16180ed..a3a1e70bedb760c165c338c28de6f2ee924df8de 100644
|
index 9cff49a7b86f7697f70c4ef61d3c3561f058dc45..15ac9a8a79e8642b3add2f6df63ed32eb0c8bcb9 100644
|
||||||
--- a/browser/base/content/browser-sets.js
|
--- a/browser/base/content/browser-sets.js
|
||||||
+++ b/browser/base/content/browser-sets.js
|
+++ b/browser/base/content/browser-sets.js
|
||||||
@@ -250,7 +250,7 @@ document.addEventListener(
|
@@ -253,7 +253,7 @@ document.addEventListener(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
|
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
|
||||||
index a2a5f6ff71b9a6587e2a033aee39385abd319645..8111c6bcffdcfd51d03cc9dea4aac902d57c83d8 100644
|
index 65354e0ad3097e10de72f36e257c94472524baf7..bc9527ec9ddfab11c0839398d3f3953872ad9632 100644
|
||||||
--- a/browser/base/content/browser-siteIdentity.js
|
--- a/browser/base/content/browser-siteIdentity.js
|
||||||
+++ b/browser/base/content/browser-siteIdentity.js
|
+++ b/browser/base/content/browser-siteIdentity.js
|
||||||
@@ -825,7 +825,7 @@ var gIdentityHandler = {
|
@@ -834,7 +834,7 @@ var gIdentityHandler = {
|
||||||
// This is a secure internal Firefox page.
|
// This is a secure internal Firefox page.
|
||||||
this._identityBox.className = "chromeUI";
|
this._identityBox.className = "chromeUI";
|
||||||
let brandBundle = document.getElementById("bundle_brand");
|
let brandBundle = document.getElementById("bundle_brand");
|
||||||
@@ -11,7 +11,7 @@ index a2a5f6ff71b9a6587e2a033aee39385abd319645..8111c6bcffdcfd51d03cc9dea4aac902
|
|||||||
} else if (this._pageExtensionPolicy) {
|
} else if (this._pageExtensionPolicy) {
|
||||||
// This is a WebExtension page.
|
// This is a WebExtension page.
|
||||||
this._identityBox.className = "extensionPage";
|
this._identityBox.className = "extensionPage";
|
||||||
@@ -1143,6 +1143,12 @@ var gIdentityHandler = {
|
@@ -1163,6 +1163,12 @@ var gIdentityHandler = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
|
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
|
||||||
index 665b048cf149b9a6d0ccc43f8d9199f077b8ada2..fcff5cc6a4a50ff2d76930e4d2a1e1d0b2e6bc02 100644
|
index 7c4c05b72845dfb37c11317d011b8e7c6ba07934..856c368e4d6fe7c7d7ab468423348c844cbf1cdf 100644
|
||||||
--- a/browser/base/content/browser.xhtml
|
--- a/browser/base/content/browser.xhtml
|
||||||
+++ b/browser/base/content/browser.xhtml
|
+++ b/browser/base/content/browser.xhtml
|
||||||
@@ -26,6 +26,7 @@
|
@@ -26,6 +26,7 @@
|
||||||
@@ -10,7 +10,7 @@ index 665b048cf149b9a6d0ccc43f8d9199f077b8ada2..fcff5cc6a4a50ff2d76930e4d2a1e1d0
|
|||||||
persist="screenX screenY width height sizemode"
|
persist="screenX screenY width height sizemode"
|
||||||
data-l10n-sync="true">
|
data-l10n-sync="true">
|
||||||
<head>
|
<head>
|
||||||
@@ -103,8 +104,10 @@
|
@@ -105,8 +106,10 @@
|
||||||
|
|
||||||
<title data-l10n-id="browser-main-window-default-title"></title>
|
<title data-l10n-id="browser-main-window-default-title"></title>
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ index 665b048cf149b9a6d0ccc43f8d9199f077b8ada2..fcff5cc6a4a50ff2d76930e4d2a1e1d0
|
|||||||
</head>
|
</head>
|
||||||
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||||
# All sets except for popupsets (commands, keys, and stringbundles)
|
# All sets except for popupsets (commands, keys, and stringbundles)
|
||||||
@@ -126,9 +129,11 @@
|
@@ -128,9 +131,11 @@
|
||||||
</vbox>
|
</vbox>
|
||||||
</html:template>
|
</html:template>
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
|
diff --git a/browser/base/content/main-popupset.inc.xhtml b/browser/base/content/main-popupset.inc.xhtml
|
||||||
index 198c188e074b7062169764fb7d81c692d3a2bdae..b412a3c1fabdc6470b4ea9e7be34c426cc76aafd 100644
|
index fc219ea3dc901fe2ed351161240700113efb8799..f25bdbf886733e2081a4dff55614809056e9885e 100644
|
||||||
--- a/browser/base/content/main-popupset.inc.xhtml
|
--- a/browser/base/content/main-popupset.inc.xhtml
|
||||||
+++ b/browser/base/content/main-popupset.inc.xhtml
|
+++ b/browser/base/content/main-popupset.inc.xhtml
|
||||||
@@ -201,6 +201,10 @@
|
@@ -208,6 +208,10 @@
|
||||||
hidden="true"
|
hidden="true"
|
||||||
tabspecific="true"
|
tabspecific="true"
|
||||||
aria-labelledby="editBookmarkPanelTitle">
|
aria-labelledby="editBookmarkPanelTitle">
|
||||||
@@ -13,7 +13,7 @@ index 198c188e074b7062169764fb7d81c692d3a2bdae..b412a3c1fabdc6470b4ea9e7be34c426
|
|||||||
<box class="panel-header">
|
<box class="panel-header">
|
||||||
<html:h1>
|
<html:h1>
|
||||||
<html:span id="editBookmarkPanelTitle"/>
|
<html:span id="editBookmarkPanelTitle"/>
|
||||||
@@ -226,6 +230,7 @@
|
@@ -233,6 +237,7 @@
|
||||||
class="footer-button"/>
|
class="footer-button"/>
|
||||||
</html:moz-button-group>
|
</html:moz-button-group>
|
||||||
</vbox>
|
</vbox>
|
||||||
@@ -21,7 +21,7 @@ index 198c188e074b7062169764fb7d81c692d3a2bdae..b412a3c1fabdc6470b4ea9e7be34c426
|
|||||||
</panel>
|
</panel>
|
||||||
</html:template>
|
</html:template>
|
||||||
|
|
||||||
@@ -567,6 +572,8 @@
|
@@ -613,6 +618,8 @@
|
||||||
|
|
||||||
#include popup-notifications.inc.xhtml
|
#include popup-notifications.inc.xhtml
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
index 3484906e59f5da958a3f0c810c7b89cfce643d9a..7434caf4710af872d42ef4703ed8347cd8b07af2 100644
|
index 8e56b24b39e9c1607e3ff208d284a9b555a91ebb..2402848ae564234ec22d5a317c43864ea1b36f29 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
--- a/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
+++ b/browser/base/content/navigator-toolbox.inc.xhtml
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
@@ -11,27 +11,27 @@ index 3484906e59f5da958a3f0c810c7b89cfce643d9a..7434caf4710af872d42ef4703ed8347c
|
|||||||
<script src="chrome://browser/content/navigator-toolbox.js" />
|
<script src="chrome://browser/content/navigator-toolbox.js" />
|
||||||
|
|
||||||
<!-- Menu -->
|
<!-- Menu -->
|
||||||
@@ -17,9 +17,9 @@
|
@@ -18,9 +18,8 @@
|
||||||
#include browser-menubar.inc
|
#include browser-menubar.inc
|
||||||
</toolbaritem>
|
</toolbaritem>
|
||||||
<spacer flex="1" skipintoolbarset="true" style="order: 1000;"/>
|
<spacer flex="1" skipintoolbarset="true" style="order: 1000;"/>
|
||||||
-#include titlebar-items.inc.xhtml
|
-#include titlebar-items.inc.xhtml
|
||||||
</toolbar>
|
</toolbar>
|
||||||
|
-
|
||||||
+<hbox id="titlebar">
|
+<hbox id="titlebar">
|
||||||
<toolbar id="TabsToolbar"
|
<toolbar id="TabsToolbar"
|
||||||
class="browser-toolbar browser-titlebar"
|
class="browser-toolbar browser-titlebar"
|
||||||
fullscreentoolbar="true"
|
fullscreentoolbar="true"
|
||||||
@@ -56,6 +56,8 @@
|
@@ -62,6 +61,8 @@
|
||||||
# the current structure that we may want to revisit.
|
<html:sidebar-pins-promo id="drag-to-pin-promo-card"></html:sidebar-pins-promo>
|
||||||
<arrowscrollbox id="pinned-tabs-container" orient="horizontal"></arrowscrollbox>
|
<arrowscrollbox id="pinned-tabs-container" orient="horizontal" clicktoscroll=""></arrowscrollbox>
|
||||||
<splitter orient="vertical" id="vertical-pinned-tabs-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
<splitter orient="vertical" id="vertical-pinned-tabs-splitter" resizebefore="sibling" resizeafter="none" hidden="true"/>
|
||||||
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
+<html:div id="zen-essentials" skipintoolbarset="true"></html:div>
|
||||||
+<html:div id="zen-tabs-wrapper">
|
+<html:div id="zen-tabs-wrapper">
|
||||||
<hbox class="tab-drop-indicator" hidden="true"/>
|
<hbox class="tab-drop-indicator" hidden="true"/>
|
||||||
<arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
<arrowscrollbox id="tabbrowser-arrowscrollbox" orient="horizontal" flex="1" clicktoscroll="" scrolledtostart="" scrolledtoend="">
|
||||||
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
|
<tab is="tabbrowser-tab" class="tabbrowser-tab" selected="true" visuallyselected="" fadein=""/>
|
||||||
@@ -75,6 +77,7 @@
|
@@ -81,6 +82,7 @@
|
||||||
tooltip="dynamic-shortcut-tooltip"
|
tooltip="dynamic-shortcut-tooltip"
|
||||||
data-l10n-id="tabs-toolbar-new-tab"/>
|
data-l10n-id="tabs-toolbar-new-tab"/>
|
||||||
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
<html:span id="tabbrowser-tab-a11y-desc" hidden="true"/>
|
||||||
@@ -39,7 +39,7 @@ index 3484906e59f5da958a3f0c810c7b89cfce643d9a..7434caf4710af872d42ef4703ed8347c
|
|||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
<toolbarbutton id="new-tab-button"
|
<toolbarbutton id="new-tab-button"
|
||||||
@@ -100,9 +103,10 @@
|
@@ -106,9 +108,10 @@
|
||||||
#include private-browsing-indicator.inc.xhtml
|
#include private-browsing-indicator.inc.xhtml
|
||||||
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
<toolbarbutton class="content-analysis-indicator toolbarbutton-1 content-analysis-indicator-icon"/>
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
diff --git a/browser/base/content/navigator-toolbox.js b/browser/base/content/navigator-toolbox.js
|
||||||
index 31d0ee325847834e7c58c1079225adf43d738bcd..4d2c69d4dd7e313bdb085530b3289dc9d93530a5 100644
|
index 413bad2a62058a1c434d6a44e927e44eb397289d..b621c586e679bb8686fe9a5e6743512e71604425 100644
|
||||||
--- a/browser/base/content/navigator-toolbox.js
|
--- a/browser/base/content/navigator-toolbox.js
|
||||||
+++ b/browser/base/content/navigator-toolbox.js
|
+++ b/browser/base/content/navigator-toolbox.js
|
||||||
@@ -8,7 +8,7 @@
|
@@ -8,7 +8,7 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs
|
||||||
index b12427b3c23447ab26499120f8395c716dae9e82..934f5c1f1b38d035cd7d3a5253a8d3cecad385f8 100644
|
index bc71ba720ef3603e8b90d295fb16d8415ba114c4..99677f70e22258f61cc9bda31e4d8745d7ca9395 100644
|
||||||
--- a/browser/base/content/nsContextMenu.sys.mjs
|
--- a/browser/base/content/nsContextMenu.sys.mjs
|
||||||
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
+++ b/browser/base/content/nsContextMenu.sys.mjs
|
||||||
@@ -1054,6 +1054,8 @@ export class nsContextMenu {
|
@@ -1095,6 +1095,8 @@ export class nsContextMenu {
|
||||||
!this.isSecureAboutPage()
|
!this.isSecureAboutPage()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@@ -8,7 +8,6 @@
|
|||||||
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
|
content/browser/zen-sets.js (../../zen/common/zen-sets.js)
|
||||||
content/browser/ZenUIManager.mjs (../../zen/common/ZenUIManager.mjs)
|
content/browser/ZenUIManager.mjs (../../zen/common/ZenUIManager.mjs)
|
||||||
content/browser/zen-components/ZenActorsManager.mjs (../../zen/common/ZenActorsManager.mjs)
|
content/browser/zen-components/ZenActorsManager.mjs (../../zen/common/ZenActorsManager.mjs)
|
||||||
content/browser/ZenCustomizableUI.sys.mjs (../../zen/common/ZenCustomizableUI.sys.mjs)
|
|
||||||
content/browser/zen-components/ZenUIMigration.mjs (../../zen/common/ZenUIMigration.mjs)
|
content/browser/zen-components/ZenUIMigration.mjs (../../zen/common/ZenUIMigration.mjs)
|
||||||
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/ZenCommonUtils.mjs)
|
content/browser/zen-components/ZenCommonUtils.mjs (../../zen/common/ZenCommonUtils.mjs)
|
||||||
content/browser/zen-components/ZenSessionStore.mjs (../../zen/common/ZenSessionStore.mjs)
|
content/browser/zen-components/ZenSessionStore.mjs (../../zen/common/ZenSessionStore.mjs)
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
|
||||||
index f5a94b47c95304399bce8159dd9fb5d2911ea60a..f63cb861e8807294d597a341ddb408f236ee2df2 100644
|
index b1f7121a1f3926fe3eb89540edb7dcbb68734039..61c98964cf5efd0a603500cf36559713e1f231f7 100644
|
||||||
--- a/browser/base/jar.mn
|
--- a/browser/base/jar.mn
|
||||||
+++ b/browser/base/jar.mn
|
+++ b/browser/base/jar.mn
|
||||||
@@ -106,3 +106,5 @@ browser.jar:
|
@@ -109,3 +109,5 @@ browser.jar:
|
||||||
|
|
||||||
# L10n resources and overrides.
|
# L10n resources and overrides.
|
||||||
% override chrome://global/locale/appstrings.properties chrome://browser/locale/appstrings.properties
|
% 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
|
diff --git a/browser/base/moz.build b/browser/base/moz.build
|
||||||
index 803f8a5b62608af58fc43bd9fab298a63fa549a4..2e00cb9d02dade5cd9b8d3dea5d948ac6e829c26 100644
|
index 2f2807a246c262298d0802a6a80abe211c99732c..089a86c9e7f69b994657f20fb2392f3dcc8646bf 100644
|
||||||
--- a/browser/base/moz.build
|
--- a/browser/base/moz.build
|
||||||
+++ b/browser/base/moz.build
|
+++ b/browser/base/moz.build
|
||||||
@@ -82,3 +82,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
@@ -81,3 +81,5 @@ DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"]
|
||||||
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
|
DEFINES["APP_LICENSE_BLOCK"] = "%s/content/overrides/app-license.html" % SRCDIR
|
||||||
|
|
||||||
JAR_MANIFESTS += ["jar.mn"]
|
JAR_MANIFESTS += ["jar.mn"]
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
|
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
|
||||||
index 81f72563b93b9ce77191ad4cf200489222e0122e..40bc484301b3d66542c4171921f527c2ac6ed047 100644
|
index 8630614d23147365628e0cb7e9625b8f2a160588..0750869f16336452a458f27627e6fe0492aae462 100644
|
||||||
--- a/browser/components/BrowserContentHandler.sys.mjs
|
--- a/browser/components/BrowserContentHandler.sys.mjs
|
||||||
+++ b/browser/components/BrowserContentHandler.sys.mjs
|
+++ b/browser/components/BrowserContentHandler.sys.mjs
|
||||||
@@ -1276,6 +1276,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
|
@@ -1276,6 +1276,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
|
||||||
index f3253d2565cf735bdf33792697f91db9ca9ba5e9..5a6a62e3de3d510a3ae514773e6f8886ef8f9a09 100644
|
index eae3ed9518ad9ce2103bb912963465c1b10ac050..51859cd542bc69f524d891a67e725c30d4cf14bb 100644
|
||||||
--- a/browser/components/BrowserGlue.sys.mjs
|
--- a/browser/components/BrowserGlue.sys.mjs
|
||||||
+++ b/browser/components/BrowserGlue.sys.mjs
|
+++ b/browser/components/BrowserGlue.sys.mjs
|
||||||
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
|
||||||
@@ -10,7 +10,7 @@ index f3253d2565cf735bdf33792697f91db9ca9ba5e9..5a6a62e3de3d510a3ae514773e6f8886
|
|||||||
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
|
||||||
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
|
||||||
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
|
||||||
@@ -1490,7 +1491,7 @@ BrowserGlue.prototype = {
|
@@ -1448,7 +1449,7 @@ BrowserGlue.prototype = {
|
||||||
windowcount++;
|
windowcount++;
|
||||||
let tabbrowser = win.gBrowser;
|
let tabbrowser = win.gBrowser;
|
||||||
if (tabbrowser) {
|
if (tabbrowser) {
|
||||||
@@ -19,7 +19,7 @@ index f3253d2565cf735bdf33792697f91db9ca9ba5e9..5a6a62e3de3d510a3ae514773e6f8886
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1653,6 +1654,8 @@ BrowserGlue.prototype = {
|
@@ -1611,6 +1612,8 @@ BrowserGlue.prototype = {
|
||||||
} else if (profileDataVersion < APP_DATA_VERSION) {
|
} else if (profileDataVersion < APP_DATA_VERSION) {
|
||||||
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
|
lazy.ProfileDataUpgrader.upgrade(profileDataVersion, APP_DATA_VERSION);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/aboutlogins/content/components/login-list.css b/browser/components/aboutlogins/content/components/login-list.css
|
diff --git a/browser/components/aboutlogins/content/components/login-list.css b/browser/components/aboutlogins/content/components/login-list.css
|
||||||
index bc8e72a3cd07e8746c6fbf190bdd2bf70f4000d4..07031dfdfadf393db5fd848948e33510bd7225d7 100644
|
index 3c766eaa80c00ef145168f7a2ceced95ce94295e..db7a7da03c8346f97b472b8e561fec79c1036337 100644
|
||||||
--- a/browser/components/aboutlogins/content/components/login-list.css
|
--- a/browser/components/aboutlogins/content/components/login-list.css
|
||||||
+++ b/browser/components/aboutlogins/content/components/login-list.css
|
+++ b/browser/components/aboutlogins/content/components/login-list.css
|
||||||
@@ -3,7 +3,7 @@
|
@@ -3,7 +3,7 @@
|
||||||
@@ -11,7 +11,7 @@ index bc8e72a3cd07e8746c6fbf190bdd2bf70f4000d4..07031dfdfadf393db5fd848948e33510
|
|||||||
background-color: var(--background-color-box);
|
background-color: var(--background-color-box);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -161,3 +161,8 @@ ol {
|
@@ -162,3 +162,8 @@ ol {
|
||||||
font-size: 0.85em;
|
font-size: 0.85em;
|
||||||
color: var(--text-color-deemphasized);
|
color: var(--text-color-deemphasized);
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
diff --git a/browser/components/controlcenter/content/identityPanel.inc.xhtml b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||||
index 768768c7d44860e1725f41594da9bcc8c92f4a1d..c04b0d54a41fbf8a22b516524809186d29842b21 100644
|
index 225340c698f775a321bf5f82c0156bb0e3e2aa96..59e6613638efadfd2961999bd77b388c4529314b 100644
|
||||||
--- a/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
--- a/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||||
+++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
+++ b/browser/components/controlcenter/content/identityPanel.inc.xhtml
|
||||||
@@ -28,7 +28,7 @@
|
@@ -28,7 +28,7 @@
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1969f4fed 100644
|
index 4f62449d670701c77c681ae36e00bae8bf2f636c..132c77e396cb259181ed13ca8ff784e0ade05e3b 100644
|
||||||
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
|
||||||
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
@@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
|
||||||
AddonManagerPrivate: "resource://gre/modules/AddonManager.sys.mjs",
|
|
||||||
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
|
BrowserUsageTelemetry: "resource:///modules/BrowserUsageTelemetry.sys.mjs",
|
||||||
CustomizableWidgets: "resource:///modules/CustomizableWidgets.sys.mjs",
|
CustomizableWidgets:
|
||||||
+ ZenCustomizableUI: "chrome://browser/content/ZenCustomizableUI.sys.mjs",
|
"moz-src:///browser/components/customizableui/CustomizableWidgets.sys.mjs",
|
||||||
|
+ ZenCustomizableUI: "resource:///modules/ZenCustomizableUI.sys.mjs",
|
||||||
HomePage: "resource:///modules/HomePage.sys.mjs",
|
HomePage: "resource:///modules/HomePage.sys.mjs",
|
||||||
PanelMultiView: "resource:///modules/PanelMultiView.sys.mjs",
|
PanelMultiView:
|
||||||
PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs",
|
"moz-src:///browser/components/customizableui/PanelMultiView.sys.mjs",
|
||||||
@@ -331,19 +332,14 @@ var CustomizableUIInternal = {
|
@@ -333,19 +334,14 @@ var CustomizableUIInternal = {
|
||||||
"back-button",
|
"back-button",
|
||||||
"forward-button",
|
"forward-button",
|
||||||
"stop-reload-button",
|
"stop-reload-button",
|
||||||
@@ -31,7 +31,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
this.registerArea(
|
this.registerArea(
|
||||||
CustomizableUI.AREA_NAVBAR,
|
CustomizableUI.AREA_NAVBAR,
|
||||||
{
|
{
|
||||||
@@ -351,8 +347,6 @@ var CustomizableUIInternal = {
|
@@ -353,8 +349,6 @@ var CustomizableUIInternal = {
|
||||||
overflowable: true,
|
overflowable: true,
|
||||||
defaultPlacements: navbarPlacements,
|
defaultPlacements: navbarPlacements,
|
||||||
verticalTabsDefaultPlacements: [
|
verticalTabsDefaultPlacements: [
|
||||||
@@ -40,7 +40,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
],
|
],
|
||||||
defaultCollapsed: false,
|
defaultCollapsed: false,
|
||||||
},
|
},
|
||||||
@@ -376,10 +370,7 @@ var CustomizableUIInternal = {
|
@@ -378,10 +372,7 @@ var CustomizableUIInternal = {
|
||||||
{
|
{
|
||||||
type: CustomizableUI.TYPE_TOOLBAR,
|
type: CustomizableUI.TYPE_TOOLBAR,
|
||||||
defaultPlacements: [
|
defaultPlacements: [
|
||||||
@@ -51,7 +51,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
],
|
],
|
||||||
verticalTabsDefaultPlacements: [],
|
verticalTabsDefaultPlacements: [],
|
||||||
defaultCollapsed: null,
|
defaultCollapsed: null,
|
||||||
@@ -461,6 +452,7 @@ var CustomizableUIInternal = {
|
@@ -463,6 +454,7 @@ var CustomizableUIInternal = {
|
||||||
CustomizableUI.AREA_NAVBAR,
|
CustomizableUI.AREA_NAVBAR,
|
||||||
CustomizableUI.AREA_BOOKMARKS,
|
CustomizableUI.AREA_BOOKMARKS,
|
||||||
CustomizableUI.AREA_TABSTRIP,
|
CustomizableUI.AREA_TABSTRIP,
|
||||||
@@ -59,7 +59,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
]);
|
]);
|
||||||
if (AppConstants.platform != "macosx") {
|
if (AppConstants.platform != "macosx") {
|
||||||
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
toolbars.add(CustomizableUI.AREA_MENUBAR);
|
||||||
@@ -1245,6 +1237,9 @@ var CustomizableUIInternal = {
|
@@ -1247,6 +1239,9 @@ var CustomizableUIInternal = {
|
||||||
placements = gPlacements.get(area);
|
placements = gPlacements.get(area);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
// For toolbars that need it, mark as dirty.
|
// For toolbars that need it, mark as dirty.
|
||||||
let defaultPlacements = areaProperties.get("defaultPlacements");
|
let defaultPlacements = areaProperties.get("defaultPlacements");
|
||||||
if (
|
if (
|
||||||
@@ -1752,7 +1747,7 @@ var CustomizableUIInternal = {
|
@@ -1754,7 +1749,7 @@ var CustomizableUIInternal = {
|
||||||
lazy.log.info(
|
lazy.log.info(
|
||||||
"Widget " + aWidgetId + " not found, unable to remove from " + aArea
|
"Widget " + aWidgetId + " not found, unable to remove from " + aArea
|
||||||
);
|
);
|
||||||
@@ -78,7 +78,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.notifyDOMChange(widgetNode, null, container, true, () => {
|
this.notifyDOMChange(widgetNode, null, container, true, () => {
|
||||||
@@ -1762,7 +1757,7 @@ var CustomizableUIInternal = {
|
@@ -1764,7 +1759,7 @@ var CustomizableUIInternal = {
|
||||||
// We also need to remove the panel context menu if it's there:
|
// We also need to remove the panel context menu if it's there:
|
||||||
this.ensureButtonContextMenu(widgetNode);
|
this.ensureButtonContextMenu(widgetNode);
|
||||||
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
|
if (gPalette.has(aWidgetId) || this.isSpecialWidget(aWidgetId)) {
|
||||||
@@ -87,7 +87,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
} else {
|
} else {
|
||||||
window.gNavToolbox.palette.appendChild(widgetNode);
|
window.gNavToolbox.palette.appendChild(widgetNode);
|
||||||
}
|
}
|
||||||
@@ -1930,16 +1925,16 @@ var CustomizableUIInternal = {
|
@@ -1932,16 +1927,16 @@ var CustomizableUIInternal = {
|
||||||
elem.setAttribute("skipintoolbarset", "true");
|
elem.setAttribute("skipintoolbarset", "true");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,7 +107,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
// Handle initial state of vertical tabs.
|
// Handle initial state of vertical tabs.
|
||||||
if (isVerticalTabs) {
|
if (isVerticalTabs) {
|
||||||
// Show the vertical tabs toolbar
|
// Show the vertical tabs toolbar
|
||||||
@@ -2181,6 +2176,10 @@ var CustomizableUIInternal = {
|
@@ -2183,6 +2178,10 @@ var CustomizableUIInternal = {
|
||||||
* The identifier string of the area that aNode is being inserted into.
|
* The identifier string of the area that aNode is being inserted into.
|
||||||
*/
|
*/
|
||||||
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
|
insertWidgetBefore(aNode, aNextNode, aContainer, aAreaId) {
|
||||||
@@ -118,7 +118,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
|
this.notifyDOMChange(aNode, aNextNode, aContainer, false, () => {
|
||||||
this.setLocationAttributes(aNode, aAreaId);
|
this.setLocationAttributes(aNode, aAreaId);
|
||||||
aContainer.insertBefore(aNode, aNextNode);
|
aContainer.insertBefore(aNode, aNextNode);
|
||||||
@@ -3301,7 +3300,6 @@ var CustomizableUIInternal = {
|
@@ -3303,7 +3302,6 @@ var CustomizableUIInternal = {
|
||||||
if (!this.isWidgetRemovable(aWidgetId)) {
|
if (!this.isWidgetRemovable(aWidgetId)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -126,7 +126,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
let placements = gPlacements.get(oldPlacement.area);
|
let placements = gPlacements.get(oldPlacement.area);
|
||||||
let position = placements.indexOf(aWidgetId);
|
let position = placements.indexOf(aWidgetId);
|
||||||
if (position != -1) {
|
if (position != -1) {
|
||||||
@@ -4536,7 +4534,7 @@ var CustomizableUIInternal = {
|
@@ -4538,7 +4536,7 @@ var CustomizableUIInternal = {
|
||||||
* For all registered areas, builds those areas to reflect the current
|
* For all registered areas, builds those areas to reflect the current
|
||||||
* placement state of all widgets.
|
* placement state of all widgets.
|
||||||
*/
|
*/
|
||||||
@@ -135,7 +135,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
for (let [areaId, areaNodes] of gBuildAreas) {
|
for (let [areaId, areaNodes] of gBuildAreas) {
|
||||||
let placements = gPlacements.get(areaId);
|
let placements = gPlacements.get(areaId);
|
||||||
let isFirstChangedToolbar = true;
|
let isFirstChangedToolbar = true;
|
||||||
@@ -4547,7 +4545,7 @@ var CustomizableUIInternal = {
|
@@ -4549,7 +4547,7 @@ var CustomizableUIInternal = {
|
||||||
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
|
if (area.get("type") == CustomizableUI.TYPE_TOOLBAR) {
|
||||||
let defaultCollapsed = area.get("defaultCollapsed");
|
let defaultCollapsed = area.get("defaultCollapsed");
|
||||||
let win = areaNode.ownerGlobal;
|
let win = areaNode.ownerGlobal;
|
||||||
@@ -144,7 +144,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
win.setToolbarVisibility(
|
win.setToolbarVisibility(
|
||||||
areaNode,
|
areaNode,
|
||||||
typeof defaultCollapsed == "string"
|
typeof defaultCollapsed == "string"
|
||||||
@@ -5838,6 +5836,7 @@ export var CustomizableUI = {
|
@@ -5840,6 +5838,7 @@ export var CustomizableUI = {
|
||||||
unregisterArea(aName, aDestroyPlacements) {
|
unregisterArea(aName, aDestroyPlacements) {
|
||||||
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
|
CustomizableUIInternal.unregisterArea(aName, aDestroyPlacements);
|
||||||
},
|
},
|
||||||
@@ -152,7 +152,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
/**
|
/**
|
||||||
* Add a widget to an area.
|
* Add a widget to an area.
|
||||||
* If the area to which you try to add is not known to CustomizableUI,
|
* If the area to which you try to add is not known to CustomizableUI,
|
||||||
@@ -7885,11 +7884,11 @@ class OverflowableToolbar {
|
@@ -7887,11 +7886,11 @@ class OverflowableToolbar {
|
||||||
parseFloat(style.paddingLeft) -
|
parseFloat(style.paddingLeft) -
|
||||||
parseFloat(style.paddingRight) -
|
parseFloat(style.paddingRight) -
|
||||||
toolbarChildrenWidth;
|
toolbarChildrenWidth;
|
||||||
@@ -166,7 +166,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
});
|
});
|
||||||
|
|
||||||
lazy.log.debug(
|
lazy.log.debug(
|
||||||
@@ -7899,7 +7898,8 @@ class OverflowableToolbar {
|
@@ -7901,7 +7900,8 @@ class OverflowableToolbar {
|
||||||
// If the target has min-width: 0, their children might actually overflow
|
// If the target has min-width: 0, their children might actually overflow
|
||||||
// it, so check for both cases explicitly.
|
// it, so check for both cases explicitly.
|
||||||
let targetContentWidth = Math.max(targetWidth, targetChildrenWidth);
|
let targetContentWidth = Math.max(targetWidth, targetChildrenWidth);
|
||||||
@@ -176,7 +176,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
return { isOverflowing, targetContentWidth, totalAvailWidth };
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -7993,7 +7993,7 @@ class OverflowableToolbar {
|
@@ -7995,7 +7995,7 @@ class OverflowableToolbar {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!inserted) {
|
if (!inserted) {
|
||||||
@@ -185,7 +185,7 @@ index 8c9b11d0c1ce7ae016889950e92b3adda318235c..ba81498aa16ce844a8d189c047f596d1
|
|||||||
}
|
}
|
||||||
child.removeAttribute("cui-anchorid");
|
child.removeAttribute("cui-anchorid");
|
||||||
child.removeAttribute("overflowedItem");
|
child.removeAttribute("overflowedItem");
|
||||||
@@ -8338,7 +8338,7 @@ class OverflowableToolbar {
|
@@ -8340,7 +8340,7 @@ class OverflowableToolbar {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "mousedown": {
|
case "mousedown": {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/customizableui/CustomizeMode.sys.mjs b/browser/components/customizableui/CustomizeMode.sys.mjs
|
diff --git a/browser/components/customizableui/CustomizeMode.sys.mjs b/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||||
index bc601c9cd248637f304b8f3219862e8e6f6c7506..da28068906ddeb81337696da568608edb43223b7 100644
|
index fd3c54a1d80f5800ffd2dcaaf594eed4bd2d300c..259af2688e5a8bca88017e5da0bfdb488ab59f59 100644
|
||||||
--- a/browser/components/customizableui/CustomizeMode.sys.mjs
|
--- a/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||||
+++ b/browser/components/customizableui/CustomizeMode.sys.mjs
|
+++ b/browser/components/customizableui/CustomizeMode.sys.mjs
|
||||||
@@ -502,7 +502,7 @@ export class CustomizeMode {
|
@@ -503,7 +503,7 @@ export class CustomizeMode {
|
||||||
this.#transitioning = true;
|
this.#transitioning = true;
|
||||||
|
|
||||||
let customizer = document.getElementById("customization-container");
|
let customizer = document.getElementById("customization-container");
|
||||||
@@ -11,7 +11,7 @@ index bc601c9cd248637f304b8f3219862e8e6f6c7506..da28068906ddeb81337696da568608ed
|
|||||||
browser.hidden = true;
|
browser.hidden = true;
|
||||||
customizer.hidden = false;
|
customizer.hidden = false;
|
||||||
|
|
||||||
@@ -639,7 +639,7 @@ export class CustomizeMode {
|
@@ -640,7 +640,7 @@ export class CustomizeMode {
|
||||||
}
|
}
|
||||||
|
|
||||||
let customizer = document.getElementById("customization-container");
|
let customizer = document.getElementById("customization-container");
|
||||||
@@ -20,7 +20,7 @@ index bc601c9cd248637f304b8f3219862e8e6f6c7506..da28068906ddeb81337696da568608ed
|
|||||||
customizer.hidden = true;
|
customizer.hidden = true;
|
||||||
browser.hidden = false;
|
browser.hidden = false;
|
||||||
|
|
||||||
@@ -1175,6 +1175,7 @@ export class CustomizeMode {
|
@@ -1176,6 +1176,7 @@ export class CustomizeMode {
|
||||||
return (
|
return (
|
||||||
aNode.localName == "toolbarbutton" ||
|
aNode.localName == "toolbarbutton" ||
|
||||||
aNode.localName == "toolbaritem" ||
|
aNode.localName == "toolbaritem" ||
|
||||||
@@ -28,7 +28,7 @@ index bc601c9cd248637f304b8f3219862e8e6f6c7506..da28068906ddeb81337696da568608ed
|
|||||||
aNode.localName == "toolbarseparator" ||
|
aNode.localName == "toolbarseparator" ||
|
||||||
aNode.localName == "toolbarspring" ||
|
aNode.localName == "toolbarspring" ||
|
||||||
aNode.localName == "toolbarspacer"
|
aNode.localName == "toolbarspacer"
|
||||||
@@ -3127,6 +3128,20 @@ export class CustomizeMode {
|
@@ -3128,6 +3129,20 @@ export class CustomizeMode {
|
||||||
if (makeSpaceImmediately) {
|
if (makeSpaceImmediately) {
|
||||||
aDraggedOverItem.setAttribute("notransition", "true");
|
aDraggedOverItem.setAttribute("notransition", "true");
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/customizableui/ToolbarContextMenu.sys.mjs b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
diff --git a/browser/components/customizableui/ToolbarContextMenu.sys.mjs b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||||
index 0924175cecdceade096a325b2d4cd2656da24524..3c1e4a179d13aac740069c23e9bf8e40376d5032 100644
|
index 852cf2eee9113753fa0797be6dec80dcb9207703..93bb093e679320033a37b2af14e8e0e3c7621f94 100644
|
||||||
--- a/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
--- a/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||||
+++ b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
+++ b/browser/components/customizableui/ToolbarContextMenu.sys.mjs
|
||||||
@@ -241,8 +241,8 @@ export var ToolbarContextMenu = {
|
@@ -242,8 +242,8 @@ export var ToolbarContextMenu = {
|
||||||
// Show/hide sidebar and vertical tabs menu items
|
// Show/hide sidebar and vertical tabs menu items
|
||||||
let sidebarRevampEnabled = Services.prefs.getBoolPref("sidebar.revamp");
|
let sidebarRevampEnabled = Services.prefs.getBoolPref("sidebar.revamp");
|
||||||
let showSidebarActions =
|
let showSidebarActions =
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/customizableui/content/panelUI.inc.xhtml b/browser/components/customizableui/content/panelUI.inc.xhtml
|
diff --git a/browser/components/customizableui/content/panelUI.inc.xhtml b/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||||
index c78f08bdd3fc4d01e10552ef65c2d5813dd053e8..154fb1de2ab9384937d02c14cb7c9c607b330da9 100644
|
index 85acb96a3deefed708ea768b2f163e7fd6480b97..bb3aed53758da7dafcfed4492acb0cbf2b80cd2f 100644
|
||||||
--- a/browser/components/customizableui/content/panelUI.inc.xhtml
|
--- a/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||||
+++ b/browser/components/customizableui/content/panelUI.inc.xhtml
|
+++ b/browser/components/customizableui/content/panelUI.inc.xhtml
|
||||||
@@ -132,7 +132,7 @@
|
@@ -132,7 +132,7 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
|
||||||
index b3c4898fa5aa7ba997d84a2b4fdce398978e1150..736d7aca6232e94a1de0afe2c292060c5c622565 100644
|
index 7156397d597579f745ea20ae2b9327433a31c8ec..13b844a63e79e227c96faf153ee5908759306407 100644
|
||||||
--- a/browser/components/customizableui/content/panelUI.js
|
--- a/browser/components/customizableui/content/panelUI.js
|
||||||
+++ b/browser/components/customizableui/content/panelUI.js
|
+++ b/browser/components/customizableui/content/panelUI.js
|
||||||
@@ -517,8 +517,7 @@ const PanelUI = {
|
@@ -518,8 +518,7 @@ const PanelUI = {
|
||||||
tempPanel.setAttribute("animate", "false");
|
tempPanel.setAttribute("animate", "false");
|
||||||
}
|
}
|
||||||
tempPanel.setAttribute("context", "");
|
tempPanel.setAttribute("context", "");
|
||||||
@@ -12,7 +12,7 @@ index b3c4898fa5aa7ba997d84a2b4fdce398978e1150..736d7aca6232e94a1de0afe2c292060c
|
|||||||
.appendChild(tempPanel);
|
.appendChild(tempPanel);
|
||||||
|
|
||||||
let multiView = document.createXULElement("panelmultiview");
|
let multiView = document.createXULElement("panelmultiview");
|
||||||
@@ -609,10 +608,12 @@ const PanelUI = {
|
@@ -610,10 +609,12 @@ const PanelUI = {
|
||||||
if (hasKids && !this.navbar.hasAttribute("nonemptyoverflow")) {
|
if (hasKids && !this.navbar.hasAttribute("nonemptyoverflow")) {
|
||||||
this.navbar.setAttribute("nonemptyoverflow", "true");
|
this.navbar.setAttribute("nonemptyoverflow", "true");
|
||||||
this.overflowPanel.setAttribute("hasfixeditems", "true");
|
this.overflowPanel.setAttribute("hasfixeditems", "true");
|
||||||
@@ -25,7 +25,7 @@ index b3c4898fa5aa7ba997d84a2b4fdce398978e1150..736d7aca6232e94a1de0afe2c292060c
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -960,7 +961,7 @@ const PanelUI = {
|
@@ -961,7 +962,7 @@ const PanelUI = {
|
||||||
el.removeAttribute("data-lazy-l10n-id");
|
el.removeAttribute("data-lazy-l10n-id");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
diff --git a/browser/components/extensions/parent/ext-browser.js b/browser/components/extensions/parent/ext-browser.js
|
||||||
index 1e382981a33ca341c306a78ed81718e4ad7c2b3e..e98f76f1e9dd381116328d6d9b901585ea80dce4 100644
|
index 0baa038232d7e0fd9942f392c48acf7ea5ba50ed..093e1c29c3538d18eb2162b4e4b23ba40c695739 100644
|
||||||
--- a/browser/components/extensions/parent/ext-browser.js
|
--- a/browser/components/extensions/parent/ext-browser.js
|
||||||
+++ b/browser/components/extensions/parent/ext-browser.js
|
+++ b/browser/components/extensions/parent/ext-browser.js
|
||||||
@@ -351,6 +351,7 @@ class TabTracker extends TabTrackerBase {
|
@@ -351,6 +351,7 @@ class TabTracker extends TabTrackerBase {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
diff --git a/browser/components/extensions/parent/ext-tabs.js b/browser/components/extensions/parent/ext-tabs.js
|
||||||
index a53a12f91817a9e3d1773480928e858bc3182c77..10f6559ffb128906be31de220c93320e9a6d40e7 100644
|
index bff93996b42aa1f88f1bfcbd813c3af4a5806f13..1252727b4811248e138cf7a38f8d1fd422576d28 100644
|
||||||
--- a/browser/components/extensions/parent/ext-tabs.js
|
--- a/browser/components/extensions/parent/ext-tabs.js
|
||||||
+++ b/browser/components/extensions/parent/ext-tabs.js
|
+++ b/browser/components/extensions/parent/ext-tabs.js
|
||||||
@@ -494,6 +494,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -501,6 +501,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tab = tabManager.getWrapper(updatedTab);
|
let tab = tabManager.getWrapper(updatedTab);
|
||||||
@@ -10,7 +10,7 @@ index a53a12f91817a9e3d1773480928e858bc3182c77..10f6559ffb128906be31de220c93320e
|
|||||||
|
|
||||||
let changeInfo = {};
|
let changeInfo = {};
|
||||||
for (let prop of needed) {
|
for (let prop of needed) {
|
||||||
@@ -848,6 +849,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
@@ -855,6 +856,7 @@ this.tabs = class extends ExtensionAPIPersistent {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543dce50234 100644
|
index 86cc499f9b959ef87ab57fc4195e0c65f25e8c7c..a928ea83b9f4d0133238e744d2fb91318d36d4de 100644
|
||||||
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
--- a/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
|
||||||
@@ -59,6 +59,7 @@ class BookmarkState {
|
@@ -60,6 +60,7 @@ class BookmarkState {
|
||||||
info,
|
info,
|
||||||
tags = "",
|
tags = "",
|
||||||
keyword = "",
|
keyword = "",
|
||||||
@@ -10,7 +10,7 @@ index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543
|
|||||||
isFolder = false,
|
isFolder = false,
|
||||||
children = [],
|
children = [],
|
||||||
autosave = false,
|
autosave = false,
|
||||||
@@ -83,12 +84,18 @@ class BookmarkState {
|
@@ -84,12 +85,18 @@ class BookmarkState {
|
||||||
keyword,
|
keyword,
|
||||||
parentGuid: info.parentGuid,
|
parentGuid: info.parentGuid,
|
||||||
index,
|
index,
|
||||||
@@ -29,7 +29,7 @@ index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543
|
|||||||
/**
|
/**
|
||||||
* Save edited title for the bookmark
|
* Save edited title for the bookmark
|
||||||
*
|
*
|
||||||
@@ -182,6 +189,14 @@ class BookmarkState {
|
@@ -183,6 +190,14 @@ class BookmarkState {
|
||||||
"BookmarkState::createBookmark"
|
"BookmarkState::createBookmark"
|
||||||
);
|
);
|
||||||
this._guid = results?.[0];
|
this._guid = results?.[0];
|
||||||
@@ -44,7 +44,7 @@ index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543
|
|||||||
return this._guid;
|
return this._guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,6 +230,14 @@ class BookmarkState {
|
@@ -216,6 +231,14 @@ class BookmarkState {
|
||||||
"BookmarkState::save::createFolder"
|
"BookmarkState::save::createFolder"
|
||||||
);
|
);
|
||||||
this._guid = results[0];
|
this._guid = results[0];
|
||||||
@@ -59,7 +59,7 @@ index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543
|
|||||||
return this._guid;
|
return this._guid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,11 +324,97 @@ class BookmarkState {
|
@@ -302,11 +325,97 @@ class BookmarkState {
|
||||||
await lazy.PlacesTransactions.batch(transactions, "BookmarkState::save");
|
await lazy.PlacesTransactions.batch(transactions, "BookmarkState::save");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -157,7 +157,7 @@ index 513199c212ab22c8af9e084352b6aa2647818000..9610e73af653fbc620e330a1e6e7b543
|
|||||||
/**
|
/**
|
||||||
* Append transactions to update tags by given information.
|
* Append transactions to update tags by given information.
|
||||||
*
|
*
|
||||||
@@ -903,7 +1012,7 @@ export var PlacesUIUtils = {
|
@@ -904,7 +1013,7 @@ export var PlacesUIUtils = {
|
||||||
aNode,
|
aNode,
|
||||||
aWhere,
|
aWhere,
|
||||||
aWindow,
|
aWindow,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
|
diff --git a/browser/components/places/content/browserPlacesViews.js b/browser/components/places/content/browserPlacesViews.js
|
||||||
index ad138a38340e8e8510d395f46c30ec4121d731bb..52beaa66395e2b240a7122936cd4d2452b386724 100644
|
index 29fb3308dcc98d785a3345dee78050d633927db2..0ae28fa0618def4a146723b19a22280956a25371 100644
|
||||||
--- a/browser/components/places/content/browserPlacesViews.js
|
--- a/browser/components/places/content/browserPlacesViews.js
|
||||||
+++ b/browser/components/places/content/browserPlacesViews.js
|
+++ b/browser/components/places/content/browserPlacesViews.js
|
||||||
@@ -330,12 +330,23 @@ class PlacesViewBase {
|
@@ -330,12 +330,23 @@ class PlacesViewBase {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/places/content/editBookmark.js b/browser/components/places/content/editBookmark.js
|
diff --git a/browser/components/places/content/editBookmark.js b/browser/components/places/content/editBookmark.js
|
||||||
index ac84ff7b7623a279191c7608ef0b47363b54cd31..53919bae7a49f1e87edaedc8072ee08fb697811b 100644
|
index f562f19741d882d92365da531b55e2810a0e79ea..9339e1158b074c41fc19bf91cbfde3c4016594b9 100644
|
||||||
--- a/browser/components/places/content/editBookmark.js
|
--- a/browser/components/places/content/editBookmark.js
|
||||||
+++ b/browser/components/places/content/editBookmark.js
|
+++ b/browser/components/places/content/editBookmark.js
|
||||||
@@ -386,6 +386,10 @@ var gEditItemOverlay = {
|
@@ -387,6 +387,10 @@ var gEditItemOverlay = {
|
||||||
this._keywordField.readOnly = this.readOnly;
|
this._keywordField.readOnly = this.readOnly;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ index ac84ff7b7623a279191c7608ef0b47363b54cd31..53919bae7a49f1e87edaedc8072ee08f
|
|||||||
// Collapse the tag selector if the item does not accept tags.
|
// Collapse the tag selector if the item does not accept tags.
|
||||||
if (showOrCollapse("tagsRow", isBookmark || bulkTagging, "tags")) {
|
if (showOrCollapse("tagsRow", isBookmark || bulkTagging, "tags")) {
|
||||||
this._initTagsField();
|
this._initTagsField();
|
||||||
@@ -692,6 +696,7 @@ var gEditItemOverlay = {
|
@@ -693,6 +697,7 @@ var gEditItemOverlay = {
|
||||||
if (this._paneInfo.isBookmark) {
|
if (this._paneInfo.isBookmark) {
|
||||||
options.tags = this._element("tagsField").value;
|
options.tags = this._element("tagsField").value;
|
||||||
options.keyword = this._keyword;
|
options.keyword = this._keyword;
|
||||||
@@ -21,7 +21,7 @@ index ac84ff7b7623a279191c7608ef0b47363b54cd31..53919bae7a49f1e87edaedc8072ee08f
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this._paneInfo.bulkTagging) {
|
if (this._paneInfo.bulkTagging) {
|
||||||
@@ -1193,6 +1198,9 @@ var gEditItemOverlay = {
|
@@ -1194,6 +1199,9 @@ var gEditItemOverlay = {
|
||||||
case "editBMPanel_tagsSelectorExpander":
|
case "editBMPanel_tagsSelectorExpander":
|
||||||
this.toggleTagsSelector().catch(console.error);
|
this.toggleTagsSelector().catch(console.error);
|
||||||
break;
|
break;
|
||||||
@@ -31,7 +31,7 @@ index ac84ff7b7623a279191c7608ef0b47363b54cd31..53919bae7a49f1e87edaedc8072ee08f
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1279,6 +1287,148 @@ var gEditItemOverlay = {
|
@@ -1280,6 +1288,148 @@ var gEditItemOverlay = {
|
||||||
get bookmarkState() {
|
get bookmarkState() {
|
||||||
return this._bookmarkState;
|
return this._bookmarkState;
|
||||||
},
|
},
|
||||||
@@ -180,7 +180,7 @@ index ac84ff7b7623a279191c7608ef0b47363b54cd31..53919bae7a49f1e87edaedc8072ee08f
|
|||||||
};
|
};
|
||||||
|
|
||||||
ChromeUtils.defineLazyGetter(gEditItemOverlay, "_folderTree", () => {
|
ChromeUtils.defineLazyGetter(gEditItemOverlay, "_folderTree", () => {
|
||||||
@@ -1317,6 +1467,9 @@ for (let elt of [
|
@@ -1318,6 +1468,9 @@ for (let elt of [
|
||||||
"locationField",
|
"locationField",
|
||||||
"keywordField",
|
"keywordField",
|
||||||
"tagsField",
|
"tagsField",
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
||||||
index 118709048e7de13f6ac10d0047e446b72303428f..c8cc2d7ee551b96be668a7844dab1db5abc9d684 100644
|
index eac1fc65c01107cc7f1a3f3aeb1e8caac3c4a3f5..c3bd265acc924bcf26816e9e78f314c31af41f6d 100644
|
||||||
--- a/browser/components/preferences/jar.mn
|
--- a/browser/components/preferences/jar.mn
|
||||||
+++ b/browser/components/preferences/jar.mn
|
+++ b/browser/components/preferences/jar.mn
|
||||||
@@ -26,3 +26,5 @@ browser.jar:
|
@@ -27,3 +27,5 @@ browser.jar:
|
||||||
content/browser/preferences/widgets/setting-control.mjs (widgets/setting-control/setting-control.mjs)
|
content/browser/preferences/widgets/setting-control.mjs (widgets/setting-control/setting-control.mjs)
|
||||||
content/browser/preferences/widgets/setting-group.mjs (widgets/setting-group/setting-group.mjs)
|
content/browser/preferences/widgets/setting-group.mjs (widgets/setting-group/setting-group.mjs)
|
||||||
content/browser/preferences/widgets/setting-group.css (widgets/setting-group/setting-group.css)
|
content/browser/preferences/widgets/setting-group.css (widgets/setting-group/setting-group.css)
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
|
||||||
index a60831d9309ed73ea6d37725f9b9177dd6677501..c4d357d300b08b5adbe24d38eef5bd20842df665 100644
|
index 3f578f3888684a1830d456f2a4896e8a5f6630fd..7de18a724d3953a5616577f65a8cf9a18f71893c 100644
|
||||||
--- a/browser/components/preferences/main.js
|
--- a/browser/components/preferences/main.js
|
||||||
+++ b/browser/components/preferences/main.js
|
+++ b/browser/components/preferences/main.js
|
||||||
@@ -443,7 +443,7 @@ function getBundleForLocales(newLocales) {
|
@@ -424,7 +424,7 @@ function getBundleForLocales(newLocales) {
|
||||||
])
|
])
|
||||||
);
|
);
|
||||||
return new Localization(
|
return new Localization(
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
||||||
index a50fc9cae85527a10c3949163594ce43b68b14c0..82aec0fb0ebd6ffc6dc3143ddb56e9fe102f0caa 100644
|
index 21d951a19df06da67a28f717b9f80f8f4ebf77d2..b1f998f2b3ed99b19666e81e61428587541b0da5 100644
|
||||||
--- a/browser/components/preferences/preferences.xhtml
|
--- a/browser/components/preferences/preferences.xhtml
|
||||||
+++ b/browser/components/preferences/preferences.xhtml
|
+++ b/browser/components/preferences/preferences.xhtml
|
||||||
@@ -44,6 +44,8 @@
|
@@ -44,6 +44,8 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
|
diff --git a/browser/components/preferences/sync.inc.xhtml b/browser/components/preferences/sync.inc.xhtml
|
||||||
index 492491a369b53797aded1d3e4cf24d6f11394267..b294aa3005b11276ba8f1c58730b85043a19bf3f 100644
|
index e59c536fc2fa06b11be9378a28285ac16fd16958..cf17ee3b6347b950fcf5bf260cd0631c77ffd1d3 100644
|
||||||
--- a/browser/components/preferences/sync.inc.xhtml
|
--- a/browser/components/preferences/sync.inc.xhtml
|
||||||
+++ b/browser/components/preferences/sync.inc.xhtml
|
+++ b/browser/components/preferences/sync.inc.xhtml
|
||||||
@@ -229,6 +229,10 @@
|
@@ -223,6 +223,10 @@
|
||||||
<image class="sync-engine-image sync-engine-prefs" alt=""/>
|
<image class="sync-engine-image sync-engine-prefs" alt=""/>
|
||||||
<label data-l10n-id="sync-currently-syncing-settings"/>
|
<label data-l10n-id="sync-currently-syncing-settings"/>
|
||||||
</html:div>
|
</html:div>
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs
|
diff --git a/browser/components/search/SearchUIUtils.sys.mjs b/browser/components/search/SearchUIUtils.sys.mjs
|
||||||
index dfd18da85323751c4be7963cb5ab2357de488d83..e228bf594a0a736396cabd247bac4033091afccc 100644
|
index 6ef224ce377cf3ff511e435f3c7a5dc1de819c60..5b4c395c222c6317fd88499a1aa5307032ea13f8 100644
|
||||||
--- a/browser/components/search/SearchUIUtils.sys.mjs
|
--- a/browser/components/search/SearchUIUtils.sys.mjs
|
||||||
+++ b/browser/components/search/SearchUIUtils.sys.mjs
|
+++ b/browser/components/search/SearchUIUtils.sys.mjs
|
||||||
@@ -412,7 +412,7 @@ export var SearchUIUtils = {
|
@@ -426,7 +426,7 @@ export var SearchUIUtils = {
|
||||||
triggeringSearchEngine: engine.name,
|
triggeringSearchEngine: engine.name,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c292756c3 100644
|
index e8192ea9d8d35165fbfbb8c4fc4a96641a80cc86..fcd331a25a34e406e8f74d15db8567f79bdefd9e 100644
|
||||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
@@ -2135,7 +2135,6 @@ var SessionStoreInternal = {
|
@@ -2133,7 +2133,6 @@ var SessionStoreInternal = {
|
||||||
if (closedWindowState) {
|
if (closedWindowState) {
|
||||||
let newWindowState;
|
let newWindowState;
|
||||||
if (
|
if (
|
||||||
@@ -10,7 +10,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
!lazy.SessionStartup.willRestore()
|
!lazy.SessionStartup.willRestore()
|
||||||
) {
|
) {
|
||||||
// We want to split the window up into pinned tabs and unpinned tabs.
|
// We want to split the window up into pinned tabs and unpinned tabs.
|
||||||
@@ -2368,11 +2367,9 @@ var SessionStoreInternal = {
|
@@ -2366,11 +2365,9 @@ var SessionStoreInternal = {
|
||||||
tabbrowser.selectedTab.label;
|
tabbrowser.selectedTab.label;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
|
|
||||||
// Store the window's close date to figure out when each individual tab
|
// Store the window's close date to figure out when each individual tab
|
||||||
// was closed. This timestamp should allow re-arranging data based on how
|
// was closed. This timestamp should allow re-arranging data based on how
|
||||||
@@ -3357,7 +3354,7 @@ var SessionStoreInternal = {
|
@@ -3355,7 +3352,7 @@ var SessionStoreInternal = {
|
||||||
if (!isPrivateWindow && tabState.isPrivate) {
|
if (!isPrivateWindow && tabState.isPrivate) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4069,6 +4066,11 @@ var SessionStoreInternal = {
|
@@ -4067,6 +4064,11 @@ var SessionStoreInternal = {
|
||||||
Math.min(tabState.index, tabState.entries.length)
|
Math.min(tabState.index, tabState.entries.length)
|
||||||
);
|
);
|
||||||
tabState.pinned = false;
|
tabState.pinned = false;
|
||||||
@@ -43,7 +43,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
|
|
||||||
if (inBackground === false) {
|
if (inBackground === false) {
|
||||||
aWindow.gBrowser.selectedTab = newTab;
|
aWindow.gBrowser.selectedTab = newTab;
|
||||||
@@ -4505,6 +4507,7 @@ var SessionStoreInternal = {
|
@@ -4503,6 +4505,7 @@ var SessionStoreInternal = {
|
||||||
// Append the tab if we're opening into a different window,
|
// Append the tab if we're opening into a different window,
|
||||||
tabIndex: aSource == aTargetWindow ? pos : Infinity,
|
tabIndex: aSource == aTargetWindow ? pos : Infinity,
|
||||||
pinned: state.pinned,
|
pinned: state.pinned,
|
||||||
@@ -51,7 +51,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
userContextId: state.userContextId,
|
userContextId: state.userContextId,
|
||||||
skipLoad: true,
|
skipLoad: true,
|
||||||
preferredRemoteType,
|
preferredRemoteType,
|
||||||
@@ -5360,7 +5363,7 @@ var SessionStoreInternal = {
|
@@ -5358,7 +5361,7 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
for (let i = tabbrowser.pinnedTabCount; i < tabbrowser.tabs.length; i++) {
|
||||||
let tab = tabbrowser.tabs[i];
|
let tab = tabbrowser.tabs[i];
|
||||||
@@ -60,7 +60,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
removableTabs.push(tab);
|
removableTabs.push(tab);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5420,7 +5423,7 @@ var SessionStoreInternal = {
|
@@ -5418,7 +5421,7 @@ var SessionStoreInternal = {
|
||||||
}
|
}
|
||||||
|
|
||||||
let workspaceID = aWindow.getWorkspaceID();
|
let workspaceID = aWindow.getWorkspaceID();
|
||||||
@@ -69,7 +69,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
winData.workspaceID = workspaceID;
|
winData.workspaceID = workspaceID;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -5611,11 +5614,12 @@ var SessionStoreInternal = {
|
@@ -5609,11 +5612,12 @@ var SessionStoreInternal = {
|
||||||
}
|
}
|
||||||
|
|
||||||
let tabbrowser = aWindow.gBrowser;
|
let tabbrowser = aWindow.gBrowser;
|
||||||
@@ -83,7 +83,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
// update the internal state data for this window
|
// update the internal state data for this window
|
||||||
for (let tab of tabs) {
|
for (let tab of tabs) {
|
||||||
if (tab == aWindow.FirefoxViewHandler.tab) {
|
if (tab == aWindow.FirefoxViewHandler.tab) {
|
||||||
@@ -5626,6 +5630,7 @@ var SessionStoreInternal = {
|
@@ -5624,6 +5628,7 @@ var SessionStoreInternal = {
|
||||||
tabsData.push(tabData);
|
tabsData.push(tabData);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,7 +91,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
// update tab group state for this window
|
// update tab group state for this window
|
||||||
winData.groups = [];
|
winData.groups = [];
|
||||||
for (let tabGroup of aWindow.gBrowser.tabGroups) {
|
for (let tabGroup of aWindow.gBrowser.tabGroups) {
|
||||||
@@ -5638,7 +5643,7 @@ var SessionStoreInternal = {
|
@@ -5636,7 +5641,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,
|
// 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).
|
// since it's only inserted into the tab strip after it's selected).
|
||||||
if (aWindow.FirefoxViewHandler.tab?.selected) {
|
if (aWindow.FirefoxViewHandler.tab?.selected) {
|
||||||
@@ -100,7 +100,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
winData.title = tabbrowser.tabs[0].label;
|
winData.title = tabbrowser.tabs[0].label;
|
||||||
}
|
}
|
||||||
winData.selected = selectedIndex;
|
winData.selected = selectedIndex;
|
||||||
@@ -5750,8 +5755,8 @@ var SessionStoreInternal = {
|
@@ -5748,8 +5753,8 @@ var SessionStoreInternal = {
|
||||||
// selectTab represents.
|
// selectTab represents.
|
||||||
let selectTab = 0;
|
let selectTab = 0;
|
||||||
if (overwriteTabs) {
|
if (overwriteTabs) {
|
||||||
@@ -111,7 +111,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
selectTab = Math.min(selectTab, winData.tabs.length);
|
selectTab = Math.min(selectTab, winData.tabs.length);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5794,6 +5799,8 @@ var SessionStoreInternal = {
|
@@ -5792,6 +5797,8 @@ var SessionStoreInternal = {
|
||||||
winData.tabs,
|
winData.tabs,
|
||||||
winData.groups ?? []
|
winData.groups ?? []
|
||||||
);
|
);
|
||||||
@@ -120,7 +120,7 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
this._log.debug(
|
this._log.debug(
|
||||||
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
|
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
|
||||||
);
|
);
|
||||||
@@ -6351,6 +6358,22 @@ var SessionStoreInternal = {
|
@@ -6349,6 +6356,25 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
// Most of tabData has been restored, now continue with restoring
|
// Most of tabData has been restored, now continue with restoring
|
||||||
// attributes that may trigger external events.
|
// attributes that may trigger external events.
|
||||||
@@ -139,11 +139,14 @@ index e954a8df26ed84731b08b151f90a758206946582..64ab1cce10324d574b49fe861975188c
|
|||||||
+ }
|
+ }
|
||||||
+ if (tabData.zenDefaultUserContextId) {
|
+ if (tabData.zenDefaultUserContextId) {
|
||||||
+ tab.setAttribute("zenDefaultUserContextId", true);
|
+ tab.setAttribute("zenDefaultUserContextId", true);
|
||||||
|
+ }
|
||||||
|
+ if (tabData.zenWorkspace) {
|
||||||
|
+ tab.setAttribute("zen-workspace-id", tabData.zenWorkspace);
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
if (tabData.pinned) {
|
if (tabData.pinned) {
|
||||||
tabbrowser.pinTab(tab);
|
tabbrowser.pinTab(tab);
|
||||||
@@ -7266,7 +7289,7 @@ var SessionStoreInternal = {
|
@@ -7264,7 +7290,7 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
let groupsToSave = new Map();
|
let groupsToSave = new Map();
|
||||||
for (let tIndex = 0; tIndex < window.tabs.length; ) {
|
for (let tIndex = 0; tIndex < window.tabs.length; ) {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
diff --git a/browser/components/sidebar/browser-sidebar.js b/browser/components/sidebar/browser-sidebar.js
|
||||||
index 178c05099b671c4ec8d4c225955e65cff73824e2..6abb0ee2d4be94f997ee8d4bc755a393d9759099 100644
|
index f62decaa3f7400787b245b3e765197f4e70dffbb..329240cf434fdbefcf145a733179bd565a814280 100644
|
||||||
--- a/browser/components/sidebar/browser-sidebar.js
|
--- a/browser/components/sidebar/browser-sidebar.js
|
||||||
+++ b/browser/components/sidebar/browser-sidebar.js
|
+++ b/browser/components/sidebar/browser-sidebar.js
|
||||||
@@ -729,7 +729,7 @@ var SidebarController = {
|
@@ -779,7 +779,7 @@ var SidebarController = {
|
||||||
setPosition() {
|
setPosition() {
|
||||||
// First reset all ordinals to match DOM ordering.
|
// First reset all ordinals to match DOM ordering.
|
||||||
let contentArea = document.getElementById("tabbrowser-tabbox");
|
let contentArea = document.getElementById("tabbrowser-tabbox");
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/browser-ctrlTab.js b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
diff --git a/browser/components/tabbrowser/content/browser-ctrlTab.js b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
index 6753641cb579032306453be3f5054d7bc7661e8c..bf21f6c14f825fbe2d322900595cd34456fe1231 100644
|
index 22db482e62e754135d8a6cf824914a3e3e06c45c..bdc18d575b33e788f9628b4cb648d5c3e8781666 100644
|
||||||
--- a/browser/components/tabbrowser/content/browser-ctrlTab.js
|
--- a/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
+++ b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
+++ b/browser/components/tabbrowser/content/browser-ctrlTab.js
|
||||||
@@ -252,7 +252,8 @@ var ctrlTab = {
|
@@ -252,7 +252,8 @@ var ctrlTab = {
|
||||||
@@ -12,7 +12,7 @@ index 6753641cb579032306453be3f5054d7bc7661e8c..bf21f6c14f825fbe2d322900595cd344
|
|||||||
},
|
},
|
||||||
|
|
||||||
init: function ctrlTab_init() {
|
init: function ctrlTab_init() {
|
||||||
@@ -459,7 +460,7 @@ var ctrlTab = {
|
@@ -463,7 +464,7 @@ var ctrlTab = {
|
||||||
// If the tab is hidden, don't add it to the list unless it's selected
|
// If the tab is hidden, don't add it to the list unless it's selected
|
||||||
// (Normally hidden tabs would be unhidden when selected, but that doesn't
|
// (Normally hidden tabs would be unhidden when selected, but that doesn't
|
||||||
// happen for Firefox View).
|
// happen for Firefox View).
|
||||||
@@ -21,7 +21,7 @@ index 6753641cb579032306453be3f5054d7bc7661e8c..bf21f6c14f825fbe2d322900595cd344
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -483,7 +484,7 @@ var ctrlTab = {
|
@@ -487,7 +488,7 @@ var ctrlTab = {
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function ctrlTab_open() {
|
open: function ctrlTab_open() {
|
||||||
@@ -30,7 +30,7 @@ index 6753641cb579032306453be3f5054d7bc7661e8c..bf21f6c14f825fbe2d322900595cd344
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -761,7 +762,7 @@ var ctrlTab = {
|
@@ -765,7 +766,7 @@ var ctrlTab = {
|
||||||
_initRecentlyUsedTabs() {
|
_initRecentlyUsedTabs() {
|
||||||
this._recentlyUsedTabs = Array.prototype.filter.call(
|
this._recentlyUsedTabs = Array.prototype.filter.call(
|
||||||
gBrowser.tabs,
|
gBrowser.tabs,
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
|
||||||
index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3888a6a64 100644
|
index fd2465046407261e8c29b4cd3d56122d232e701c..937068562975a26834572c408e9a75453bdf49cb 100644
|
||||||
--- a/browser/components/tabbrowser/content/tab.js
|
--- a/browser/components/tabbrowser/content/tab.js
|
||||||
+++ b/browser/components/tabbrowser/content/tab.js
|
+++ b/browser/components/tabbrowser/content/tab.js
|
||||||
@@ -21,6 +21,7 @@
|
@@ -21,6 +21,7 @@
|
||||||
@@ -21,19 +21,25 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
</hbox>
|
</hbox>
|
||||||
</stack>
|
</stack>
|
||||||
`;
|
`;
|
||||||
@@ -97,9 +100,9 @@
|
@@ -84,7 +87,7 @@
|
||||||
"src=image,triggeringprincipal=iconloadingprincipal,requestcontextid,fadein,pinned,selected=visuallyselected,busy,crashed,sharing,pictureinpicture,pending,discarded",
|
".tab-content":
|
||||||
".tab-sharing-icon-overlay": "sharing,selected=visuallyselected,pinned",
|
"pinned,selected=visuallyselected,multiselected,titlechanged,attention",
|
||||||
".tab-icon-overlay":
|
".tab-icon-stack":
|
||||||
- "sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
|
- "sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
|
||||||
+ "zen-essential,sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
|
+ "zen-essential,sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
|
||||||
|
".tab-throbber":
|
||||||
|
"fadein,pinned,busy,progress,selected=visuallyselected",
|
||||||
|
".tab-icon-pending":
|
||||||
|
@@ -95,7 +98,7 @@
|
||||||
|
".tab-icon-overlay":
|
||||||
|
"sharing,pictureinpicture,crashed,busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected=visuallyselected,activemedia-blocked",
|
||||||
".tab-audio-button":
|
".tab-audio-button":
|
||||||
- "crashed,soundplaying,soundplaying-scheduledremoval,pinned,muted,activemedia-blocked",
|
- "crashed,soundplaying,soundplaying-scheduledremoval,pinned,muted,activemedia-blocked",
|
||||||
+ "zen-essential,crashed,soundplaying,soundplaying-scheduledremoval,pinned,muted,activemedia-blocked",
|
+ "zen-essential,crashed,soundplaying,soundplaying-scheduledremoval,pinned,muted,activemedia-blocked",
|
||||||
".tab-label-container":
|
".tab-label-container":
|
||||||
"pinned,selected=visuallyselected,labeldirection",
|
"pinned,selected=visuallyselected,labeldirection",
|
||||||
".tab-label":
|
".tab-label":
|
||||||
@@ -188,7 +191,7 @@
|
@@ -184,7 +187,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
set _visuallySelected(val) {
|
set _visuallySelected(val) {
|
||||||
@@ -42,12 +48,14 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,9 +227,21 @@
|
@@ -220,11 +223,21 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
get visible() {
|
get visible() {
|
||||||
- return (
|
- return (
|
||||||
- this.isOpen && !this.hidden && (!this.group?.collapsed || this.selected)
|
- this.isOpen &&
|
||||||
|
- !this.hidden &&
|
||||||
|
- (!this.group || this.group.isTabVisibleInGroup(this))
|
||||||
- );
|
- );
|
||||||
+ if (!this.isOpen || this.hidden || this.hasAttribute("zen-empty-tab")) {
|
+ if (!this.isOpen || this.hidden || this.hasAttribute("zen-empty-tab")) {
|
||||||
+ return false;
|
+ return false;
|
||||||
@@ -67,7 +75,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
}
|
}
|
||||||
|
|
||||||
get hidden() {
|
get hidden() {
|
||||||
@@ -297,7 +312,7 @@
|
@@ -295,7 +308,7 @@
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +84,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
}
|
}
|
||||||
|
|
||||||
get lastAccessed() {
|
get lastAccessed() {
|
||||||
@@ -374,8 +389,11 @@
|
@@ -372,8 +385,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
get group() {
|
get group() {
|
||||||
@@ -90,7 +98,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -469,6 +487,8 @@
|
@@ -459,6 +475,8 @@
|
||||||
this.style.MozUserFocus = "ignore";
|
this.style.MozUserFocus = "ignore";
|
||||||
} else if (
|
} else if (
|
||||||
event.target.classList.contains("tab-close-button") ||
|
event.target.classList.contains("tab-close-button") ||
|
||||||
@@ -99,7 +107,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
event.target.classList.contains("tab-icon-overlay") ||
|
event.target.classList.contains("tab-icon-overlay") ||
|
||||||
event.target.classList.contains("tab-audio-button")
|
event.target.classList.contains("tab-audio-button")
|
||||||
) {
|
) {
|
||||||
@@ -523,6 +543,10 @@
|
@@ -513,6 +531,10 @@
|
||||||
this.style.MozUserFocus = "";
|
this.style.MozUserFocus = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,7 +118,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
on_click(event) {
|
on_click(event) {
|
||||||
if (event.button != 0) {
|
if (event.button != 0) {
|
||||||
return;
|
return;
|
||||||
@@ -571,6 +595,7 @@
|
@@ -561,6 +583,7 @@
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
@@ -118,7 +126,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
gBrowser.removeTab(this, {
|
gBrowser.removeTab(this, {
|
||||||
animate: true,
|
animate: true,
|
||||||
triggeringEvent: event,
|
triggeringEvent: event,
|
||||||
@@ -583,6 +608,14 @@
|
@@ -573,6 +596,14 @@
|
||||||
// (see tabbrowser-tabs 'click' handler).
|
// (see tabbrowser-tabs 'click' handler).
|
||||||
gBrowser.tabContainer._blockDblClick = true;
|
gBrowser.tabContainer._blockDblClick = true;
|
||||||
}
|
}
|
||||||
@@ -133,7 +141,7 @@ index f261f0f2c7945cbdb41e5d1b6067a8db38bef117..f126879aa9e843c74992aa751795aef3
|
|||||||
}
|
}
|
||||||
|
|
||||||
on_dblclick(event) {
|
on_dblclick(event) {
|
||||||
@@ -606,6 +639,8 @@
|
@@ -596,6 +627,8 @@
|
||||||
animate: true,
|
animate: true,
|
||||||
triggeringEvent: event,
|
triggeringEvent: event,
|
||||||
});
|
});
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c328341c6e6eb 100644
|
index 3204f253c23551650991d3385dd256d55892a012..78727727a0c623e0213177700124869b2163b89c 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
@@ -422,15 +422,64 @@
|
@@ -427,15 +427,64 @@
|
||||||
return this.tabContainer.visibleTabs;
|
return this.tabContainer.visibleTabs;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
set selectedTab(val) {
|
set selectedTab(val) {
|
||||||
if (
|
if (
|
||||||
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
gSharedTabWarning.willShowSharedTabWarning(val) ||
|
||||||
@@ -578,6 +627,7 @@
|
@@ -583,6 +632,7 @@
|
||||||
this.tabpanels.appendChild(panel);
|
this.tabpanels.appendChild(panel);
|
||||||
|
|
||||||
let tab = this.tabs[0];
|
let tab = this.tabs[0];
|
||||||
@@ -77,7 +77,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
tab.linkedPanel = uniqueId;
|
tab.linkedPanel = uniqueId;
|
||||||
this._selectedTab = tab;
|
this._selectedTab = tab;
|
||||||
this._selectedBrowser = browser;
|
this._selectedBrowser = browser;
|
||||||
@@ -863,9 +913,13 @@
|
@@ -868,9 +918,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.showTab(aTab);
|
this.showTab(aTab);
|
||||||
@@ -92,7 +92,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
aTab.setAttribute("pinned", "true");
|
aTab.setAttribute("pinned", "true");
|
||||||
this._updateTabBarForPinnedTabs();
|
this._updateTabBarForPinnedTabs();
|
||||||
@@ -878,11 +932,15 @@
|
@@ -883,11 +937,15 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#handleTabMove(aTab, () => {
|
this.#handleTabMove(aTab, () => {
|
||||||
@@ -109,7 +109,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
});
|
});
|
||||||
|
|
||||||
aTab.style.marginInlineStart = "";
|
aTab.style.marginInlineStart = "";
|
||||||
@@ -1060,6 +1118,8 @@
|
@@ -1065,6 +1123,8 @@
|
||||||
|
|
||||||
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
let LOCAL_PROTOCOLS = ["chrome:", "about:", "resource:", "data:"];
|
||||||
|
|
||||||
@@ -118,7 +118,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (
|
if (
|
||||||
aIconURL &&
|
aIconURL &&
|
||||||
!aLoadingPrincipal &&
|
!aLoadingPrincipal &&
|
||||||
@@ -1070,6 +1130,9 @@
|
@@ -1075,6 +1135,9 @@
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -128,7 +128,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
let browser = this.getBrowserForTab(aTab);
|
let browser = this.getBrowserForTab(aTab);
|
||||||
browser.mIconURL = aIconURL;
|
browser.mIconURL = aIconURL;
|
||||||
@@ -1319,6 +1382,7 @@
|
@@ -1333,6 +1396,7 @@
|
||||||
if (!this._previewMode) {
|
if (!this._previewMode) {
|
||||||
newTab.recordTimeFromUnloadToReload();
|
newTab.recordTimeFromUnloadToReload();
|
||||||
newTab.updateLastAccessed();
|
newTab.updateLastAccessed();
|
||||||
@@ -136,7 +136,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
oldTab.updateLastAccessed();
|
oldTab.updateLastAccessed();
|
||||||
// if this is the foreground window, update the last-seen timestamps.
|
// if this is the foreground window, update the last-seen timestamps.
|
||||||
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
if (this.ownerGlobal == BrowserWindowTracker.getTopWindow()) {
|
||||||
@@ -1471,6 +1535,9 @@
|
@@ -1485,6 +1549,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let activeEl = document.activeElement;
|
let activeEl = document.activeElement;
|
||||||
@@ -146,7 +146,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// If focus is on the old tab, move it to the new tab.
|
// If focus is on the old tab, move it to the new tab.
|
||||||
if (activeEl == oldTab) {
|
if (activeEl == oldTab) {
|
||||||
newTab.focus();
|
newTab.focus();
|
||||||
@@ -1794,7 +1861,8 @@
|
@@ -1808,7 +1875,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
|
_setTabLabel(aTab, aLabel, { beforeTabOpen, isContentTitle, isURL } = {}) {
|
||||||
@@ -156,7 +156,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1902,7 +1970,7 @@
|
@@ -1916,7 +1984,7 @@
|
||||||
newIndex = this.selectedTab._tPos + 1;
|
newIndex = this.selectedTab._tPos + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,7 +165,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (this.isTabGroupLabel(targetTab)) {
|
if (this.isTabGroupLabel(targetTab)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
"Replacing a tab group label with a tab is not supported"
|
"Replacing a tab group label with a tab is not supported"
|
||||||
@@ -2166,6 +2234,7 @@
|
@@ -2191,6 +2259,7 @@
|
||||||
uriIsAboutBlank,
|
uriIsAboutBlank,
|
||||||
userContextId,
|
userContextId,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
@@ -173,7 +173,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} = {}) {
|
} = {}) {
|
||||||
let b = document.createXULElement("browser");
|
let b = document.createXULElement("browser");
|
||||||
// Use the JSM global to create the permanentKey, so that if the
|
// Use the JSM global to create the permanentKey, so that if the
|
||||||
@@ -2239,8 +2308,7 @@
|
@@ -2264,8 +2333,7 @@
|
||||||
// we use a different attribute name for this?
|
// we use a different attribute name for this?
|
||||||
b.setAttribute("name", name);
|
b.setAttribute("name", name);
|
||||||
}
|
}
|
||||||
@@ -183,7 +183,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
b.setAttribute("transparent", "true");
|
b.setAttribute("transparent", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2405,7 +2473,7 @@
|
@@ -2430,7 +2498,7 @@
|
||||||
|
|
||||||
let panel = this.getPanel(browser);
|
let panel = this.getPanel(browser);
|
||||||
let uniqueId = this._generateUniquePanelID();
|
let uniqueId = this._generateUniquePanelID();
|
||||||
@@ -192,7 +192,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
aTab.linkedPanel = uniqueId;
|
aTab.linkedPanel = uniqueId;
|
||||||
|
|
||||||
// Inject the <browser> into the DOM if necessary.
|
// Inject the <browser> into the DOM if necessary.
|
||||||
@@ -2464,8 +2532,8 @@
|
@@ -2489,8 +2557,8 @@
|
||||||
// If we transitioned from one browser to two browsers, we need to set
|
// If we transitioned from one browser to two browsers, we need to set
|
||||||
// hasSiblings=false on both the existing browser and the new browser.
|
// hasSiblings=false on both the existing browser and the new browser.
|
||||||
if (this.tabs.length == 2) {
|
if (this.tabs.length == 2) {
|
||||||
@@ -203,7 +203,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else {
|
} else {
|
||||||
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
aTab.linkedBrowser.browsingContext.hasSiblings = this.tabs.length > 1;
|
||||||
}
|
}
|
||||||
@@ -2629,7 +2697,6 @@
|
@@ -2654,7 +2722,6 @@
|
||||||
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
this.selectedTab = this.addTrustedTab(BROWSER_NEW_TAB_URL, {
|
||||||
tabIndex: tab._tPos + 1,
|
tabIndex: tab._tPos + 1,
|
||||||
userContextId: tab.userContextId,
|
userContextId: tab.userContextId,
|
||||||
@@ -211,7 +211,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
focusUrlBar: true,
|
focusUrlBar: true,
|
||||||
});
|
});
|
||||||
resolve(this.selectedBrowser);
|
resolve(this.selectedBrowser);
|
||||||
@@ -2709,6 +2776,8 @@
|
@@ -2734,6 +2801,8 @@
|
||||||
schemelessInput,
|
schemelessInput,
|
||||||
hasValidUserGestureActivation = false,
|
hasValidUserGestureActivation = false,
|
||||||
textDirectiveUserActivation = false,
|
textDirectiveUserActivation = false,
|
||||||
@@ -220,7 +220,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
// all callers of addTab that pass a params object need to pass
|
// all callers of addTab that pass a params object need to pass
|
||||||
@@ -2719,6 +2788,12 @@
|
@@ -2744,6 +2813,12 @@
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +233,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
if (!UserInteraction.running("browser.tabs.opening", window)) {
|
||||||
UserInteraction.start("browser.tabs.opening", "initting", window);
|
UserInteraction.start("browser.tabs.opening", "initting", window);
|
||||||
}
|
}
|
||||||
@@ -2782,6 +2857,19 @@
|
@@ -2807,6 +2882,19 @@
|
||||||
noInitialLabel,
|
noInitialLabel,
|
||||||
skipBackgroundNotify,
|
skipBackgroundNotify,
|
||||||
});
|
});
|
||||||
@@ -253,7 +253,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (insertTab) {
|
if (insertTab) {
|
||||||
// Insert the tab into the tab container in the correct position.
|
// Insert the tab into the tab container in the correct position.
|
||||||
this.#insertTabAtIndex(t, {
|
this.#insertTabAtIndex(t, {
|
||||||
@@ -2790,6 +2878,7 @@
|
@@ -2815,6 +2903,7 @@
|
||||||
ownerTab,
|
ownerTab,
|
||||||
openerTab,
|
openerTab,
|
||||||
pinned,
|
pinned,
|
||||||
@@ -261,7 +261,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
bulkOrderedOpen,
|
bulkOrderedOpen,
|
||||||
tabGroup: tabGroup ?? openerTab?.group,
|
tabGroup: tabGroup ?? openerTab?.group,
|
||||||
});
|
});
|
||||||
@@ -2808,6 +2897,7 @@
|
@@ -2833,6 +2922,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -269,7 +269,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}));
|
}));
|
||||||
|
|
||||||
if (focusUrlBar) {
|
if (focusUrlBar) {
|
||||||
@@ -2928,6 +3018,12 @@
|
@@ -2953,6 +3043,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -282,7 +282,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// Additionally send pinned tab events
|
// Additionally send pinned tab events
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this.#notifyPinnedStatus(t);
|
this.#notifyPinnedStatus(t);
|
||||||
@@ -3016,10 +3112,10 @@
|
@@ -3041,10 +3137,10 @@
|
||||||
isAdoptingGroup = false,
|
isAdoptingGroup = false,
|
||||||
isUserTriggered = false,
|
isUserTriggered = false,
|
||||||
telemetryUserCreateSource = "unknown",
|
telemetryUserCreateSource = "unknown",
|
||||||
@@ -294,7 +294,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!color) {
|
if (!color) {
|
||||||
@@ -3040,9 +3136,14 @@
|
@@ -3065,9 +3161,14 @@
|
||||||
label,
|
label,
|
||||||
isAdoptingGroup
|
isAdoptingGroup
|
||||||
);
|
);
|
||||||
@@ -311,7 +311,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
);
|
);
|
||||||
group.addTabs(tabs);
|
group.addTabs(tabs);
|
||||||
|
|
||||||
@@ -3163,7 +3264,7 @@
|
@@ -3188,7 +3289,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
this.#handleTabMove(tab, () =>
|
this.#handleTabMove(tab, () =>
|
||||||
@@ -320,7 +320,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3365,6 +3466,7 @@
|
@@ -3390,6 +3491,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
triggeringRemoteType,
|
triggeringRemoteType,
|
||||||
@@ -328,7 +328,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
// If we don't have a preferred remote type (or it is `NOT_REMOTE`), and
|
||||||
@@ -3434,6 +3536,7 @@
|
@@ -3459,6 +3561,7 @@
|
||||||
openWindowInfo,
|
openWindowInfo,
|
||||||
name,
|
name,
|
||||||
skipLoad,
|
skipLoad,
|
||||||
@@ -336,7 +336,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3621,7 +3724,7 @@
|
@@ -3646,7 +3749,7 @@
|
||||||
// Add a new tab if needed.
|
// Add a new tab if needed.
|
||||||
if (!tab) {
|
if (!tab) {
|
||||||
let createLazyBrowser =
|
let createLazyBrowser =
|
||||||
@@ -345,7 +345,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
let url = "about:blank";
|
let url = "about:blank";
|
||||||
if (tabData.entries?.length) {
|
if (tabData.entries?.length) {
|
||||||
@@ -3658,8 +3761,10 @@
|
@@ -3683,8 +3786,10 @@
|
||||||
insertTab: false,
|
insertTab: false,
|
||||||
skipLoad: true,
|
skipLoad: true,
|
||||||
preferredRemoteType,
|
preferredRemoteType,
|
||||||
@@ -357,7 +357,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (select) {
|
if (select) {
|
||||||
tabToSelect = tab;
|
tabToSelect = tab;
|
||||||
}
|
}
|
||||||
@@ -3671,7 +3776,8 @@
|
@@ -3696,7 +3801,8 @@
|
||||||
this.pinTab(tab);
|
this.pinTab(tab);
|
||||||
// Then ensure all the tab open/pinning information is sent.
|
// Then ensure all the tab open/pinning information is sent.
|
||||||
this._fireTabOpen(tab, {});
|
this._fireTabOpen(tab, {});
|
||||||
@@ -367,7 +367,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
let { groupId } = tabData;
|
let { groupId } = tabData;
|
||||||
const tabGroup = tabGroupWorkingData.get(groupId);
|
const tabGroup = tabGroupWorkingData.get(groupId);
|
||||||
// if a tab refers to a tab group we don't know, skip any group
|
// if a tab refers to a tab group we don't know, skip any group
|
||||||
@@ -3685,7 +3791,10 @@
|
@@ -3710,7 +3816,10 @@
|
||||||
tabGroup.stateData.id,
|
tabGroup.stateData.id,
|
||||||
tabGroup.stateData.color,
|
tabGroup.stateData.color,
|
||||||
tabGroup.stateData.collapsed,
|
tabGroup.stateData.collapsed,
|
||||||
@@ -379,7 +379,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
);
|
);
|
||||||
tabsFragment.appendChild(tabGroup.node);
|
tabsFragment.appendChild(tabGroup.node);
|
||||||
}
|
}
|
||||||
@@ -3730,9 +3839,23 @@
|
@@ -3755,9 +3864,23 @@
|
||||||
// to remove the old selected tab.
|
// to remove the old selected tab.
|
||||||
if (tabToSelect) {
|
if (tabToSelect) {
|
||||||
let leftoverTab = this.selectedTab;
|
let leftoverTab = this.selectedTab;
|
||||||
@@ -403,7 +403,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
if (tabs.length > 1 || !tabs[0].selected) {
|
if (tabs.length > 1 || !tabs[0].selected) {
|
||||||
this._updateTabsAfterInsert();
|
this._updateTabsAfterInsert();
|
||||||
@@ -3923,11 +4046,14 @@
|
@@ -3948,11 +4071,14 @@
|
||||||
if (ownerTab) {
|
if (ownerTab) {
|
||||||
tab.owner = ownerTab;
|
tab.owner = ownerTab;
|
||||||
}
|
}
|
||||||
@@ -419,7 +419,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (
|
if (
|
||||||
!bulkOrderedOpen &&
|
!bulkOrderedOpen &&
|
||||||
((openerTab &&
|
((openerTab &&
|
||||||
@@ -3939,7 +4065,7 @@
|
@@ -3964,7 +4090,7 @@
|
||||||
let lastRelatedTab =
|
let lastRelatedTab =
|
||||||
openerTab && this._lastRelatedTabMap.get(openerTab);
|
openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||||
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
let previousTab = lastRelatedTab || openerTab || this.selectedTab;
|
||||||
@@ -428,7 +428,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
tabGroup = previousTab.group;
|
tabGroup = previousTab.group;
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
@@ -3950,7 +4076,7 @@
|
@@ -3975,7 +4101,7 @@
|
||||||
) {
|
) {
|
||||||
elementIndex = Infinity;
|
elementIndex = Infinity;
|
||||||
} else if (previousTab.visible) {
|
} else if (previousTab.visible) {
|
||||||
@@ -437,7 +437,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else if (previousTab == FirefoxViewHandler.tab) {
|
} else if (previousTab == FirefoxViewHandler.tab) {
|
||||||
elementIndex = 0;
|
elementIndex = 0;
|
||||||
}
|
}
|
||||||
@@ -3978,14 +4104,14 @@
|
@@ -4003,14 +4129,14 @@
|
||||||
}
|
}
|
||||||
// Ensure index is within bounds.
|
// Ensure index is within bounds.
|
||||||
if (tab.pinned) {
|
if (tab.pinned) {
|
||||||
@@ -456,7 +456,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
if (pinned && !itemAfter?.pinned) {
|
if (pinned && !itemAfter?.pinned) {
|
||||||
itemAfter = null;
|
itemAfter = null;
|
||||||
@@ -3996,7 +4122,7 @@
|
@@ -4021,7 +4147,7 @@
|
||||||
|
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
|
|
||||||
@@ -465,7 +465,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
if (this.isTab(itemAfter) && itemAfter.group == tabGroup) {
|
||||||
// Place at the front of, or between tabs in, the same tab group
|
// Place at the front of, or between tabs in, the same tab group
|
||||||
this.tabContainer.insertBefore(tab, itemAfter);
|
this.tabContainer.insertBefore(tab, itemAfter);
|
||||||
@@ -4032,6 +4158,7 @@
|
@@ -4057,6 +4183,7 @@
|
||||||
if (pinned) {
|
if (pinned) {
|
||||||
this._updateTabBarForPinnedTabs();
|
this._updateTabBarForPinnedTabs();
|
||||||
}
|
}
|
||||||
@@ -473,7 +473,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -4321,6 +4448,9 @@
|
@@ -4346,6 +4473,9 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -483,7 +483,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
|
this.removeTabs(selectedTabs, { isUserTriggered, telemetrySource });
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4582,6 +4712,7 @@
|
@@ -4607,6 +4737,7 @@
|
||||||
telemetrySource,
|
telemetrySource,
|
||||||
} = {}
|
} = {}
|
||||||
) {
|
) {
|
||||||
@@ -491,7 +491,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
// When 'closeWindowWithLastTab' pref is enabled, closing all tabs
|
||||||
// can be considered equivalent to closing the window.
|
// can be considered equivalent to closing the window.
|
||||||
if (
|
if (
|
||||||
@@ -4671,6 +4802,7 @@
|
@@ -4696,6 +4827,7 @@
|
||||||
if (lastToClose) {
|
if (lastToClose) {
|
||||||
this.removeTab(lastToClose, aParams);
|
this.removeTab(lastToClose, aParams);
|
||||||
}
|
}
|
||||||
@@ -499,7 +499,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
}
|
}
|
||||||
@@ -4709,6 +4841,12 @@
|
@@ -4734,6 +4866,12 @@
|
||||||
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
aTab._closeTimeNoAnimTimerId = Glean.browserTabclose.timeNoAnim.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -512,7 +512,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// Handle requests for synchronously removing an already
|
// Handle requests for synchronously removing an already
|
||||||
// asynchronously closing tab.
|
// asynchronously closing tab.
|
||||||
if (!animate && aTab.closing) {
|
if (!animate && aTab.closing) {
|
||||||
@@ -4723,6 +4861,9 @@
|
@@ -4748,6 +4886,9 @@
|
||||||
// state).
|
// state).
|
||||||
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
let tabWidth = window.windowUtils.getBoundsWithoutFlushing(aTab).width;
|
||||||
let isLastTab = this.#isLastTabInWindow(aTab);
|
let isLastTab = this.#isLastTabInWindow(aTab);
|
||||||
@@ -522,7 +522,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (
|
if (
|
||||||
!this._beginRemoveTab(aTab, {
|
!this._beginRemoveTab(aTab, {
|
||||||
closeWindowFastpath: true,
|
closeWindowFastpath: true,
|
||||||
@@ -4771,7 +4912,9 @@
|
@@ -4796,7 +4937,9 @@
|
||||||
// We're not animating, so we can cancel the animation stopwatch.
|
// We're not animating, so we can cancel the animation stopwatch.
|
||||||
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
Glean.browserTabclose.timeAnim.cancel(aTab._closeTimeAnimTimerId);
|
||||||
aTab._closeTimeAnimTimerId = null;
|
aTab._closeTimeAnimTimerId = null;
|
||||||
@@ -532,7 +532,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4905,7 +5048,7 @@
|
@@ -4930,7 +5073,7 @@
|
||||||
closeWindowWithLastTab != null
|
closeWindowWithLastTab != null
|
||||||
? closeWindowWithLastTab
|
? closeWindowWithLastTab
|
||||||
: !window.toolbar.visible ||
|
: !window.toolbar.visible ||
|
||||||
@@ -541,7 +541,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
if (closeWindow) {
|
if (closeWindow) {
|
||||||
// We've already called beforeunload on all the relevant tabs if we get here,
|
// We've already called beforeunload on all the relevant tabs if we get here,
|
||||||
@@ -4929,6 +5072,7 @@
|
@@ -4954,6 +5097,7 @@
|
||||||
|
|
||||||
newTab = true;
|
newTab = true;
|
||||||
}
|
}
|
||||||
@@ -549,7 +549,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
aTab._endRemoveArgs = [closeWindow, newTab];
|
aTab._endRemoveArgs = [closeWindow, newTab];
|
||||||
|
|
||||||
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
// swapBrowsersAndCloseOther will take care of closing the window without animation.
|
||||||
@@ -4969,13 +5113,7 @@
|
@@ -4994,13 +5138,7 @@
|
||||||
aTab._mouseleave();
|
aTab._mouseleave();
|
||||||
|
|
||||||
if (newTab) {
|
if (newTab) {
|
||||||
@@ -564,7 +564,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else {
|
} else {
|
||||||
TabBarVisibility.update();
|
TabBarVisibility.update();
|
||||||
}
|
}
|
||||||
@@ -5108,6 +5246,7 @@
|
@@ -5133,6 +5271,7 @@
|
||||||
this.tabs[i]._tPos = i;
|
this.tabs[i]._tPos = i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -572,7 +572,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (!this._windowIsClosing) {
|
if (!this._windowIsClosing) {
|
||||||
// update tab close buttons state
|
// update tab close buttons state
|
||||||
this.tabContainer._updateCloseButtons();
|
this.tabContainer._updateCloseButtons();
|
||||||
@@ -5320,6 +5459,7 @@
|
@@ -5345,6 +5484,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
let excludeTabs = new Set(aExcludeTabs);
|
let excludeTabs = new Set(aExcludeTabs);
|
||||||
@@ -580,7 +580,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
|
|
||||||
// If this tab has a successor, it should be selectable, since
|
// If this tab has a successor, it should be selectable, since
|
||||||
// hiding or closing a tab removes that tab as a successor.
|
// hiding or closing a tab removes that tab as a successor.
|
||||||
@@ -5332,13 +5472,13 @@
|
@@ -5357,13 +5497,13 @@
|
||||||
!excludeTabs.has(aTab.owner) &&
|
!excludeTabs.has(aTab.owner) &&
|
||||||
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
Services.prefs.getBoolPref("browser.tabs.selectOwnerOnClose")
|
||||||
) {
|
) {
|
||||||
@@ -596,7 +596,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
);
|
);
|
||||||
|
|
||||||
let tab = this.tabContainer.findNextTab(aTab, {
|
let tab = this.tabContainer.findNextTab(aTab, {
|
||||||
@@ -5354,7 +5494,7 @@
|
@@ -5379,7 +5519,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tab) {
|
if (tab) {
|
||||||
@@ -605,7 +605,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If no qualifying visible tab was found, see if there is a tab in
|
// If no qualifying visible tab was found, see if there is a tab in
|
||||||
@@ -5375,7 +5515,7 @@
|
@@ -5400,7 +5540,7 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -614,7 +614,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}
|
}
|
||||||
|
|
||||||
_blurTab(aTab) {
|
_blurTab(aTab) {
|
||||||
@@ -5777,10 +5917,10 @@
|
@@ -5802,10 +5942,10 @@
|
||||||
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
SessionStore.deleteCustomTabValue(aTab, "hiddenBy");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -627,7 +627,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
aTab.selected ||
|
aTab.selected ||
|
||||||
aTab.closing ||
|
aTab.closing ||
|
||||||
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
// Tabs that are sharing the screen, microphone or camera cannot be hidden.
|
||||||
@@ -5839,6 +5979,7 @@
|
@@ -5864,6 +6004,7 @@
|
||||||
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
|
* @param {MozTabbrowserTab|MozTabbrowserTabGroup|MozTabbrowserTabGroup.labelElement} aTab
|
||||||
*/
|
*/
|
||||||
replaceTabWithWindow(aTab, aOptions) {
|
replaceTabWithWindow(aTab, aOptions) {
|
||||||
@@ -635,7 +635,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (this.tabs.length == 1) {
|
if (this.tabs.length == 1) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -5972,7 +6113,7 @@
|
@@ -5997,7 +6138,7 @@
|
||||||
* `true` if element is a `<tab-group>`
|
* `true` if element is a `<tab-group>`
|
||||||
*/
|
*/
|
||||||
isTabGroup(element) {
|
isTabGroup(element) {
|
||||||
@@ -644,7 +644,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -6048,8 +6189,8 @@
|
@@ -6073,8 +6214,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't allow mixing pinned and unpinned tabs.
|
// Don't allow mixing pinned and unpinned tabs.
|
||||||
@@ -655,7 +655,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else {
|
} else {
|
||||||
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
tabIndex = Math.max(tabIndex, this.pinnedTabCount);
|
||||||
}
|
}
|
||||||
@@ -6075,10 +6216,16 @@
|
@@ -6100,10 +6241,16 @@
|
||||||
this.#handleTabMove(
|
this.#handleTabMove(
|
||||||
element,
|
element,
|
||||||
() => {
|
() => {
|
||||||
@@ -674,7 +674,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
if (neighbor && this.isTab(element) && tabIndex > element._tPos) {
|
||||||
neighbor.after(element);
|
neighbor.after(element);
|
||||||
} else {
|
} else {
|
||||||
@@ -6136,23 +6283,28 @@
|
@@ -6161,23 +6308,28 @@
|
||||||
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
#moveTabNextTo(element, targetElement, moveBefore = false, metricsContext) {
|
||||||
if (this.isTabGroupLabel(targetElement)) {
|
if (this.isTabGroupLabel(targetElement)) {
|
||||||
targetElement = targetElement.group;
|
targetElement = targetElement.group;
|
||||||
@@ -709,7 +709,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
} else if (!element.pinned && targetElement && targetElement.pinned) {
|
||||||
// If the caller asks to move an unpinned element next to a 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
|
// tab, move the unpinned element to be the first unpinned element
|
||||||
@@ -6165,14 +6317,34 @@
|
@@ -6190,14 +6342,34 @@
|
||||||
// move the tab group right before the first unpinned tab.
|
// move the tab group right before the first unpinned tab.
|
||||||
// 4. Moving a tab group and the first unpinned tab is grouped:
|
// 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.
|
// move the tab group right before the first unpinned tab's tab group.
|
||||||
@@ -745,7 +745,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
element.pinned
|
element.pinned
|
||||||
? this.tabContainer.pinnedTabsContainer
|
? this.tabContainer.pinnedTabsContainer
|
||||||
: this.tabContainer;
|
: this.tabContainer;
|
||||||
@@ -6181,7 +6353,7 @@
|
@@ -6206,7 +6378,7 @@
|
||||||
element,
|
element,
|
||||||
() => {
|
() => {
|
||||||
if (moveBefore) {
|
if (moveBefore) {
|
||||||
@@ -754,7 +754,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
} else if (targetElement) {
|
} else if (targetElement) {
|
||||||
targetElement.after(element);
|
targetElement.after(element);
|
||||||
} else {
|
} else {
|
||||||
@@ -6227,10 +6399,10 @@
|
@@ -6252,10 +6424,10 @@
|
||||||
* @param {TabMetricsContext} [metricsContext]
|
* @param {TabMetricsContext} [metricsContext]
|
||||||
*/
|
*/
|
||||||
moveTabToGroup(aTab, aGroup, metricsContext) {
|
moveTabToGroup(aTab, aGroup, metricsContext) {
|
||||||
@@ -767,7 +767,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (aTab.group && aTab.group.id === aGroup.id) {
|
if (aTab.group && aTab.group.id === aGroup.id) {
|
||||||
@@ -6261,6 +6433,7 @@
|
@@ -6285,6 +6457,7 @@
|
||||||
|
|
||||||
let state = {
|
let state = {
|
||||||
tabIndex: tab._tPos,
|
tabIndex: tab._tPos,
|
||||||
@@ -775,7 +775,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
};
|
};
|
||||||
if (tab.visible) {
|
if (tab.visible) {
|
||||||
state.elementIndex = tab.elementIndex;
|
state.elementIndex = tab.elementIndex;
|
||||||
@@ -6287,7 +6460,7 @@
|
@@ -6311,7 +6484,7 @@
|
||||||
let changedTabGroup =
|
let changedTabGroup =
|
||||||
previousTabState.tabGroupId != currentTabState.tabGroupId;
|
previousTabState.tabGroupId != currentTabState.tabGroupId;
|
||||||
|
|
||||||
@@ -784,7 +784,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
tab.dispatchEvent(
|
tab.dispatchEvent(
|
||||||
new CustomEvent("TabMove", {
|
new CustomEvent("TabMove", {
|
||||||
bubbles: true,
|
bubbles: true,
|
||||||
@@ -6324,6 +6497,10 @@
|
@@ -6348,6 +6521,10 @@
|
||||||
|
|
||||||
moveActionCallback();
|
moveActionCallback();
|
||||||
|
|
||||||
@@ -795,7 +795,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// Clear tabs cache after moving nodes because the order of tabs may have
|
// Clear tabs cache after moving nodes because the order of tabs may have
|
||||||
// changed.
|
// changed.
|
||||||
this.tabContainer._invalidateCachedTabs();
|
this.tabContainer._invalidateCachedTabs();
|
||||||
@@ -7221,7 +7398,7 @@
|
@@ -7249,7 +7426,7 @@
|
||||||
// preventDefault(). It will still raise the window if appropriate.
|
// preventDefault(). It will still raise the window if appropriate.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -804,7 +804,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
window.focus();
|
window.focus();
|
||||||
aEvent.preventDefault();
|
aEvent.preventDefault();
|
||||||
break;
|
break;
|
||||||
@@ -8166,6 +8343,7 @@
|
@@ -8199,6 +8376,7 @@
|
||||||
aWebProgress.isTopLevel
|
aWebProgress.isTopLevel
|
||||||
) {
|
) {
|
||||||
this.mTab.setAttribute("busy", "true");
|
this.mTab.setAttribute("busy", "true");
|
||||||
@@ -812,7 +812,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
gBrowser._tabAttrModified(this.mTab, ["busy"]);
|
||||||
this.mTab._notselectedsinceload = !this.mTab.selected;
|
this.mTab._notselectedsinceload = !this.mTab.selected;
|
||||||
}
|
}
|
||||||
@@ -9157,7 +9335,7 @@ var TabContextMenu = {
|
@@ -9200,7 +9378,7 @@ var TabContextMenu = {
|
||||||
);
|
);
|
||||||
contextUnpinSelectedTabs.hidden =
|
contextUnpinSelectedTabs.hidden =
|
||||||
!this.contextTab.pinned || !this.multiselected;
|
!this.contextTab.pinned || !this.multiselected;
|
||||||
@@ -821,7 +821,7 @@ index d80a66a01002e78a9c65545d08fe786328ddf124..346ebe814381e8aa04140f43e98c3283
|
|||||||
// Build Ask Chat items
|
// Build Ask Chat items
|
||||||
TabContextMenu.GenAI.buildTabMenu(
|
TabContextMenu.GenAI.buildTabMenu(
|
||||||
document.getElementById("context_askChat"),
|
document.getElementById("context_askChat"),
|
||||||
@@ -9476,6 +9654,7 @@ var TabContextMenu = {
|
@@ -9520,6 +9698,7 @@ var TabContextMenu = {
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
|
diff --git a/browser/components/tabbrowser/content/tabgroup.js b/browser/components/tabbrowser/content/tabgroup.js
|
||||||
index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99bf10038d7 100644
|
index c0cb11590d6dfbcf6fa49ef5e10c6d3877191d1f..503e97a4ec87625b154627aa5839fb4f8d050f86 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabgroup.js
|
--- a/browser/components/tabbrowser/content/tabgroup.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabgroup.js
|
+++ b/browser/components/tabbrowser/content/tabgroup.js
|
||||||
@@ -13,10 +13,12 @@
|
@@ -13,10 +13,12 @@
|
||||||
@@ -51,10 +51,10 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
|
|
||||||
this._initialized = true;
|
this._initialized = true;
|
||||||
this.saveOnWindowClose = true;
|
this.saveOnWindowClose = true;
|
||||||
@@ -97,11 +107,14 @@
|
@@ -99,11 +109,14 @@
|
||||||
this.#labelElement.container = gBrowser.tabContainer;
|
|
||||||
this.#labelElement.group = this;
|
|
||||||
|
|
||||||
|
this.#labelElement.addEventListener("mouseover", this);
|
||||||
|
this.#labelElement.addEventListener("mouseout", this);
|
||||||
- this.#labelElement.addEventListener("contextmenu", e => {
|
- this.#labelElement.addEventListener("contextmenu", e => {
|
||||||
- e.preventDefault();
|
- e.preventDefault();
|
||||||
- gBrowser.tabGroupMenu.openEditModal(this);
|
- gBrowser.tabGroupMenu.openEditModal(this);
|
||||||
@@ -71,7 +71,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
|
|
||||||
this.#updateLabelAriaAttributes();
|
this.#updateLabelAriaAttributes();
|
||||||
this.#updateCollapsedAriaAttributes();
|
this.#updateCollapsedAriaAttributes();
|
||||||
@@ -127,6 +140,8 @@
|
@@ -129,6 +142,8 @@
|
||||||
// mounts after getting created by `Tabbrowser.adoptTabGroup`.
|
// mounts after getting created by `Tabbrowser.adoptTabGroup`.
|
||||||
this.#wasCreatedByAdoption = false;
|
this.#wasCreatedByAdoption = false;
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
|
|
||||||
resetDefaultGroupName = () => {
|
resetDefaultGroupName = () => {
|
||||||
this.#defaultGroupName = "";
|
this.#defaultGroupName = "";
|
||||||
@@ -197,7 +212,10 @@
|
@@ -213,7 +228,10 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -92,7 +92,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
}
|
}
|
||||||
|
|
||||||
get color() {
|
get color() {
|
||||||
@@ -285,6 +303,9 @@
|
@@ -307,6 +325,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
set collapsed(val) {
|
set collapsed(val) {
|
||||||
@@ -102,7 +102,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
if (!!val == this.collapsed) {
|
if (!!val == this.collapsed) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -338,12 +359,61 @@
|
@@ -364,7 +385,6 @@
|
||||||
tabGroupName,
|
tabGroupName,
|
||||||
})
|
})
|
||||||
.then(result => {
|
.then(result => {
|
||||||
@@ -110,6 +110,9 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -383,7 +403,57 @@
|
||||||
|
* @returns {MozTabbrowserTab[]}
|
||||||
|
*/
|
||||||
get tabs() {
|
get tabs() {
|
||||||
- return Array.from(this.children).filter(node => node.matches("tab"));
|
- return Array.from(this.children).filter(node => node.matches("tab"));
|
||||||
+ // add other group tabs if they are under this group
|
+ // add other group tabs if they are under this group
|
||||||
@@ -166,7 +169,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -374,7 +444,6 @@
|
@@ -442,7 +512,6 @@
|
||||||
addTabs(tabs, metricsContext) {
|
addTabs(tabs, metricsContext) {
|
||||||
for (let tab of tabs) {
|
for (let tab of tabs) {
|
||||||
if (tab.pinned) {
|
if (tab.pinned) {
|
||||||
@@ -174,7 +177,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
}
|
}
|
||||||
let tabToMove =
|
let tabToMove =
|
||||||
this.ownerGlobal === tab.ownerGlobal
|
this.ownerGlobal === tab.ownerGlobal
|
||||||
@@ -437,7 +506,7 @@
|
@@ -505,7 +574,7 @@
|
||||||
*/
|
*/
|
||||||
on_click(event) {
|
on_click(event) {
|
||||||
let isToggleElement =
|
let isToggleElement =
|
||||||
@@ -183,7 +186,7 @@ index caea196b22b4689f55780a528661d87b52f4e728..725a2dfb10216df3e63d7980e2f1c99b
|
|||||||
event.target === this.#overflowCountLabel;
|
event.target === this.#overflowCountLabel;
|
||||||
if (isToggleElement && event.button === 0) {
|
if (isToggleElement && event.button === 0) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -470,5 +539,6 @@
|
@@ -570,5 +639,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,8 +1,18 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||||
index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa24888de67ccb 100644
|
index c7557dad38db9ef02b981c46de9595df77cb67db..4c5972fceb4cf46718e994200bf48d39cb1923c0 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabs.js
|
--- a/browser/components/tabbrowser/content/tabs.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||||
@@ -332,7 +332,7 @@
|
@@ -44,6 +44,9 @@
|
||||||
|
* @returns {MozTabbrowserTab|vbox}
|
||||||
|
*/
|
||||||
|
const elementToMove = element => {
|
||||||
|
+ if (element.group?.hasAttribute("split-view-group")) {
|
||||||
|
+ return element.group;
|
||||||
|
+ }
|
||||||
|
if (isTab(element)) {
|
||||||
|
return element;
|
||||||
|
}
|
||||||
|
@@ -411,7 +414,7 @@
|
||||||
// and we're not hitting the scroll buttons.
|
// and we're not hitting the scroll buttons.
|
||||||
if (
|
if (
|
||||||
event.button != 0 ||
|
event.button != 0 ||
|
||||||
@@ -11,7 +21,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
event.composedTarget.localName == "toolbarbutton"
|
event.composedTarget.localName == "toolbarbutton"
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
@@ -413,7 +413,6 @@
|
@@ -492,7 +495,6 @@
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (isTabGroupLabel(event.target)) {
|
} else if (isTabGroupLabel(event.target)) {
|
||||||
@@ -19,7 +29,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
} else if (
|
} else if (
|
||||||
event.originalTarget.closest("scrollbox") &&
|
event.originalTarget.closest("scrollbox") &&
|
||||||
!Services.prefs.getBoolPref(
|
!Services.prefs.getBoolPref(
|
||||||
@@ -449,6 +448,9 @@
|
@@ -528,6 +530,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
on_keydown(event) {
|
on_keydown(event) {
|
||||||
@@ -29,7 +39,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
let { altKey, shiftKey } = event;
|
let { altKey, shiftKey } = event;
|
||||||
let [accel, nonAccel] =
|
let [accel, nonAccel] =
|
||||||
AppConstants.platform == "macosx"
|
AppConstants.platform == "macosx"
|
||||||
@@ -686,7 +688,7 @@
|
@@ -765,7 +770,7 @@
|
||||||
if (this.#isContainerVerticalPinnedGrid(tab)) {
|
if (this.#isContainerVerticalPinnedGrid(tab)) {
|
||||||
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
|
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
|
||||||
// Set this before adjusting dragged tab's position
|
// Set this before adjusting dragged tab's position
|
||||||
@@ -38,7 +48,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
let tabsPerRow = 0;
|
let tabsPerRow = 0;
|
||||||
let position = RTL_UI
|
let position = RTL_UI
|
||||||
? window.windowUtils.getBoundsWithoutFlushing(
|
? window.windowUtils.getBoundsWithoutFlushing(
|
||||||
@@ -851,7 +853,7 @@
|
@@ -930,7 +935,7 @@
|
||||||
let dropEffect = this.getDropEffectForTabDrag(event);
|
let dropEffect = this.getDropEffectForTabDrag(event);
|
||||||
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
|
let isMovingInTabStrip = !fromTabList && dropEffect == "move";
|
||||||
let collapseTabGroupDuringDrag =
|
let collapseTabGroupDuringDrag =
|
||||||
@@ -47,7 +57,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
tab._dragData = {
|
tab._dragData = {
|
||||||
offsetX: this.verticalMode
|
offsetX: this.verticalMode
|
||||||
@@ -861,7 +863,7 @@
|
@@ -940,7 +945,7 @@
|
||||||
? event.screenY - window.screenY - tabOffset
|
? event.screenY - window.screenY - tabOffset
|
||||||
: event.screenY - window.screenY,
|
: event.screenY - window.screenY,
|
||||||
scrollPos:
|
scrollPos:
|
||||||
@@ -56,15 +66,15 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
? this.pinnedTabsContainer.scrollPosition
|
? this.pinnedTabsContainer.scrollPosition
|
||||||
: this.arrowScrollbox.scrollPosition,
|
: this.arrowScrollbox.scrollPosition,
|
||||||
screenX: event.screenX,
|
screenX: event.screenX,
|
||||||
@@ -887,6 +889,7 @@
|
@@ -969,6 +974,7 @@
|
||||||
this.#moveTogetherSelectedTabs(tab);
|
|
||||||
} else if (collapseTabGroupDuringDrag) {
|
if (collapseTabGroupDuringDrag) {
|
||||||
tab.group.collapsed = true;
|
tab.group.collapsed = true;
|
||||||
+ gZenFolders.collapseVisibleTab(tab.group);
|
+ gZenFolders.collapseVisibleTab(tab.group);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1015,6 +1021,10 @@
|
||||||
@@ -932,6 +935,10 @@
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
|
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
|
||||||
@@ -75,7 +85,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
if (
|
if (
|
||||||
(dropEffect == "move" || dropEffect == "copy") &&
|
(dropEffect == "move" || dropEffect == "copy") &&
|
||||||
document == draggedTab.ownerDocument &&
|
document == draggedTab.ownerDocument &&
|
||||||
@@ -1095,6 +1102,18 @@
|
@@ -1196,6 +1206,18 @@
|
||||||
|
|
||||||
this._tabDropIndicator.hidden = true;
|
this._tabDropIndicator.hidden = true;
|
||||||
event.stopPropagation();
|
event.stopPropagation();
|
||||||
@@ -94,7 +104,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
if (draggedTab && dropEffect == "copy") {
|
if (draggedTab && dropEffect == "copy") {
|
||||||
let duplicatedDraggedTab;
|
let duplicatedDraggedTab;
|
||||||
let duplicatedTabs = [];
|
let duplicatedTabs = [];
|
||||||
@@ -1119,8 +1138,9 @@
|
@@ -1220,8 +1242,9 @@
|
||||||
let translateOffsetY = oldTranslateY % tabHeight;
|
let translateOffsetY = oldTranslateY % tabHeight;
|
||||||
let newTranslateX = oldTranslateX - translateOffsetX;
|
let newTranslateX = oldTranslateX - translateOffsetX;
|
||||||
let newTranslateY = oldTranslateY - translateOffsetY;
|
let newTranslateY = oldTranslateY - translateOffsetY;
|
||||||
@@ -106,7 +116,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
if (this.#isContainerVerticalPinnedGrid(draggedTab)) {
|
if (this.#isContainerVerticalPinnedGrid(draggedTab)) {
|
||||||
// Update both translate axis for pinned vertical expanded tabs
|
// Update both translate axis for pinned vertical expanded tabs
|
||||||
@@ -1136,8 +1156,8 @@
|
@@ -1237,8 +1260,8 @@
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let tabs = this.ariaFocusableItems.slice(
|
let tabs = this.ariaFocusableItems.slice(
|
||||||
@@ -117,21 +127,21 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
);
|
);
|
||||||
let size = this.verticalMode ? "height" : "width";
|
let size = this.verticalMode ? "height" : "width";
|
||||||
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
||||||
@@ -1178,11 +1198,9 @@
|
@@ -1287,11 +1310,13 @@
|
||||||
}
|
this.dragToPinPromoCard,
|
||||||
|
];
|
||||||
let shouldPin =
|
let shouldPin =
|
||||||
- numPinned &&
|
+ false &&
|
||||||
- this.pinnedTabsContainer.contains(event.target) &&
|
isTab(draggedTab) &&
|
||||||
- !draggedTab.pinned;
|
!draggedTab.pinned &&
|
||||||
+ false;
|
(overPinnedDropIndicator ||
|
||||||
|
dragToPinTargets.some(el => el.contains(event.target)));
|
||||||
let shouldUnpin =
|
let shouldUnpin =
|
||||||
- this.arrowScrollbox.contains(event.target) && draggedTab.pinned;
|
+ false &&
|
||||||
+ false;
|
isTab(draggedTab) &&
|
||||||
let shouldTranslate =
|
draggedTab.pinned &&
|
||||||
!gReduceMotion &&
|
this.arrowScrollbox.contains(event.target);
|
||||||
!shouldCreateGroupOnDrop &&
|
@@ -1309,6 +1334,7 @@
|
||||||
@@ -1195,6 +1213,7 @@
|
|
||||||
(oldTranslateY && oldTranslateY != newTranslateY);
|
(oldTranslateY && oldTranslateY != newTranslateY);
|
||||||
} else if (this.verticalMode) {
|
} else if (this.verticalMode) {
|
||||||
shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
|
shouldTranslate &&= oldTranslateY && oldTranslateY != newTranslateY;
|
||||||
@@ -139,7 +149,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
} else {
|
} else {
|
||||||
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
|
shouldTranslate &&= oldTranslateX && oldTranslateX != newTranslateX;
|
||||||
}
|
}
|
||||||
@@ -1376,6 +1395,7 @@
|
@@ -1503,6 +1529,7 @@
|
||||||
|
|
||||||
let nextItem = this.ariaFocusableItems[newIndex];
|
let nextItem = this.ariaFocusableItems[newIndex];
|
||||||
let tabGroup = isTab(nextItem) && nextItem.group;
|
let tabGroup = isTab(nextItem) && nextItem.group;
|
||||||
@@ -147,11 +157,10 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
gBrowser.loadTabs(urls, {
|
gBrowser.loadTabs(urls, {
|
||||||
inBackground,
|
inBackground,
|
||||||
replace,
|
replace,
|
||||||
@@ -1408,6 +1428,17 @@
|
@@ -1541,6 +1568,16 @@
|
||||||
|
}
|
||||||
|
this.#resetTabsAfterDrop(draggedTab.ownerDocument);
|
||||||
|
|
||||||
this.finishMoveTogetherSelectedTabs(draggedTab);
|
|
||||||
this.finishAnimateTabMove();
|
|
||||||
+
|
|
||||||
+ if (!dt.mozUserCancelled && dt.dropEffect == "none" && !this._isCustomizing) {
|
+ if (!dt.mozUserCancelled && dt.dropEffect == "none" && !this._isCustomizing) {
|
||||||
+ const moved = gZenViewSplitter.moveTabToSplitView(event, draggedTab);
|
+ const moved = gZenViewSplitter.moveTabToSplitView(event, draggedTab);
|
||||||
+ if (moved) {
|
+ if (moved) {
|
||||||
@@ -162,10 +171,10 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
+ if (gZenViewSplitter._lastOpenedTab) gZenViewSplitter._lastOpenedTab._visuallySelected = false;
|
+ if (gZenViewSplitter._lastOpenedTab) gZenViewSplitter._lastOpenedTab._visuallySelected = false;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
this.#expandGroupOnDrop(draggedTab);
|
if (
|
||||||
this.#resetTabsAfterDrop(draggedTab.ownerDocument);
|
dt.mozUserCancelled ||
|
||||||
|
dt.dropEffect != "none" ||
|
||||||
@@ -1577,7 +1608,6 @@
|
@@ -1707,7 +1744,6 @@
|
||||||
|
|
||||||
this.toggleAttribute("overflow", true);
|
this.toggleAttribute("overflow", true);
|
||||||
this._updateCloseButtons();
|
this._updateCloseButtons();
|
||||||
@@ -173,7 +182,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
document
|
document
|
||||||
.getElementById("tab-preview-panel")
|
.getElementById("tab-preview-panel")
|
||||||
@@ -1635,7 +1665,7 @@
|
@@ -1765,7 +1801,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
get newTabButton() {
|
get newTabButton() {
|
||||||
@@ -182,7 +191,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
|
|
||||||
get verticalMode() {
|
get verticalMode() {
|
||||||
@@ -1651,6 +1681,7 @@
|
@@ -1781,6 +1817,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
get overflowing() {
|
get overflowing() {
|
||||||
@@ -190,21 +199,27 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
return this.hasAttribute("overflow");
|
return this.hasAttribute("overflow");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1659,26 +1690,54 @@
|
@@ -1789,31 +1826,51 @@
|
||||||
if (this.#allTabs) {
|
if (this.#allTabs) {
|
||||||
return this.#allTabs;
|
return this.#allTabs;
|
||||||
}
|
}
|
||||||
- let children = Array.from(this.arrowScrollbox.children);
|
- // Remove temporary periphery element added at drag start.
|
||||||
|
- let pinnedChildren = Array.from(this.pinnedTabsContainer.children);
|
||||||
|
- if (pinnedChildren?.at(-1)?.id == "pinned-tabs-container-periphery") {
|
||||||
|
- pinnedChildren.pop();
|
||||||
|
- }
|
||||||
|
- let unpinnedChildren = Array.from(this.arrowScrollbox.children);
|
||||||
|
- // remove arrowScrollbox periphery element.
|
||||||
|
- unpinnedChildren.pop();
|
||||||
|
-
|
||||||
+ let children = gZenWorkspaces.tabboxChildren;
|
+ let children = gZenWorkspaces.tabboxChildren;
|
||||||
// remove arrowScrollbox periphery element
|
+ children.pop();
|
||||||
children.pop();
|
|
||||||
|
|
||||||
// explode tab groups
|
// explode tab groups
|
||||||
// Iterate backwards over the array to preserve indices while we modify
|
// Iterate backwards over the array to preserve indices while we modify
|
||||||
// things in place
|
// things in place
|
||||||
- for (let i = children.length - 1; i >= 0; i--) {
|
- for (let i = unpinnedChildren.length - 1; i >= 0; i--) {
|
||||||
- if (children[i].tagName == "tab-group") {
|
- if (unpinnedChildren[i].tagName == "tab-group") {
|
||||||
- children.splice(i, 1, ...children[i].tabs);
|
- unpinnedChildren.splice(i, 1, ...unpinnedChildren[i].tabs);
|
||||||
+ const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children];
|
+ const pinnedTabs = [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children];
|
||||||
+ const expandTabs = (tabs) => {
|
+ const expandTabs = (tabs) => {
|
||||||
+ for (let i = tabs.length - 1; i >= 0; i--) {
|
+ for (let i = tabs.length - 1; i >= 0; i--) {
|
||||||
@@ -218,7 +233,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
-
|
-
|
||||||
- this.#allTabs = [...this.pinnedTabsContainer.children, ...children];
|
- this.#allTabs = [...pinnedChildren, ...unpinnedChildren];
|
||||||
+ expandTabs(pinnedTabs);
|
+ expandTabs(pinnedTabs);
|
||||||
+ expandTabs(children);
|
+ expandTabs(children);
|
||||||
+ const allTabs = [
|
+ const allTabs = [
|
||||||
@@ -246,24 +261,28 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
|
|
||||||
get allGroups() {
|
get allGroups() {
|
||||||
let children = Array.from(this.arrowScrollbox.children);
|
- let children = Array.from(this.arrowScrollbox.children);
|
||||||
- return children.filter(node => node.tagName == "tab-group");
|
- return children.filter(node => node.tagName == "tab-group");
|
||||||
+ return gZenWorkspaces.allTabGroups;
|
+ return gZenWorkspaces.allTabGroups;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1745,32 +1804,27 @@
|
@@ -1880,29 +1937,23 @@
|
||||||
|
|
||||||
let elementIndex = 0;
|
let elementIndex = 0;
|
||||||
|
|
||||||
- for (let i = 0; i < this.pinnedTabsContainer.childElementCount; i++) {
|
- let unpinnedChildren = Array.from(this.arrowScrollbox.children);
|
||||||
- this.pinnedTabsContainer.children[i].elementIndex = elementIndex++;
|
- let pinnedChildren = Array.from(this.pinnedTabsContainer.children);
|
||||||
- }
|
|
||||||
- let children = Array.from(this.arrowScrollbox.children);
|
|
||||||
+ let children = gZenWorkspaces.tabboxChildrenWithoutEmpty;
|
+ let children = gZenWorkspaces.tabboxChildrenWithoutEmpty;
|
||||||
|
|
||||||
let focusableItems = [];
|
let focusableItems = [];
|
||||||
- for (let child of children) {
|
- for (let child of pinnedChildren) {
|
||||||
|
- if (isTab(child)) {
|
||||||
|
- child.elementIndex = elementIndex++;
|
||||||
|
- focusableItems.push(child);
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- for (let child of unpinnedChildren) {
|
||||||
+ for (let child of [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children, ...children]) {
|
+ for (let child of [...gZenWorkspaces.getCurrentEssentialsContainer().children, ...this.pinnedTabsContainer.children, ...children]) {
|
||||||
if (isTab(child) && child.visible) {
|
if (isTab(child) && child.visible) {
|
||||||
child.elementIndex = elementIndex++;
|
child.elementIndex = elementIndex++;
|
||||||
@@ -276,25 +295,18 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
- visibleTabsInGroup.forEach(tab => {
|
- visibleTabsInGroup.forEach(tab => {
|
||||||
- tab.elementIndex = elementIndex++;
|
- tab.elementIndex = elementIndex++;
|
||||||
- });
|
- });
|
||||||
|
- focusableItems.push(...visibleTabsInGroup);
|
||||||
+ if (!child.hasAttribute("split-view-group")) {
|
+ if (!child.hasAttribute("split-view-group")) {
|
||||||
+ let visibleTabsInGroup = child.childGroupsAndTabs.filter(tab => tab.visible);
|
+ let visibleTabsInGroup = child.childGroupsAndTabs.filter(tab => tab.visible);
|
||||||
+ visibleTabsInGroup.forEach(tab => {
|
+ visibleTabsInGroup.forEach(tab => {
|
||||||
+ tab.elementIndex = elementIndex++;
|
+ tab.elementIndex = elementIndex++;
|
||||||
+ });
|
+ });
|
||||||
focusableItems.push(...visibleTabsInGroup);
|
+ focusableItems.push(...visibleTabsInGroup);
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- this.#focusableItems = [
|
@@ -1914,6 +1965,7 @@
|
||||||
- ...this.pinnedTabsContainer.children,
|
|
||||||
- ...focusableItems,
|
|
||||||
- ];
|
|
||||||
+ this.#focusableItems = focusableItems;
|
|
||||||
|
|
||||||
return this.#focusableItems;
|
|
||||||
}
|
|
||||||
@@ -1778,6 +1832,7 @@
|
|
||||||
_invalidateCachedTabs() {
|
_invalidateCachedTabs() {
|
||||||
this.#allTabs = null;
|
this.#allTabs = null;
|
||||||
this._invalidateCachedVisibleTabs();
|
this._invalidateCachedVisibleTabs();
|
||||||
@@ -302,18 +314,18 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
|
|
||||||
_invalidateCachedVisibleTabs() {
|
_invalidateCachedVisibleTabs() {
|
||||||
@@ -1793,8 +1848,8 @@
|
@@ -1929,8 +1981,8 @@
|
||||||
#isContainerVerticalPinnedGrid(tab) {
|
#isContainerVerticalPinnedGrid(tab) {
|
||||||
return (
|
return (
|
||||||
this.verticalMode &&
|
this.verticalMode &&
|
||||||
- tab.hasAttribute("pinned") &&
|
- tab.pinned &&
|
||||||
- this.hasAttribute("expanded") &&
|
- this.hasAttribute("expanded") &&
|
||||||
+ (tab.hasAttribute("zen-essential")) &&
|
+ (tab.hasAttribute("zen-essential")) &&
|
||||||
+ (this.hasAttribute("expanded") || document.documentElement.hasAttribute("zen-sidebar-expanded")) &&
|
+ (this.hasAttribute("expanded") || document.documentElement.hasAttribute("zen-sidebar-expanded")) &&
|
||||||
!this.expandOnHover
|
!this.expandOnHover
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -1810,7 +1865,7 @@
|
@@ -1946,7 +1998,7 @@
|
||||||
|
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
// We have a container for non-tab elements at the end of the scrollbox.
|
// We have a container for non-tab elements at the end of the scrollbox.
|
||||||
@@ -322,7 +334,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
|
|
||||||
node.before(tab);
|
node.before(tab);
|
||||||
@@ -1905,7 +1960,7 @@
|
@@ -2041,7 +2093,7 @@
|
||||||
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
|
// 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);
|
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
|
||||||
// Attach the long click popup to all of them.
|
// Attach the long click popup to all of them.
|
||||||
@@ -331,20 +343,27 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
const newTab2 = this.newTabButton;
|
const newTab2 = this.newTabButton;
|
||||||
const newTabVertical = document.getElementById(
|
const newTabVertical = document.getElementById(
|
||||||
"vertical-tabs-newtab-button"
|
"vertical-tabs-newtab-button"
|
||||||
@@ -2000,10 +2055,12 @@
|
@@ -2139,8 +2191,10 @@
|
||||||
|
*/
|
||||||
_handleTabSelect(aInstant) {
|
_handleTabSelect(aInstant) {
|
||||||
let selectedTab = this.selectedItem;
|
let selectedTab = this.selectedItem;
|
||||||
+ if (!selectedTab) return;
|
+ if (!selectedTab) return;
|
||||||
if (this.overflowing) {
|
this.#ensureTabIsVisible(selectedTab, aInstant);
|
||||||
this.arrowScrollbox.ensureElementIsVisible(selectedTab, aInstant);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ gZenCompactModeManager.flashSidebarIfNecessary(aInstant);
|
+ gZenCompactModeManager.flashSidebarIfNecessary(aInstant);
|
||||||
selectedTab._notselectedsinceload = false;
|
selectedTab._notselectedsinceload = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2140,6 +2197,16 @@
|
@@ -2149,7 +2203,7 @@
|
||||||
|
* @param {boolean} [shouldScrollInstantly=false]
|
||||||
|
*/
|
||||||
|
#ensureTabIsVisible(tab, shouldScrollInstantly = false) {
|
||||||
|
- let arrowScrollbox = tab.closest("arrowscrollbox");
|
||||||
|
+ let arrowScrollbox = this.arrowScrollbox;
|
||||||
|
if (arrowScrollbox.overflowing) {
|
||||||
|
arrowScrollbox.ensureElementIsVisible(tab, shouldScrollInstantly);
|
||||||
|
}
|
||||||
|
@@ -2288,6 +2342,16 @@
|
||||||
when the tab is first selected to be dragged.
|
when the tab is first selected to be dragged.
|
||||||
*/
|
*/
|
||||||
#updateTabStylesOnDrag(tab) {
|
#updateTabStylesOnDrag(tab) {
|
||||||
@@ -361,7 +380,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
let isPinned = tab.pinned;
|
let isPinned = tab.pinned;
|
||||||
let numPinned = gBrowser.pinnedTabCount;
|
let numPinned = gBrowser.pinnedTabCount;
|
||||||
let allTabs = this.ariaFocusableItems;
|
let allTabs = this.ariaFocusableItems;
|
||||||
@@ -2398,7 +2465,7 @@
|
@@ -2540,7 +2604,7 @@
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -370,7 +389,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
let directionX = screenX > dragData.animLastScreenX;
|
let directionX = screenX > dragData.animLastScreenX;
|
||||||
let directionY = screenY > dragData.animLastScreenY;
|
let directionY = screenY > dragData.animLastScreenY;
|
||||||
@@ -2407,6 +2474,8 @@
|
@@ -2549,6 +2613,8 @@
|
||||||
|
|
||||||
let { width: tabWidth, height: tabHeight } =
|
let { width: tabWidth, height: tabHeight } =
|
||||||
draggedTab.getBoundingClientRect();
|
draggedTab.getBoundingClientRect();
|
||||||
@@ -379,7 +398,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
let shiftSizeX = tabWidth * movingTabs.length;
|
let shiftSizeX = tabWidth * movingTabs.length;
|
||||||
let shiftSizeY = tabHeight;
|
let shiftSizeY = tabHeight;
|
||||||
dragData.tabWidth = tabWidth;
|
dragData.tabWidth = tabWidth;
|
||||||
@@ -2443,8 +2512,8 @@
|
@@ -2585,8 +2651,8 @@
|
||||||
let lastBoundX =
|
let lastBoundX =
|
||||||
lastTabInRow.screenX +
|
lastTabInRow.screenX +
|
||||||
lastTabInRow.getBoundingClientRect().width -
|
lastTabInRow.getBoundingClientRect().width -
|
||||||
@@ -390,18 +409,9 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
|
translateX = Math.min(Math.max(translateX, firstBoundX), lastBoundX);
|
||||||
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
|
translateY = Math.min(Math.max(translateY, firstBoundY), lastBoundY);
|
||||||
|
|
||||||
@@ -2560,7 +2629,7 @@
|
@@ -2743,13 +2809,18 @@
|
||||||
}
|
|
||||||
|
|
||||||
dragData.animDropElementIndex = newIndex;
|
this.#clearDragOverGroupingTimer();
|
||||||
- dragData.dropElement = tabs[newIndex];
|
|
||||||
+ dragData.dropElement = tabs[Math.min(newIndex, tabs.length - 1)];
|
|
||||||
dragData.dropBefore = newIndex < tabs.length;
|
|
||||||
|
|
||||||
// Shift background tabs to leave a gap where the dragged tab
|
|
||||||
@@ -2593,13 +2662,18 @@
|
|
||||||
|
|
||||||
this.#clearDragOverCreateGroupTimer();
|
|
||||||
|
|
||||||
- let isPinned = draggedTab.pinned;
|
- let isPinned = draggedTab.pinned;
|
||||||
- let numPinned = gBrowser.pinnedTabCount;
|
- let numPinned = gBrowser.pinnedTabCount;
|
||||||
@@ -422,23 +432,17 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
if (this.#rtlMode) {
|
if (this.#rtlMode) {
|
||||||
tabs.reverse();
|
tabs.reverse();
|
||||||
@@ -2610,7 +2684,7 @@
|
@@ -2760,7 +2831,7 @@
|
||||||
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
let screenAxis = this.verticalMode ? "screenY" : "screenX";
|
||||||
let size = this.verticalMode ? "height" : "width";
|
let size = this.verticalMode ? "height" : "width";
|
||||||
let translateAxis = this.verticalMode ? "translateY" : "translateX";
|
let translateAxis = this.verticalMode ? "translateY" : "translateX";
|
||||||
- let { width: tabWidth, height: tabHeight } = bounds(draggedTab);
|
- let { width: tabWidth, height: tabHeight } = bounds(draggedTab);
|
||||||
+ let { width: tabWidth, height: tabHeight } = bounds(draggedTab.group?.hasAttribute("split-view-group") ? draggedTab.group : draggedTab);
|
+ let { width: tabWidth, height: tabHeight } = bounds(draggedTab.group?.hasAttribute("split-view-group") ? draggedTab.group : draggedTab);
|
||||||
|
let tabSize = this.verticalMode ? tabHeight : tabWidth;
|
||||||
let translateX = event.screenX - dragData.screenX;
|
let translateX = event.screenX - dragData.screenX;
|
||||||
let translateY = event.screenY - dragData.screenY;
|
let translateY = event.screenY - dragData.screenY;
|
||||||
|
@@ -2776,6 +2847,12 @@
|
||||||
@@ -2620,10 +2694,16 @@
|
);
|
||||||
dragData.translateY = translateY;
|
|
||||||
|
|
||||||
// Move the dragged tab based on the mouse position.
|
|
||||||
- let firstTab = allTabs.at(this.#rtlMode ? -1 : 0);
|
|
||||||
- let lastTab = allTabs.at(this.#rtlMode ? 0 : -1);
|
|
||||||
+ let firstTab = tabs.at(this.#rtlMode ? -1 : 0);
|
|
||||||
+ let lastTab = tabs.at(this.#rtlMode ? 0 : -1);
|
|
||||||
let lastMovingTab = movingTabs.at(-1);
|
let lastMovingTab = movingTabs.at(-1);
|
||||||
let firstMovingTab = movingTabs[0];
|
let firstMovingTab = movingTabs[0];
|
||||||
+ if (lastMovingTab.group?.hasAttribute("split-view-group")) {
|
+ if (lastMovingTab.group?.hasAttribute("split-view-group")) {
|
||||||
@@ -450,35 +454,19 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
|
let endEdge = ele => ele[screenAxis] + bounds(ele)[size];
|
||||||
let lastMovingTabScreen = endEdge(lastMovingTab);
|
let lastMovingTabScreen = endEdge(lastMovingTab);
|
||||||
let firstMovingTabScreen = firstMovingTab[screenAxis];
|
let firstMovingTabScreen = firstMovingTab[screenAxis];
|
||||||
@@ -2632,6 +2712,7 @@
|
@@ -2790,6 +2867,11 @@
|
||||||
// Constrain the range over which the moving tabs can move between the first and last tab
|
let endBound = this.#rtlMode
|
||||||
let firstBound = firstTab[screenAxis] - firstMovingTabScreen;
|
? endEdge(this) - lastMovingTabScreen
|
||||||
let lastBound = endEdge(lastTab) - lastMovingTabScreen;
|
: periphery[screenAxis] - 1 - lastMovingTabScreen;
|
||||||
+ lastBound = gZenPinnedTabManager.getLastTabBound(lastBound, lastTab, isDraggingFolder);
|
+ let firstTab = tabs.at(this.#rtlMode ? -1 : 0);
|
||||||
|
+ let lastTab = tabs.at(this.#rtlMode ? 0 : -1);
|
||||||
|
+ startBound = firstTab[screenAxis] - firstMovingTabScreen;
|
||||||
|
+ endBound = endEdge(lastTab) - lastMovingTabScreen;
|
||||||
|
+ endBound = gZenPinnedTabManager.getLastTabBound(endBound, lastTab, isDraggingFolder);
|
||||||
|
translate = Math.min(Math.max(translate, startBound), endBound);
|
||||||
|
|
||||||
// Center the tab under the cursor if the tab is not under the cursor while dragging
|
// Center the tab under the cursor if the tab is not under the cursor while dragging
|
||||||
if (
|
@@ -2979,6 +3061,8 @@
|
||||||
@@ -2649,6 +2730,9 @@
|
|
||||||
// Shift the `.tab-group-label-container` to shift the label element.
|
|
||||||
item = item.parentElement;
|
|
||||||
}
|
|
||||||
+ if (item.parentElement?.hasAttribute("split-view-group")) {
|
|
||||||
+ item = item.parentElement;
|
|
||||||
+ }
|
|
||||||
item.style.transform = `${translateAxis}(${translate}px)`;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -2786,6 +2870,9 @@
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
let element = tabs[mid];
|
|
||||||
+ if (element?.group?.hasAttribute("split-view-group")) {
|
|
||||||
+ element = element.group.labelElement;
|
|
||||||
+ }
|
|
||||||
let elementForSize = isTabGroupLabel(element)
|
|
||||||
? element.parentElement
|
|
||||||
: element;
|
|
||||||
@@ -2805,6 +2892,8 @@
|
|
||||||
};
|
};
|
||||||
|
|
||||||
let dropElement = getOverlappedElement();
|
let dropElement = getOverlappedElement();
|
||||||
@@ -487,19 +475,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
|
|
||||||
let newDropElementIndex;
|
let newDropElementIndex;
|
||||||
if (dropElement) {
|
if (dropElement) {
|
||||||
@@ -2869,7 +2958,10 @@
|
@@ -3060,7 +3144,7 @@
|
||||||
let shouldCreateGroupOnDrop;
|
|
||||||
let dropBefore;
|
|
||||||
if (dropElement) {
|
|
||||||
- let dropElementForOverlap = isTabGroupLabel(dropElement)
|
|
||||||
+ if (dropElement?.group?.hasAttribute("split-view-group") || dropElement.hasAttribute("split-view-group")) {
|
|
||||||
+ dropElement = dropElement.group.labelElement ?? dropElement.labelElement;
|
|
||||||
+ }
|
|
||||||
+ let dropElementForOverlap = isTabGroupLabel(dropElement) && !dropElement.group?.hasAttribute("split-view-group")
|
|
||||||
? dropElement.parentElement
|
|
||||||
: dropElement;
|
|
||||||
|
|
||||||
@@ -2889,7 +2981,7 @@
|
|
||||||
? Services.prefs.getIntPref(
|
? Services.prefs.getIntPref(
|
||||||
"browser.tabs.dragDrop.moveOverThresholdPercent"
|
"browser.tabs.dragDrop.moveOverThresholdPercent"
|
||||||
) / 100
|
) / 100
|
||||||
@@ -508,30 +484,15 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold));
|
moveOverThreshold = Math.min(1, Math.max(0, moveOverThreshold));
|
||||||
let shouldMoveOver = overlapPercent > moveOverThreshold;
|
let shouldMoveOver = overlapPercent > moveOverThreshold;
|
||||||
if (logicalForward && shouldMoveOver) {
|
if (logicalForward && shouldMoveOver) {
|
||||||
@@ -2921,44 +3013,21 @@
|
@@ -3093,6 +3177,7 @@
|
||||||
|
|
||||||
// If dragging a group over another group, don't make it look like it is
|
// If dragging a group over another group, don't make it look like it is
|
||||||
// possible to drop the dragged group inside the other group.
|
// possible to drop the dragged group inside the other group.
|
||||||
- if (
|
if (
|
||||||
- isTabGroupLabel(draggedTab) &&
|
+ false &&
|
||||||
- dropElement?.group &&
|
isTabGroupLabel(draggedTab) &&
|
||||||
- !dropElement.group.collapsed
|
dropElement?.group &&
|
||||||
- ) {
|
(!dropElement.group.collapsed ||
|
||||||
- let overlappedGroup = dropElement.group;
|
@@ -3119,20 +3204,13 @@
|
||||||
-
|
|
||||||
- if (isTabGroupLabel(dropElement)) {
|
|
||||||
- dropBefore = true;
|
|
||||||
- newDropElementIndex = dropElement.elementIndex;
|
|
||||||
- } else {
|
|
||||||
- dropBefore = false;
|
|
||||||
- newDropElementIndex = overlappedGroup.tabs.at(-1).elementIndex + 1;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- dropElement = overlappedGroup;
|
|
||||||
- }
|
|
||||||
|
|
||||||
// Constrain drop direction at the boundary between pinned and
|
|
||||||
// unpinned tabs so that they don't mix together.
|
|
||||||
let isOutOfBounds = isPinned
|
let isOutOfBounds = isPinned
|
||||||
? dropElement.elementIndex >= numPinned
|
? dropElement.elementIndex >= numPinned
|
||||||
: dropElement.elementIndex < numPinned;
|
: dropElement.elementIndex < numPinned;
|
||||||
@@ -550,28 +511,29 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
- ) {
|
- ) {
|
||||||
+ if (isTab(draggedTab) || isTabGroupLabel(draggedTab)) {
|
+ if (isTab(draggedTab) || isTabGroupLabel(draggedTab)) {
|
||||||
let dragOverGroupingThreshold = 1 - moveOverThreshold;
|
let dragOverGroupingThreshold = 1 - moveOverThreshold;
|
||||||
|
|
||||||
+ if (draggedTab && !dropElement?.group) {
|
+ if (draggedTab && !dropElement?.group) {
|
||||||
+ gZenFolders.highlightGroupOnDragOver(null);
|
+ gZenFolders.highlightGroupOnDragOver(null);
|
||||||
+ }
|
+ }
|
||||||
+
|
let groupingDelay = Services.prefs.getIntPref(
|
||||||
|
"browser.tabs.dragDrop.createGroup.delayMS"
|
||||||
|
);
|
||||||
|
@@ -3140,6 +3218,7 @@
|
||||||
// When dragging tab(s) over an ungrouped tab, signal to the user
|
// When dragging tab(s) over an ungrouped tab, signal to the user
|
||||||
// that dropping the tab(s) will create a new tab group.
|
// that dropping the tab(s) will create a new tab group.
|
||||||
shouldCreateGroupOnDrop =
|
let shouldCreateGroupOnDrop =
|
||||||
@@ -2968,12 +3037,6 @@
|
+ false &&
|
||||||
|
!movingTabsSet.has(dropElement) &&
|
||||||
|
isTab(dropElement) &&
|
||||||
|
!dropElement?.group &&
|
||||||
|
@@ -3148,6 +3227,7 @@
|
||||||
|
// When dragging tab(s) over a collapsed tab group label, signal to the
|
||||||
|
// user that dropping the tab(s) will add them to the group.
|
||||||
|
let shouldDropIntoCollapsedTabGroup =
|
||||||
|
+ false &&
|
||||||
|
isTabGroupLabel(dropElement) &&
|
||||||
|
dropElement.group.collapsed &&
|
||||||
overlapPercent > dragOverGroupingThreshold;
|
overlapPercent > dragOverGroupingThreshold;
|
||||||
|
@@ -3192,19 +3272,14 @@
|
||||||
if (shouldCreateGroupOnDrop) {
|
|
||||||
- this.#dragOverCreateGroupTimer = setTimeout(
|
|
||||||
- () => this.#triggerDragOverCreateGroup(dragData, dropElement),
|
|
||||||
- Services.prefs.getIntPref(
|
|
||||||
- "browser.tabs.dragDrop.createGroup.delayMS"
|
|
||||||
- )
|
|
||||||
- );
|
|
||||||
} else {
|
|
||||||
this.removeAttribute("movingtab-createGroup");
|
|
||||||
document
|
|
||||||
@@ -3000,19 +3063,14 @@
|
|
||||||
dropElement = dropElementGroup;
|
dropElement = dropElementGroup;
|
||||||
colorCode = undefined;
|
colorCode = undefined;
|
||||||
} else if (isTabGroupLabel(dropElement)) {
|
} else if (isTabGroupLabel(dropElement)) {
|
||||||
@@ -598,8 +560,8 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
+ ));
|
+ ));
|
||||||
}
|
}
|
||||||
this.#setDragOverGroupColor(colorCode);
|
this.#setDragOverGroupColor(colorCode);
|
||||||
this.toggleAttribute("movingtab-ungroup", !colorCode);
|
this.toggleAttribute("movingtab-addToGroup", colorCode);
|
||||||
@@ -3030,19 +3088,28 @@
|
@@ -3223,11 +3298,11 @@
|
||||||
dragData.dropElement = dropElement;
|
dragData.dropElement = dropElement;
|
||||||
dragData.dropBefore = dropBefore;
|
dragData.dropBefore = dropBefore;
|
||||||
dragData.animDropElementIndex = newDropElementIndex;
|
dragData.animDropElementIndex = newDropElementIndex;
|
||||||
@@ -613,25 +575,8 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
let shift = getTabShift(item, newDropElementIndex);
|
@@ -3346,12 +3421,14 @@
|
||||||
let transform = shift ? `${translateAxis}(${shift}px)` : "";
|
element?.removeAttribute("dragover-groupTarget");
|
||||||
+ if (item.group?.hasAttribute("split-view-group")) {
|
|
||||||
+ item = item.group;
|
|
||||||
+ }
|
|
||||||
+ if (item.group?.hasAttribute("has-active") && draggedTab.group != item.group) {
|
|
||||||
+ item = item.group;
|
|
||||||
+ }
|
|
||||||
if (isTabGroupLabel(item)) {
|
|
||||||
// Shift the `.tab-group-label-container` to shift the label element.
|
|
||||||
item = item.parentElement;
|
|
||||||
+ if (item.parentElement?.hasAttribute("split-view-group")) {
|
|
||||||
+ item = item.parentElement;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
item.style.transform = transform;
|
|
||||||
}
|
|
||||||
@@ -3095,12 +3162,14 @@
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- finishAnimateTabMove() {
|
- finishAnimateTabMove() {
|
||||||
@@ -646,27 +591,8 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
+ gZenFolders.highlightGroupOnDragOver(null);
|
+ gZenFolders.highlightGroupOnDragOver(null);
|
||||||
|
|
||||||
for (let item of this.ariaFocusableItems) {
|
for (let item of this.ariaFocusableItems) {
|
||||||
if (isTabGroupLabel(item)) {
|
this.#resetGroupTarget(item);
|
||||||
@@ -3108,6 +3177,18 @@
|
@@ -3394,7 +3471,7 @@
|
||||||
item = item.parentElement;
|
|
||||||
}
|
|
||||||
item.style.transform = "";
|
|
||||||
+ if (item.closest("zen-folder")?.hasAttribute("has-active")) item.closest("zen-folder").style.transform = "";
|
|
||||||
+ if (item.closest("zen-folder")?.hasAttribute("has-active")) {
|
|
||||||
+ for (let tab of item.closest("zen-folder").tabs) {
|
|
||||||
+ tab.style.transform = "";
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ if (item.closest("tab-group")?.hasAttribute("split-view-group")) item.closest("tab-group").style.transform = "";
|
|
||||||
+ if (item.closest("tab-group")?.hasAttribute("split-view-group")) {
|
|
||||||
+ for (let tab of item.closest("tab-group").tabs) {
|
|
||||||
+ tab.style.transform = "";
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
item.removeAttribute("dragover-createGroup");
|
|
||||||
}
|
|
||||||
this.removeAttribute("movingtab-createGroup");
|
|
||||||
@@ -3129,16 +3210,15 @@
|
|
||||||
tab.style.left = "";
|
tab.style.left = "";
|
||||||
tab.style.top = "";
|
tab.style.top = "";
|
||||||
tab.style.maxWidth = "";
|
tab.style.maxWidth = "";
|
||||||
@@ -675,9 +601,8 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
for (let label of draggedTabDocument.getElementsByClassName(
|
for (let label of draggedTabDocument.getElementsByClassName(
|
||||||
"tab-group-label-container"
|
"tab-group-label-container"
|
||||||
)) {
|
@@ -3403,7 +3480,7 @@
|
||||||
label.style.width = "";
|
label.style.height = "";
|
||||||
- label.style.height = "";
|
|
||||||
label.style.left = "";
|
label.style.left = "";
|
||||||
label.style.top = "";
|
label.style.top = "";
|
||||||
- label.removeAttribute("dragtarget");
|
- label.removeAttribute("dragtarget");
|
||||||
@@ -685,7 +610,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
}
|
}
|
||||||
let periphery = draggedTabDocument.getElementById(
|
let periphery = draggedTabDocument.getElementById(
|
||||||
"tabbrowser-arrowscrollbox-periphery"
|
"tabbrowser-arrowscrollbox-periphery"
|
||||||
@@ -3211,7 +3291,7 @@
|
@@ -3475,7 +3552,7 @@
|
||||||
let postTransitionCleanup = () => {
|
let postTransitionCleanup = () => {
|
||||||
movingTab._moveTogetherSelectedTabsData.animate = false;
|
movingTab._moveTogetherSelectedTabsData.animate = false;
|
||||||
};
|
};
|
||||||
@@ -694,7 +619,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
postTransitionCleanup();
|
postTransitionCleanup();
|
||||||
} else {
|
} else {
|
||||||
let onTransitionEnd = transitionendEvent => {
|
let onTransitionEnd = transitionendEvent => {
|
||||||
@@ -3384,7 +3464,7 @@
|
@@ -3639,7 +3716,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
_notifyBackgroundTab(aTab) {
|
_notifyBackgroundTab(aTab) {
|
||||||
@@ -703,7 +628,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3493,7 +3573,10 @@
|
@@ -3748,7 +3825,10 @@
|
||||||
#getDragTarget(event, { ignoreSides = false } = {}) {
|
#getDragTarget(event, { ignoreSides = false } = {}) {
|
||||||
let { target } = event;
|
let { target } = event;
|
||||||
while (target) {
|
while (target) {
|
||||||
@@ -715,7 +640,7 @@ index e2b27db6c13278defea3bcc7606a8da54e7d001c..91e772ab0fed5be50e6dfee40eaa2488
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
target = target.parentNode;
|
target = target.parentNode;
|
||||||
@@ -3510,6 +3593,9 @@
|
@@ -3765,6 +3845,9 @@
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,13 +1,13 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
index 4f85be7203f44c16944924d50947a89e436f00bc..518956c320af4e7045e8ff9fe63b70f8c2430b22 100644
|
index 36e3ab4a5a153230bb488b66dda7e3e7c763ca23..28b59c7c3a95febafc3f2a6e0ac3493b9785ff1a 100644
|
||||||
--- a/browser/components/urlbar/UrlbarController.sys.mjs
|
--- a/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarController.sys.mjs
|
||||||
@@ -410,7 +410,7 @@ export class UrlbarController {
|
@@ -411,7 +411,7 @@ export class UrlbarController {
|
||||||
// When there's no search string and no view selection, we want to focus
|
// When there's no search string and no view selection, we want to focus
|
||||||
// the next toolbar item instead, for accessibility reasons.
|
// the next toolbar item instead, for accessibility reasons.
|
||||||
let allowTabbingThroughResults =
|
let allowTabbingThroughResults =
|
||||||
- this.input.focusedViaMousedown ||
|
- this.input.focusedViaMousedown ||
|
||||||
+ true ||
|
+ true ||
|
||||||
this.input.searchMode?.isPreview ||
|
this.input.searchMode?.isPreview ||
|
||||||
this.view.selectedElement ||
|
this.input.searchMode?.source ==
|
||||||
(this.input.value &&
|
lazy.UrlbarUtils.RESULT_SOURCE.ACTIONS ||
|
||||||
|
@@ -1,9 +1,9 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cfca59af8e 100644
|
index 1c447bd31de854d1522dbcfb5d7ad557c84f1388..5becdf9c01b1f12356963ce214142c492ade5f6e 100644
|
||||||
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
--- a/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarInput.sys.mjs
|
||||||
@@ -68,6 +68,13 @@ XPCOMUtils.defineLazyPreferenceGetter(
|
@@ -74,6 +74,13 @@ ChromeUtils.defineLazyGetter(lazy, "logger", () =>
|
||||||
false
|
lazy.UrlbarUtils.getLogger({ prefix: "Input" })
|
||||||
);
|
);
|
||||||
|
|
||||||
+XPCOMUtils.defineLazyPreferenceGetter(
|
+XPCOMUtils.defineLazyPreferenceGetter(
|
||||||
@@ -14,9 +14,9 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
+);
|
+);
|
||||||
+
|
+
|
||||||
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
|
const DEFAULT_FORM_HISTORY_NAME = "searchbar-history";
|
||||||
const SEARCH_BUTTON_CLASS = "urlbar-search-button";
|
|
||||||
|
|
||||||
@@ -380,7 +387,16 @@ export class UrlbarInput {
|
const UNLIMITED_MAX_RESULTS = 99;
|
||||||
|
@@ -355,7 +362,16 @@ export class UrlbarInput {
|
||||||
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
// See _on_select(). HTMLInputElement.select() dispatches a "select"
|
||||||
// event but does not set the primary selection.
|
// event but does not set the primary selection.
|
||||||
this._suppressPrimaryAdjustment = true;
|
this._suppressPrimaryAdjustment = true;
|
||||||
@@ -33,7 +33,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
this._suppressPrimaryAdjustment = false;
|
this._suppressPrimaryAdjustment = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -456,6 +472,10 @@ export class UrlbarInput {
|
@@ -431,6 +447,10 @@ export class UrlbarInput {
|
||||||
hideSearchTerms = false,
|
hideSearchTerms = false,
|
||||||
isSameDocument = false
|
isSameDocument = false
|
||||||
) {
|
) {
|
||||||
@@ -44,7 +44,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
// We only need to update the searchModeUI on tab switch conditionally
|
// We only need to update the searchModeUI on tab switch conditionally
|
||||||
// as we only persist searchMode with ScotchBonnet enabled.
|
// as we only persist searchMode with ScotchBonnet enabled.
|
||||||
if (
|
if (
|
||||||
@@ -728,8 +748,16 @@ export class UrlbarInput {
|
@@ -703,8 +723,16 @@ export class UrlbarInput {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1143,7 +1171,11 @@ export class UrlbarInput {
|
@@ -1116,7 +1144,11 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this.#providesSearchMode(result)) {
|
if (!this.#providesSearchMode(result)) {
|
||||||
@@ -75,7 +75,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isCanonized) {
|
if (isCanonized) {
|
||||||
@@ -2208,6 +2240,10 @@ export class UrlbarInput {
|
@@ -2191,6 +2223,10 @@ export class UrlbarInput {
|
||||||
await this.#updateLayoutBreakoutDimensions();
|
await this.#updateLayoutBreakoutDimensions();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +86,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
startLayoutExtend() {
|
startLayoutExtend() {
|
||||||
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
if (!this.#allowBreakout || this.hasAttribute("breakout-extend")) {
|
||||||
// Do not expand if the Urlbar does not support being expanded or it is
|
// Do not expand if the Urlbar does not support being expanded or it is
|
||||||
@@ -2222,6 +2258,12 @@ export class UrlbarInput {
|
@@ -2205,6 +2241,12 @@ export class UrlbarInput {
|
||||||
|
|
||||||
this.setAttribute("breakout-extend", "true");
|
this.setAttribute("breakout-extend", "true");
|
||||||
|
|
||||||
@@ -99,7 +99,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
// Enable the animation only after the first extend call to ensure it
|
// Enable the animation only after the first extend call to ensure it
|
||||||
// doesn't run when opening a new window.
|
// doesn't run when opening a new window.
|
||||||
if (!this.hasAttribute("breakout-extend-animate")) {
|
if (!this.hasAttribute("breakout-extend-animate")) {
|
||||||
@@ -2241,6 +2283,24 @@ export class UrlbarInput {
|
@@ -2224,6 +2266,24 @@ export class UrlbarInput {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
this.removeAttribute("breakout-extend");
|
this.removeAttribute("breakout-extend");
|
||||||
this.#updateTextboxPosition();
|
this.#updateTextboxPosition();
|
||||||
}
|
}
|
||||||
@@ -2561,6 +2621,7 @@ export class UrlbarInput {
|
@@ -2544,6 +2604,7 @@ export class UrlbarInput {
|
||||||
let updateKey = {};
|
let updateKey = {};
|
||||||
this._layoutBreakoutUpdateKey = updateKey;
|
this._layoutBreakoutUpdateKey = updateKey;
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
await this.window.promiseDocumentFlushed(() => {});
|
await this.window.promiseDocumentFlushed(() => {});
|
||||||
await new Promise(resolve => {
|
await new Promise(resolve => {
|
||||||
this.window.requestAnimationFrame(() => {
|
this.window.requestAnimationFrame(() => {
|
||||||
@@ -2570,7 +2631,7 @@ export class UrlbarInput {
|
@@ -2553,7 +2614,7 @@ export class UrlbarInput {
|
||||||
|
|
||||||
this.textbox.parentNode.style.setProperty(
|
this.textbox.parentNode.style.setProperty(
|
||||||
"--urlbar-container-height",
|
"--urlbar-container-height",
|
||||||
@@ -141,7 +141,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
);
|
);
|
||||||
this.textbox.style.setProperty(
|
this.textbox.style.setProperty(
|
||||||
"--urlbar-height",
|
"--urlbar-height",
|
||||||
@@ -2586,6 +2647,7 @@ export class UrlbarInput {
|
@@ -2569,6 +2630,7 @@ export class UrlbarInput {
|
||||||
this.textbox.showPopover();
|
this.textbox.showPopover();
|
||||||
this.#updateTextboxPosition();
|
this.#updateTextboxPosition();
|
||||||
|
|
||||||
@@ -149,7 +149,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -2985,6 +3047,7 @@ export class UrlbarInput {
|
@@ -2986,6 +3048,7 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
_toggleActionOverride(event) {
|
_toggleActionOverride(event) {
|
||||||
@@ -157,7 +157,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
if (
|
if (
|
||||||
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
event.keyCode == KeyEvent.DOM_VK_SHIFT ||
|
||||||
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
event.keyCode == KeyEvent.DOM_VK_ALT ||
|
||||||
@@ -3086,7 +3149,7 @@ export class UrlbarInput {
|
@@ -3087,7 +3150,7 @@ export class UrlbarInput {
|
||||||
*/
|
*/
|
||||||
_trimValue(val) {
|
_trimValue(val) {
|
||||||
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
|
let trimmedValue = lazy.UrlbarPrefs.get("trimURLs")
|
||||||
@@ -166,7 +166,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
: val;
|
: val;
|
||||||
// Only trim value if the directionality doesn't change to RTL and we're not
|
// Only trim value if the directionality doesn't change to RTL and we're not
|
||||||
// showing a strikeout https protocol.
|
// showing a strikeout https protocol.
|
||||||
@@ -3307,6 +3370,7 @@ export class UrlbarInput {
|
@@ -3303,6 +3366,7 @@ export class UrlbarInput {
|
||||||
resultDetails = null,
|
resultDetails = null,
|
||||||
browser = this.window.gBrowser.selectedBrowser
|
browser = this.window.gBrowser.selectedBrowser
|
||||||
) {
|
) {
|
||||||
@@ -174,7 +174,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
// No point in setting these because we'll handleRevert() a few rows below.
|
// No point in setting these because we'll handleRevert() a few rows below.
|
||||||
if (openUILinkWhere == "current") {
|
if (openUILinkWhere == "current") {
|
||||||
// Make sure URL is formatted properly (don't show punycode).
|
// Make sure URL is formatted properly (don't show punycode).
|
||||||
@@ -3459,6 +3523,10 @@ export class UrlbarInput {
|
@@ -3455,6 +3519,10 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
reuseEmpty = true;
|
reuseEmpty = true;
|
||||||
}
|
}
|
||||||
@@ -185,7 +185,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
if (
|
if (
|
||||||
where == "tab" &&
|
where == "tab" &&
|
||||||
reuseEmpty &&
|
reuseEmpty &&
|
||||||
@@ -3466,6 +3534,9 @@ export class UrlbarInput {
|
@@ -3462,6 +3530,9 @@ export class UrlbarInput {
|
||||||
) {
|
) {
|
||||||
where = "current";
|
where = "current";
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
return where;
|
return where;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3723,6 +3794,7 @@ export class UrlbarInput {
|
@@ -3719,6 +3790,7 @@ export class UrlbarInput {
|
||||||
this.setResultForCurrentValue(null);
|
this.setResultForCurrentValue(null);
|
||||||
this.handleCommand();
|
this.handleCommand();
|
||||||
this.controller.clearLastQueryContextCache();
|
this.controller.clearLastQueryContextCache();
|
||||||
@@ -203,7 +203,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
|
|
||||||
this._suppressStartQuery = false;
|
this._suppressStartQuery = false;
|
||||||
});
|
});
|
||||||
@@ -3730,7 +3802,6 @@ export class UrlbarInput {
|
@@ -3726,7 +3798,6 @@ export class UrlbarInput {
|
||||||
contextMenu.addEventListener("popupshowing", () => {
|
contextMenu.addEventListener("popupshowing", () => {
|
||||||
// Close the results pane when the input field contextual menu is open,
|
// Close the results pane when the input field contextual menu is open,
|
||||||
// because paste and go doesn't want a result selection.
|
// because paste and go doesn't want a result selection.
|
||||||
@@ -211,7 +211,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
|
|
||||||
let controller =
|
let controller =
|
||||||
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
this.document.commandDispatcher.getControllerForCommand("cmd_paste");
|
||||||
@@ -4138,6 +4209,7 @@ export class UrlbarInput {
|
@@ -4130,6 +4201,7 @@ export class UrlbarInput {
|
||||||
|
|
||||||
this.document.l10n.setAttributes(
|
this.document.l10n.setAttributes(
|
||||||
this.inputField,
|
this.inputField,
|
||||||
@@ -219,7 +219,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
l10nId,
|
l10nId,
|
||||||
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
|
l10nId == "urlbar-placeholder-with-name" ? { name } : undefined
|
||||||
);
|
);
|
||||||
@@ -4249,6 +4321,11 @@ export class UrlbarInput {
|
@@ -4241,6 +4313,11 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_click(event) {
|
_on_click(event) {
|
||||||
@@ -230,8 +230,8 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
+
|
+
|
||||||
if (
|
if (
|
||||||
event.target == this.inputField ||
|
event.target == this.inputField ||
|
||||||
event.target == this._inputContainer ||
|
event.target == this._inputContainer
|
||||||
@@ -4320,7 +4397,7 @@ export class UrlbarInput {
|
@@ -4311,7 +4388,7 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -240,7 +240,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
this.view.autoOpen({ event });
|
this.view.autoOpen({ event });
|
||||||
} else {
|
} else {
|
||||||
if (this._untrimOnFocusAfterKeydown) {
|
if (this._untrimOnFocusAfterKeydown) {
|
||||||
@@ -4360,9 +4437,16 @@ export class UrlbarInput {
|
@@ -4351,9 +4428,16 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
|
|
||||||
_on_mousedown(event) {
|
_on_mousedown(event) {
|
||||||
@@ -258,7 +258,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
event.target != this.inputField &&
|
event.target != this.inputField &&
|
||||||
@@ -4374,6 +4458,10 @@ export class UrlbarInput {
|
@@ -4364,6 +4448,10 @@ export class UrlbarInput {
|
||||||
|
|
||||||
this.focusedViaMousedown = !this.focused;
|
this.focusedViaMousedown = !this.focused;
|
||||||
this._preventClickSelectsAll = this.focused;
|
this._preventClickSelectsAll = this.focused;
|
||||||
@@ -269,7 +269,7 @@ index db1a780f36d16c1b63ad50af76887b16e88ca8fe..440ef03a7a43d6848c371fbe0cac62cf
|
|||||||
|
|
||||||
// Keep the focus status, since the attribute may be changed
|
// Keep the focus status, since the attribute may be changed
|
||||||
// upon calling this.focus().
|
// upon calling this.focus().
|
||||||
@@ -4414,7 +4502,7 @@ export class UrlbarInput {
|
@@ -4399,7 +4487,7 @@ export class UrlbarInput {
|
||||||
}
|
}
|
||||||
// Don't close the view when clicking on a tab; we may want to keep the
|
// 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.
|
// view open on tab switch, and the TabSelect event arrived earlier.
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
index 57463d2c4e39e67eeec7e2c752fe5236a662c7d2..4ca28540a71594e935847679a4b676ae48eb10d8 100644
|
index cdc476a3eb2ee2cb6193d215513b65ed375f6153..a2b106916d6cca25096d37b80bea45f016ad82a5 100644
|
||||||
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
--- a/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarMuxerStandard.sys.mjs
|
||||||
@@ -845,6 +845,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
@@ -855,6 +855,7 @@ class MuxerUnifiedComplete extends UrlbarMuxer {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result.providerName == lazy.UrlbarProviderTabToSearch.name) {
|
if (result.providerName == lazy.UrlbarProviderTabToSearch.name) {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
index b3608bb8b851979b893da9c83e86d08b54288047..97ffb0b855b1f1c3fe5c4081aa1ec03ceda82b05 100644
|
index fdbab8806fd320f4aacec46a42c8ef953580d00c..a1be83735cd2b69d335cd36d3287cd3b3e3f2a5b 100644
|
||||||
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
--- a/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
|
||||||
@@ -609,7 +609,7 @@ export class UrlbarView {
|
@@ -613,7 +613,7 @@ export class UrlbarView {
|
||||||
!this.input.value ||
|
!this.input.value ||
|
||||||
this.input.getAttribute("pageproxystate") == "valid"
|
this.input.getAttribute("pageproxystate") == "valid"
|
||||||
) {
|
) {
|
||||||
@@ -11,7 +11,7 @@ index b3608bb8b851979b893da9c83e86d08b54288047..97ffb0b855b1f1c3fe5c4081aa1ec03c
|
|||||||
// Try to reuse the cached top-sites context. If it's not cached, then
|
// Try to reuse the cached top-sites context. If it's not cached, then
|
||||||
// there will be a gap of time between when the input is focused and
|
// there will be a gap of time between when the input is focused and
|
||||||
// when the view opens that can be perceived as flicker.
|
// when the view opens that can be perceived as flicker.
|
||||||
@@ -1333,7 +1333,7 @@ export class UrlbarView {
|
@@ -1341,7 +1341,7 @@ export class UrlbarView {
|
||||||
includeHiddenExposures: true,
|
includeHiddenExposures: true,
|
||||||
});
|
});
|
||||||
let canBeVisible =
|
let canBeVisible =
|
||||||
@@ -20,7 +20,7 @@ index b3608bb8b851979b893da9c83e86d08b54288047..97ffb0b855b1f1c3fe5c4081aa1ec03c
|
|||||||
if (result.isHiddenExposure) {
|
if (result.isHiddenExposure) {
|
||||||
if (canBeVisible) {
|
if (canBeVisible) {
|
||||||
this.controller.engagementEvent.addExposure(
|
this.controller.engagementEvent.addExposure(
|
||||||
@@ -3061,7 +3061,7 @@ export class UrlbarView {
|
@@ -3189,7 +3189,7 @@ export class UrlbarView {
|
||||||
}
|
}
|
||||||
|
|
||||||
#enableOrDisableRowWrap() {
|
#enableOrDisableRowWrap() {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
index f4eca54a9638072a03b4c0e406fe14388b85db61..7f0c5f724558bdb004114f2a6bea266c94facdf9 100644
|
index 1a482b6de24468ccfec069586f374937d8ef68dd..8614beda3fdfc038092f31f11b2604d5cfb843a1 100644
|
||||||
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
|
||||||
@@ -260,7 +260,7 @@ export const PREFS_CONFIG = new Map([
|
@@ -248,7 +248,7 @@ export const PREFS_CONFIG = new Map([
|
||||||
"showSponsoredTopSites",
|
"showSponsoredTopSites",
|
||||||
{
|
{
|
||||||
title: "Show sponsored top sites",
|
title: "Show sponsored top sites",
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||||
index 861ba1c484a4688857a3025455532ea9551b616a..570ac5122f50275d40e4deeeda0caeb577ee1bfd 100644
|
index 70f268914f1078ef45e86d295f4bb2ce179a05e0..73d8ffc4457468e8a57ad2c29e4d49f45436bf00 100644
|
||||||
--- a/browser/installer/package-manifest.in
|
--- a/browser/installer/package-manifest.in
|
||||||
+++ b/browser/installer/package-manifest.in
|
+++ b/browser/installer/package-manifest.in
|
||||||
@@ -384,17 +384,17 @@ bin/libfreebl_64int_3.so
|
@@ -361,17 +361,17 @@ bin/libfreebl_64int_3.so
|
||||||
; [MaintenanceService]
|
; [MaintenanceService]
|
||||||
;
|
;
|
||||||
#ifdef MOZ_MAINTENANCE_SERVICE
|
#ifdef MOZ_MAINTENANCE_SERVICE
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/installer/windows/nsis/defines.nsi.in b/browser/installer/windows/nsis/defines.nsi.in
|
diff --git a/browser/installer/windows/nsis/defines.nsi.in b/browser/installer/windows/nsis/defines.nsi.in
|
||||||
index eb9e403c36510bfda09eb84b8a35dff731279f5d..939d34dff255122947bf3eeabc9087685f101568 100644
|
index f78af1e3634dd503089ff8bdab5adba614a87892..4a19de8e89efadf2456011e2da2907a1135fe766 100644
|
||||||
--- a/browser/installer/windows/nsis/defines.nsi.in
|
--- a/browser/installer/windows/nsis/defines.nsi.in
|
||||||
+++ b/browser/installer/windows/nsis/defines.nsi.in
|
+++ b/browser/installer/windows/nsis/defines.nsi.in
|
||||||
@@ -90,7 +90,7 @@
|
@@ -90,7 +90,7 @@
|
||||||
@@ -11,7 +11,7 @@ index eb9e403c36510bfda09eb84b8a35dff731279f5d..939d34dff255122947bf3eeabc908768
|
|||||||
|
|
||||||
# ARCH is used when it is necessary to differentiate the x64 registry keys from
|
# ARCH is used when it is necessary to differentiate the x64 registry keys from
|
||||||
# the x86 registry keys (e.g. the uninstall registry key).
|
# the x86 registry keys (e.g. the uninstall registry key).
|
||||||
@@ -148,7 +148,7 @@ VIAddVersionKey "ProductVersion" "${AppVersion}"
|
@@ -154,7 +154,7 @@ VIAddVersionKey "ProductVersion" "${AppVersion}"
|
||||||
!define APPROXIMATE_REQUIRED_SPACE_MB "145"
|
!define APPROXIMATE_REQUIRED_SPACE_MB "145"
|
||||||
|
|
||||||
# Constants for parts of the telemetry submission URL
|
# Constants for parts of the telemetry submission URL
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi
|
diff --git a/browser/installer/windows/nsis/installer.nsi b/browser/installer/windows/nsis/installer.nsi
|
||||||
index 491bcbbd8430410fa930e7b52491ea62f2c48bbc..42d960f4adb4837009e0106a137c14fcbd7a55f9 100755
|
index 92eb3f11ea8035ce72eb5b1e110c98b1ef8665d1..e6b91ecfa8f16d2b884c70468ec1d3a0197351d1 100755
|
||||||
--- a/browser/installer/windows/nsis/installer.nsi
|
--- a/browser/installer/windows/nsis/installer.nsi
|
||||||
+++ b/browser/installer/windows/nsis/installer.nsi
|
+++ b/browser/installer/windows/nsis/installer.nsi
|
||||||
@@ -837,7 +837,7 @@ Section "-InstallEndCleanup"
|
@@ -841,7 +841,7 @@ Section "-InstallEndCleanup"
|
||||||
; When we're using the GUI, .onGUIEnd sends the ping, but of course that isn't
|
; When we're using the GUI, .onGUIEnd sends the ping, but of course that isn't
|
||||||
; invoked when we're running silently.
|
; invoked when we're running silently.
|
||||||
${If} ${Silent}
|
${If} ${Silent}
|
||||||
@@ -11,7 +11,7 @@ index 491bcbbd8430410fa930e7b52491ea62f2c48bbc..42d960f4adb4837009e0106a137c14fc
|
|||||||
${EndIf}
|
${EndIf}
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
@@ -1965,5 +1965,5 @@ FunctionEnd
|
@@ -1969,5 +1969,5 @@ FunctionEnd
|
||||||
|
|
||||||
Function .onGUIEnd
|
Function .onGUIEnd
|
||||||
${OnEndCommon}
|
${OnEndCommon}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/modules/ExtensionsUI.sys.mjs b/browser/modules/ExtensionsUI.sys.mjs
|
diff --git a/browser/modules/ExtensionsUI.sys.mjs b/browser/modules/ExtensionsUI.sys.mjs
|
||||||
index 3302b1e9a66c8495e1a627b33488b952e8ef72b1..1de6ee8b59595da4acbb91bc625cd380be32845a 100644
|
index 17cad7b3fbdd6dff862483892f37f72c00792c88..72d87d70182abfbf664b1dc86f4b4a3ecb2b1d01 100644
|
||||||
--- a/browser/modules/ExtensionsUI.sys.mjs
|
--- a/browser/modules/ExtensionsUI.sys.mjs
|
||||||
+++ b/browser/modules/ExtensionsUI.sys.mjs
|
+++ b/browser/modules/ExtensionsUI.sys.mjs
|
||||||
@@ -466,7 +466,7 @@ export var ExtensionsUI = {
|
@@ -478,7 +478,7 @@ export var ExtensionsUI = {
|
||||||
eventCallback,
|
eventCallback,
|
||||||
removeOnDismissal: true,
|
removeOnDismissal: true,
|
||||||
popupOptions: {
|
popupOptions: {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/modules/URILoadingHelper.sys.mjs b/browser/modules/URILoadingHelper.sys.mjs
|
diff --git a/browser/modules/URILoadingHelper.sys.mjs b/browser/modules/URILoadingHelper.sys.mjs
|
||||||
index ce594b69f55f9b9245a56fe8c962cf8a83cfe9a1..f3b99524f49f5a624c2fc213257a911862cd70c2 100644
|
index f7a3e8272f1f22286a26bf50d78b23aa82b49df8..a690732012331dfc40cc08fef4453c28c6587a24 100644
|
||||||
--- a/browser/modules/URILoadingHelper.sys.mjs
|
--- a/browser/modules/URILoadingHelper.sys.mjs
|
||||||
+++ b/browser/modules/URILoadingHelper.sys.mjs
|
+++ b/browser/modules/URILoadingHelper.sys.mjs
|
||||||
@@ -516,7 +516,7 @@ export const URILoadingHelper = {
|
@@ -541,7 +541,7 @@ export const URILoadingHelper = {
|
||||||
// page. If a load request bounces off for the currently selected tab,
|
// page. If a load request bounces off for the currently selected tab,
|
||||||
// we'll open a new tab instead.
|
// we'll open a new tab instead.
|
||||||
let tab = w.gBrowser.getTabForBrowser(targetBrowser);
|
let tab = w.gBrowser.getTabForBrowser(targetBrowser);
|
||||||
@@ -11,3 +11,21 @@ index ce594b69f55f9b9245a56fe8c962cf8a83cfe9a1..f3b99524f49f5a624c2fc213257a9118
|
|||||||
where = "tab";
|
where = "tab";
|
||||||
targetBrowser = null;
|
targetBrowser = null;
|
||||||
} else if (
|
} else if (
|
||||||
|
@@ -971,7 +971,7 @@ export const URILoadingHelper = {
|
||||||
|
ignoreQueryString || replaceQueryString,
|
||||||
|
ignoreFragmentWhenComparing
|
||||||
|
);
|
||||||
|
- let browsers = aWindow.gBrowser.browsers;
|
||||||
|
+ let browsers = aWindow.gZenWorkspaces.allUsedBrowsers;
|
||||||
|
for (let i = 0; i < browsers.length; i++) {
|
||||||
|
let browser = browsers[i];
|
||||||
|
let browserCompare = cleanURL(
|
||||||
|
@@ -1017,7 +1017,7 @@ export const URILoadingHelper = {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!doAdopt) {
|
||||||
|
- aWindow.gBrowser.tabContainer.selectedIndex = i;
|
||||||
|
+ aWindow.gZenWorkspaces.switchIfNeeded(browser);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
|
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
|
||||||
index dadb198cbf968dc622d2d0ee6c754f3541c052a2..ef8ed137443a089e5ac084bb8f86533ddd2086a1 100644
|
index 9723a8199cc5b8d25bb92c46992792b8c94a3565..3496c3ae4bacf39b788f1b0f740e89cdd9d7de5b 100644
|
||||||
--- a/browser/themes/linux/browser.css
|
--- a/browser/themes/linux/browser.css
|
||||||
+++ b/browser/themes/linux/browser.css
|
+++ b/browser/themes/linux/browser.css
|
||||||
@@ -43,7 +43,8 @@
|
@@ -43,7 +43,8 @@
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
|
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
|
||||||
index 9bea393a6a54db16d3f35bb70d217563bd2e3951..6487baeaacd9ff175be51747ea637e81b68a51ee 100644
|
index c209151370225d8efade7c51aea30ce7365e5f4f..4dd5cf4a98ea010b2d347ac0ba7314ae81320e75 100644
|
||||||
--- a/browser/themes/osx/browser.css
|
--- a/browser/themes/osx/browser.css
|
||||||
+++ b/browser/themes/osx/browser.css
|
+++ b/browser/themes/osx/browser.css
|
||||||
@@ -38,7 +38,7 @@
|
@@ -38,7 +38,7 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
|
diff --git a/browser/themes/shared/browser-shared.css b/browser/themes/shared/browser-shared.css
|
||||||
index 7fcb1d906c3aaec3e6b099ae731267c2b9d0b96a..ea8e0f510b09faaed0955e9974a2d9f285a52649 100644
|
index c612e7d021122e3e4823994071cd613563d3e12e..682d7a47624460ce33e8fcb5ff9c995f3413bab2 100644
|
||||||
--- a/browser/themes/shared/browser-shared.css
|
--- a/browser/themes/shared/browser-shared.css
|
||||||
+++ b/browser/themes/shared/browser-shared.css
|
+++ b/browser/themes/shared/browser-shared.css
|
||||||
@@ -78,7 +78,7 @@ body {
|
@@ -99,7 +99,7 @@ body {
|
||||||
--toolbarbutton-border-radius: 4px;
|
--toolbarbutton-border-radius: 4px;
|
||||||
--identity-box-margin-inline: 4px;
|
--identity-box-margin-inline: 4px;
|
||||||
--urlbar-min-height: max(32px, 1.4em);
|
--urlbar-min-height: max(32px, 1.4em);
|
||||||
@@ -11,7 +11,7 @@ index 7fcb1d906c3aaec3e6b099ae731267c2b9d0b96a..ea8e0f510b09faaed0955e9974a2d9f2
|
|||||||
|
|
||||||
/* This should be used for icons and chiclets inside the input field. It makes
|
/* This should be used for icons and chiclets inside the input field. It makes
|
||||||
the gap around them more uniform when they are close to the field edges */
|
the gap around them more uniform when they are close to the field edges */
|
||||||
@@ -148,8 +148,6 @@ body {
|
@@ -167,8 +167,6 @@ body {
|
||||||
*/
|
*/
|
||||||
&.fullscreen-with-menubar {
|
&.fullscreen-with-menubar {
|
||||||
z-index: var(--browser-area-z-index-toolbox-while-animating);
|
z-index: var(--browser-area-z-index-toolbox-while-animating);
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
|
diff --git a/browser/themes/shared/identity-block/identity-block.css b/browser/themes/shared/identity-block/identity-block.css
|
||||||
index 13b1659ed5a3b9bb0342b601998d0fd5c9760e22..4f13c401f23f51962986fe8caf197aa5306fc276 100644
|
index 8edca63dc52ec207475ed9965559d28c06e27971..884343473857c6b6256922d47085fac6eabe74fb 100644
|
||||||
--- a/browser/themes/shared/identity-block/identity-block.css
|
--- a/browser/themes/shared/identity-block/identity-block.css
|
||||||
+++ b/browser/themes/shared/identity-block/identity-block.css
|
+++ b/browser/themes/shared/identity-block/identity-block.css
|
||||||
@@ -81,7 +81,7 @@
|
@@ -83,7 +83,7 @@
|
||||||
|
|
||||||
#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
|
#identity-box[pageproxystate="valid"]:is(.notSecureText, .chromeUI, .extensionPage) > .identity-box-button,
|
||||||
#urlbar-label-box {
|
#urlbar-label-box {
|
||||||
@@ -11,7 +11,7 @@ index 13b1659ed5a3b9bb0342b601998d0fd5c9760e22..4f13c401f23f51962986fe8caf197aa5
|
|||||||
color: var(--urlbar-box-text-color);
|
color: var(--urlbar-box-text-color);
|
||||||
padding-inline: 8px;
|
padding-inline: 8px;
|
||||||
border-radius: var(--urlbar-icon-border-radius);
|
border-radius: var(--urlbar-icon-border-radius);
|
||||||
@@ -175,16 +175,17 @@
|
@@ -178,16 +178,17 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#identity-icon {
|
#identity-icon {
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
||||||
index c2bebf7e96a1d7a36c5e3168cf65504361da821b..5f55741b2a467341f93f648c5f084f863a6de32c 100644
|
index bc47c162cd4792c7df17565014aac1c2258c6d40..21c0b7ddb04cbb828c758dad34885f91c1ddde6c 100644
|
||||||
--- a/browser/themes/shared/jar.inc.mn
|
--- a/browser/themes/shared/jar.inc.mn
|
||||||
+++ b/browser/themes/shared/jar.inc.mn
|
+++ b/browser/themes/shared/jar.inc.mn
|
||||||
@@ -290,3 +290,5 @@
|
@@ -316,3 +316,5 @@
|
||||||
skin/classic/browser/weather/night-partly-cloudy-with-showers.svg (../shared/weather/night-partly-cloudy-with-showers.svg)
|
|
||||||
skin/classic/browser/weather/night-partly-cloudy-with-thunderstorms.svg (../shared/weather/night-partly-cloudy-with-thunderstorms.svg)
|
|
||||||
skin/classic/browser/weather/night-mostly-cloudy-with-flurries.svg (../shared/weather/night-mostly-cloudy-with-flurries.svg)
|
skin/classic/browser/weather/night-mostly-cloudy-with-flurries.svg (../shared/weather/night-mostly-cloudy-with-flurries.svg)
|
||||||
|
|
||||||
|
skin/classic/browser/illustrations/market-opt-in.svg (../shared/illustrations/market-opt-in.svg)
|
||||||
+
|
+
|
||||||
+#include zen-sources.inc.mn
|
+#include zen-sources.inc.mn
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
diff --git a/browser/themes/shared/tabbrowser/content-area.css b/browser/themes/shared/tabbrowser/content-area.css
|
||||||
index 5c721ee07f0be1318a50cb381ddf59550a04d496..fa2d21687dd8ea7dd03fb4cc2952fe783782a955 100644
|
index 44f6c942f2e4b08f784b2ff96f785e9beed01ecd..834e174186972c3297a552bbd579f0ea1261c19e 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/content-area.css
|
--- a/browser/themes/shared/tabbrowser/content-area.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
+++ b/browser/themes/shared/tabbrowser/content-area.css
|
||||||
@@ -237,7 +237,7 @@
|
@@ -276,7 +276,7 @@
|
||||||
|
|
||||||
.dialogStack {
|
.dialogStack {
|
||||||
z-index: var(--browser-stack-z-index-dialog-stack);
|
z-index: var(--browser-stack-z-index-dialog-stack);
|
||||||
|
@@ -1,12 +1,12 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/ctrlTab.css b/browser/themes/shared/tabbrowser/ctrlTab.css
|
diff --git a/browser/themes/shared/tabbrowser/ctrlTab.css b/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||||
index 50045ec27abcde91d5aea12fc7faaefbddf50229..f4e98dce5195ff3298fb98714d56cf5d3bdaaf48 100644
|
index aaeae8fd0e999aecda02bf287b39c4d96ad73f3c..d8196d9b1b5491d73b18a7c7d7fef55bc11fe31b 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/ctrlTab.css
|
--- a/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/ctrlTab.css
|
+++ b/browser/themes/shared/tabbrowser/ctrlTab.css
|
||||||
@@ -12,6 +12,7 @@
|
@@ -11,6 +11,7 @@
|
||||||
--panel-color: white;
|
|
||||||
--panel-border-color: transparent;
|
--panel-border-color: transparent;
|
||||||
--panel-padding: 20px 10px 10px;
|
--panel-padding: 20px 10px 10px;
|
||||||
|
-moz-window-shadow: none;
|
||||||
+ --panel-shadow-margin: 0;
|
+ --panel-shadow-margin: 0;
|
||||||
}
|
@media not (-moz-platform: macos) {
|
||||||
|
font-weight: bold;
|
||||||
@media (-moz-platform: macos) {
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
diff --git a/browser/themes/shared/tabbrowser/tabs.css b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a1e768135 100644
|
index 07574cdd974f63b90355f069f0fbc3fa6cd61b50..665b8c431be11dc0ef5f1f30f4c2ef884c231e46 100644
|
||||||
--- a/browser/themes/shared/tabbrowser/tabs.css
|
--- a/browser/themes/shared/tabbrowser/tabs.css
|
||||||
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
+++ b/browser/themes/shared/tabbrowser/tabs.css
|
||||||
@@ -19,7 +19,7 @@
|
@@ -21,7 +21,7 @@
|
||||||
--tab-group-line-thickness: 2px;
|
--tab-group-line-thickness: 2px;
|
||||||
--tab-group-line-toolbar-border-distance: 1px;
|
--tab-group-line-toolbar-border-distance: 1px;
|
||||||
/* Collapsed tabs should be square, so set width to match the min height */
|
/* Collapsed tabs should be square, so set width to match the min height */
|
||||||
@@ -11,7 +11,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
--tab-collapsed-width: calc(var(--tab-collapsed-background-width) + 2 * var(--tab-inner-inline-margin));
|
||||||
--tab-inner-inline-margin: var(--space-medium);
|
--tab-inner-inline-margin: var(--space-medium);
|
||||||
--tab-inline-padding: 8px;
|
--tab-inline-padding: 8px;
|
||||||
@@ -33,9 +33,9 @@
|
@@ -35,9 +35,9 @@
|
||||||
--tab-block-margin: 4px;
|
--tab-block-margin: 4px;
|
||||||
--tab-icon-end-margin: 5.5px;
|
--tab-icon-end-margin: 5.5px;
|
||||||
--tab-label-line-height: 1.7;
|
--tab-label-line-height: 1.7;
|
||||||
@@ -23,7 +23,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
--tab-selected-bgcolor: var(--toolbar-bgcolor);
|
||||||
--tab-selected-color-scheme: var(--toolbar-color-scheme);
|
--tab-selected-color-scheme: var(--toolbar-color-scheme);
|
||||||
&[lwt-tab-selected="light"] {
|
&[lwt-tab-selected="light"] {
|
||||||
@@ -255,7 +255,6 @@
|
@@ -259,7 +259,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
:root:not([uidensity="compact"], [sidebar-expand-on-hover]) &[pinned] {
|
||||||
@@ -31,7 +31,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:is([selected], [multiselected]) {
|
&:is([selected], [multiselected]) {
|
||||||
@@ -269,6 +268,7 @@
|
@@ -273,6 +272,7 @@
|
||||||
border-radius: inherit;
|
border-radius: inherit;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -39,7 +39,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -468,14 +468,11 @@
|
@@ -472,14 +472,11 @@
|
||||||
.tab-icon-image {
|
.tab-icon-image {
|
||||||
-moz-context-properties: fill, stroke;
|
-moz-context-properties: fill, stroke;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
@@ -55,7 +55,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -492,10 +489,6 @@
|
@@ -496,10 +493,6 @@
|
||||||
/* stylelint-disable-next-line media-query-no-invalid */
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||||||
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
@media -moz-pref("browser.tabs.fadeOutExplicitlyUnloadedTabs") {
|
||||||
&[pending][discarded] {
|
&[pending][discarded] {
|
||||||
@@ -66,7 +66,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
/* Fade the favicon out */
|
/* Fade the favicon out */
|
||||||
transition-property: filter, opacity;
|
transition-property: filter, opacity;
|
||||||
@@ -568,7 +561,7 @@
|
@@ -572,7 +565,7 @@
|
||||||
z-index: 1; /* Overlay tab title */
|
z-index: 1; /* Overlay tab title */
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"] & {
|
#tabbrowser-tabs[orient="vertical"] & {
|
||||||
@@ -75,7 +75,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
}
|
}
|
||||||
|
|
||||||
&[crashed] {
|
&[crashed] {
|
||||||
@@ -576,7 +569,7 @@
|
@@ -580,7 +573,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) &:not([crashed]),
|
||||||
@@ -84,7 +84,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
&[soundplaying] {
|
&[soundplaying] {
|
||||||
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-playing-small.svg");
|
||||||
}
|
}
|
||||||
@@ -633,7 +626,7 @@
|
@@ -637,7 +630,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
&[crashed] {
|
&[crashed] {
|
||||||
display: revert;
|
display: revert;
|
||||||
}
|
}
|
||||||
@@ -734,7 +727,7 @@
|
@@ -738,7 +731,7 @@
|
||||||
has not been added to root. There are certain scenarios when that attribute is temporarily
|
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. */
|
removed from root such as when toggling the sidebar to expand with the toolbar button. */
|
||||||
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
#tabbrowser-tabs[orient="horizontal"] &:not([pinned]):not([crashed]),
|
||||||
@@ -102,16 +102,16 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
&:is([soundplaying], [muted], [activemedia-blocked]) {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
@@ -1039,7 +1032,7 @@ tab-group {
|
@@ -1137,7 +1130,7 @@ tab-group {
|
||||||
}
|
}
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"][expanded] {
|
#tabbrowser-tabs[orient="vertical"][expanded] {
|
||||||
- tab-group > :is(.tab-group-label-container, .tabbrowser-tab),
|
- tab-group > :is(.tab-group-label-container, .tabbrowser-tab),
|
||||||
+ tab-group > :is(.tab-group-label-container, .tab-group-container, .tabbrowser-tab),
|
+ tab-group > :is(.tab-group-label-container, .tab-group-container, .tabbrowser-tab),
|
||||||
&[movingtab][movingtab-addToGroup]:not([movingtab-createGroup], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
|
&[movingtab][movingtab-addToGroup]:not([movingtab-group], [movingtab-ungroup]) .tabbrowser-tab:is(:active, [multiselected]) {
|
||||||
margin-inline-start: var(--space-medium);
|
margin-inline-start: var(--space-medium);
|
||||||
}
|
}
|
||||||
@@ -1457,7 +1450,7 @@ tab-group {
|
@@ -1567,7 +1560,7 @@ tab-group {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
#vertical-tabs-newtab-button {
|
#vertical-tabs-newtab-button {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
min-height: var(--tab-min-height);
|
min-height: var(--tab-min-height);
|
||||||
@@ -1468,7 +1461,7 @@ tab-group {
|
@@ -1578,7 +1571,7 @@ tab-group {
|
||||||
margin-inline: var(--tab-inner-inline-margin);
|
margin-inline: var(--tab-inner-inline-margin);
|
||||||
|
|
||||||
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
#tabbrowser-tabs[orient="vertical"]:not([expanded]) & > .toolbarbutton-text {
|
||||||
@@ -129,7 +129,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -1492,7 +1485,7 @@ tab-group {
|
@@ -1602,7 +1595,7 @@ tab-group {
|
||||||
* flex container. #tabs-newtab-button is a child of the arrowscrollbox where
|
* 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.
|
* we don't want a gap (between tabs), so we have to add some margin.
|
||||||
*/
|
*/
|
||||||
@@ -138,7 +138,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
margin-block: var(--tab-block-margin);
|
margin-block: var(--tab-block-margin);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1687,7 +1680,6 @@ tab-group {
|
@@ -1793,7 +1786,6 @@ tab-group {
|
||||||
|
|
||||||
&:not([expanded]) {
|
&:not([expanded]) {
|
||||||
.tabbrowser-tab[pinned] {
|
.tabbrowser-tab[pinned] {
|
||||||
@@ -146,7 +146,7 @@ index b710cbf2aa3febc0693bdc6aef48ef4aea855235..61c813322c866ae823dac6c0826d572a
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tab-background {
|
.tab-background {
|
||||||
@@ -1847,7 +1839,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
@@ -1953,7 +1945,6 @@ toolbar:not(#TabsToolbar) #firefox-view-button {
|
||||||
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
list-style-image: url(chrome://global/skin/icons/plus.svg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
|
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
|
||||||
index 1f91bda717979f3e81d2f6b243336078d97c5cb9..4232ec4761cb15ff96e9b18810b05f548a6f5fd9 100644
|
index e7b1c17391ffae02226015d0dd8bbe8eca29731f..938a8cb8c3d854a75fe300db2a7330d188c9ed6f 100644
|
||||||
--- a/browser/themes/shared/toolbarbuttons.css
|
--- a/browser/themes/shared/toolbarbuttons.css
|
||||||
+++ b/browser/themes/shared/toolbarbuttons.css
|
+++ b/browser/themes/shared/toolbarbuttons.css
|
||||||
@@ -256,7 +256,7 @@ toolbar .toolbaritem-combined-buttons > separator {
|
@@ -256,7 +256,7 @@ toolbar .toolbaritem-combined-buttons > separator {
|
||||||
|
@@ -1,33 +1,33 @@
|
|||||||
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
|
diff --git a/browser/themes/shared/urlbar-searchbar.css b/browser/themes/shared/urlbar-searchbar.css
|
||||||
index d6c0b56270aee3dd0e74840314ea25af3ca8050a..17b22809744a8903b916b7769681a0c14d054f45 100644
|
index 11636a976736ba56dcc5a58081cee998bbdf58d4..0a6ca26f25511c799d8b40484b6bd1c81ceeb4e0 100644
|
||||||
--- a/browser/themes/shared/urlbar-searchbar.css
|
--- a/browser/themes/shared/urlbar-searchbar.css
|
||||||
+++ b/browser/themes/shared/urlbar-searchbar.css
|
+++ b/browser/themes/shared/urlbar-searchbar.css
|
||||||
@@ -5,7 +5,7 @@
|
@@ -6,7 +6,7 @@
|
||||||
@namespace html url("http://www.w3.org/1999/xhtml");
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
|
--urlbar-container-min-width: 310px;
|
||||||
- --urlbar-container-padding: 1px;
|
- --urlbar-container-padding: 1px;
|
||||||
+ --urlbar-container-padding: 2px;
|
+ --urlbar-container-padding: 2px;
|
||||||
--urlbar-margin-inline: 5px;
|
--urlbar-margin-inline: 5px;
|
||||||
--urlbar-padding-block: 4px;
|
--urlbar-padding-block: 4px;
|
||||||
}
|
|
||||||
@@ -23,7 +23,7 @@
|
@@ -33,7 +33,7 @@
|
||||||
#urlbar:not([usertyping]) > .urlbar-input-container > .urlbar-go-button,
|
#urlbar[usertyping] > .urlbar-input-container > #page-action-buttons > #urlbar-zoom-button,
|
||||||
#urlbar:not([focused]) > .urlbar-input-container > .urlbar-go-button,
|
.urlbar:is(:not([usertyping]), :not([focused])) > .urlbar-input-container > .urlbar-go-button,
|
||||||
#urlbar-revert-button-container {
|
.urlbar-revert-button-container {
|
||||||
- display: none;
|
- display: none;
|
||||||
+ display: none !important;
|
+ display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* When rich suggestions are enabled the urlbar identity icon is given extra padding to
|
/* When rich suggestions are enabled the urlbar identity icon is given extra padding to
|
||||||
@@ -288,10 +288,14 @@
|
@@ -307,10 +307,14 @@
|
||||||
|
|
||||||
#urlbar[breakout][breakout-extend] {
|
.urlbar[breakout][breakout-extend] {
|
||||||
height: auto;
|
height: auto;
|
||||||
|
+ align-items: center;
|
||||||
+ :root:not([zen-single-toolbar='true']) {
|
+ :root:not([zen-single-toolbar='true']) {
|
||||||
margin-left: calc(-1 * var(--urlbar-margin-inline));
|
margin-left: calc(-1 * var(--urlbar-margin-inline));
|
||||||
+ }
|
+ }
|
||||||
+ align-items: center;
|
|
||||||
width: calc(var(--urlbar-width) + 2 * var(--urlbar-margin-inline));
|
width: calc(var(--urlbar-width) + 2 * var(--urlbar-margin-inline));
|
||||||
|
|
||||||
> .urlbar-input-container {
|
> .urlbar-input-container {
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/shared/urlbarView.css b/browser/themes/shared/urlbarView.css
|
diff --git a/browser/themes/shared/urlbarView.css b/browser/themes/shared/urlbarView.css
|
||||||
index 428ce749239be2a54c86e0feff123772d1a1d697..bfef48f520dac8968f79d06cbef2e5a047ded748 100644
|
index 743b1bc81474378ac994ca9cfeb8f4cc6b434581..3486cebd74efa2df481d2a112e89b219bd6bb8a2 100644
|
||||||
--- a/browser/themes/shared/urlbarView.css
|
--- a/browser/themes/shared/urlbarView.css
|
||||||
+++ b/browser/themes/shared/urlbarView.css
|
+++ b/browser/themes/shared/urlbarView.css
|
||||||
@@ -20,7 +20,7 @@
|
@@ -20,7 +20,7 @@
|
||||||
@@ -11,7 +11,7 @@ index 428ce749239be2a54c86e0feff123772d1a1d697..bfef48f520dac8968f79d06cbef2e5a0
|
|||||||
--urlbarView-row-gutter: 2px;
|
--urlbarView-row-gutter: 2px;
|
||||||
--urlbarView-item-inline-padding: var(--urlbar-icon-padding);
|
--urlbarView-item-inline-padding: var(--urlbar-icon-padding);
|
||||||
--urlbarView-item-block-padding: 6px;
|
--urlbarView-item-block-padding: 6px;
|
||||||
@@ -168,7 +168,6 @@
|
@@ -173,7 +173,6 @@
|
||||||
min-height: 32px;
|
min-height: 32px;
|
||||||
}
|
}
|
||||||
:root[uidensity="touch"] & {
|
:root[uidensity="touch"] & {
|
||||||
|
@@ -20,10 +20,6 @@
|
|||||||
list-style-image: url('back.svg') !important;
|
list-style-image: url('back.svg') !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zenSplitViewModifierActivateReallocation > image {
|
|
||||||
list-style-image: url('move-tab.svg') !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#forward-button {
|
#forward-button {
|
||||||
list-style-image: url('forward.svg') !important;
|
list-style-image: url('forward.svg') !important;
|
||||||
}
|
}
|
||||||
@@ -770,7 +766,7 @@
|
|||||||
list-style-image: url('chrome://global/skin/media/picture-in-picture-open.svg');
|
list-style-image: url('chrome://global/skin/media/picture-in-picture-open.svg');
|
||||||
}
|
}
|
||||||
|
|
||||||
#zenCreateNewPopup > menuitem image {
|
#zenCreateNewPopup > menuitem img {
|
||||||
-moz-context-properties: fill;
|
-moz-context-properties: fill;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
}
|
}
|
||||||
@@ -817,7 +813,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.zen-workspace-context-icon image {
|
.zen-workspace-context-icon img {
|
||||||
-moz-context-properties: fill;
|
-moz-context-properties: fill;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
scale: 1.6;
|
scale: 1.6;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
|
diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css
|
||||||
index 4f960ae35aa69a1d1ce4ad368f5bae365229bbdf..a60d16adee588a1ab0d06d7676bbe80f179e088d 100644
|
index 4485369284ee762bc8b35afb84fec0874a831fff..7096e2e5d50cda99b62a2aa7118fea6371e76b85 100644
|
||||||
--- a/browser/themes/windows/browser.css
|
--- a/browser/themes/windows/browser.css
|
||||||
+++ b/browser/themes/windows/browser.css
|
+++ b/browser/themes/windows/browser.css
|
||||||
@@ -31,7 +31,6 @@
|
@@ -31,7 +31,6 @@
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/devtools/server/actors/animation-type-longhand.js b/devtools/server/actors/animation-type-longhand.js
|
diff --git a/devtools/server/actors/animation-type-longhand.js b/devtools/server/actors/animation-type-longhand.js
|
||||||
index a7faa2a2f17144198338aa80207ccf33b631cf32..7c15f8d8d533721b661866643cf10b37c99cb051 100644
|
index 17960549c60ebab9ac7c50a70cb69a6b1f8c37dd..9a9ec4539d39f20dccf449cbdcd066efee145b50 100644
|
||||||
--- a/devtools/server/actors/animation-type-longhand.js
|
--- a/devtools/server/actors/animation-type-longhand.js
|
||||||
+++ b/devtools/server/actors/animation-type-longhand.js
|
+++ b/devtools/server/actors/animation-type-longhand.js
|
||||||
@@ -341,6 +341,7 @@ exports.ANIMATION_TYPE_FOR_LONGHANDS = [
|
@@ -343,6 +343,7 @@ exports.ANIMATION_TYPE_FOR_LONGHANDS = [
|
||||||
"transform-origin",
|
"transform-origin",
|
||||||
"translate",
|
"translate",
|
||||||
"-moz-window-transform",
|
"-moz-window-transform",
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/devtools/startup/DevToolsStartup.sys.mjs b/devtools/startup/DevToolsStartup.sys.mjs
|
diff --git a/devtools/startup/DevToolsStartup.sys.mjs b/devtools/startup/DevToolsStartup.sys.mjs
|
||||||
index 91b27e5b5fd938f8c5f141214b934999e0ad871e..d2fdae0b0de64c016abbdd5bf124da278d425b24 100644
|
index 175edde2720f31c796e8ae8823e2aff17944f423..d9d4f7f5e53064b1ba07870dced2e1452fdde6b1 100644
|
||||||
--- a/devtools/startup/DevToolsStartup.sys.mjs
|
--- a/devtools/startup/DevToolsStartup.sys.mjs
|
||||||
+++ b/devtools/startup/DevToolsStartup.sys.mjs
|
+++ b/devtools/startup/DevToolsStartup.sys.mjs
|
||||||
@@ -813,6 +813,7 @@ DevToolsStartup.prototype = {
|
@@ -816,6 +816,7 @@ DevToolsStartup.prototype = {
|
||||||
// account (see bug 832984).
|
// account (see bug 832984).
|
||||||
const mainKeyset = doc.getElementById("mainKeyset");
|
const mainKeyset = doc.getElementById("mainKeyset");
|
||||||
mainKeyset.parentNode.insertBefore(keyset, mainKeyset);
|
mainKeyset.parentNode.insertBefore(keyset, mainKeyset);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
|
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
|
||||||
index df5658c7231e73c52ee00e35eeccc47166528391..8bfdceb0fc00c618326e932990c9503af13d9e69 100644
|
index 83d84537f94863d47a30887362fa1ce5a9809427..104d170d5e5114f965b7698fc59d2bad12265261 100644
|
||||||
--- a/docshell/base/nsAboutRedirector.cpp
|
--- a/docshell/base/nsAboutRedirector.cpp
|
||||||
+++ b/docshell/base/nsAboutRedirector.cpp
|
+++ b/docshell/base/nsAboutRedirector.cpp
|
||||||
@@ -108,7 +108,7 @@ static const RedirEntry kRedirMap[] = {
|
@@ -108,7 +108,7 @@ static const RedirEntry kRedirMap[] = {
|
||||||
|
@@ -1,24 +1,23 @@
|
|||||||
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
|
diff --git a/dom/base/Document.cpp b/dom/base/Document.cpp
|
||||||
index 40da41ae4ac7d8d61c664e25bec8a74091d8b3e0..59773e80c6220115d0c51e268bb1eff0fe208010 100644
|
index 7d7a93e9e76b4957e3ac5860dfc730b7c4e6ad1d..c7c689b73c6599e9e736f73a67bb402d083964a0 100644
|
||||||
--- a/dom/base/Document.cpp
|
--- a/dom/base/Document.cpp
|
||||||
+++ b/dom/base/Document.cpp
|
+++ b/dom/base/Document.cpp
|
||||||
@@ -10,6 +10,7 @@
|
@@ -467,6 +467,7 @@
|
||||||
|
#include "prtime.h"
|
||||||
#include "mozilla/dom/Document.h"
|
#include "prtypes.h"
|
||||||
#include "mozilla/dom/DocumentInlines.h"
|
#include "xpcpublic.h"
|
||||||
+#include "mozilla/ZenStyleSheetCache.h"
|
+#include "mozilla/ZenStyleSheetCache.h"
|
||||||
|
|
||||||
#include <inttypes.h>
|
// clang-format off
|
||||||
#include <stdlib.h>
|
#include "mozilla/Encoding.h"
|
||||||
@@ -3306,6 +3307,11 @@ void Document::FillStyleSetUserAndUASheets() {
|
@@ -3345,6 +3346,10 @@ void Document::FillStyleSetUserAndUASheets() {
|
||||||
|
for (StyleSheet* sheet : *sheetService->UserStyleSheets()) {
|
||||||
styleSet.AppendStyleSheet(*sheet);
|
styleSet.AppendStyleSheet(*sheet);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ if (auto sheet = zen::ZenStyleSheetCache::Singleton()->GetModsSheet(); sheet && IsInChromeDocShell()) {
|
+ if (auto sheet = zen::ZenStyleSheetCache::Singleton()->GetModsSheet(); sheet && IsInChromeDocShell()) {
|
||||||
+ // The mods sheet is only used in the chrome docshell.
|
+ // The mods sheet is only used in the chrome docshell.
|
||||||
+ styleSet.AppendStyleSheet(*sheet);
|
+ styleSet.AppendStyleSheet(*sheet);
|
||||||
+ }
|
+ }
|
||||||
+
|
|
||||||
StyleSheet* sheet = IsInChromeDocShell() ? cache->GetUserChromeSheet()
|
StyleSheet* sheet = IsInChromeDocShell() ? cache->GetUserChromeSheet()
|
||||||
: cache->GetUserContentSheet();
|
: cache->GetUserContentSheet();
|
||||||
if (sheet) {
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/dom/base/use_counter_metrics.yaml b/dom/base/use_counter_metrics.yaml
|
diff --git a/dom/base/use_counter_metrics.yaml b/dom/base/use_counter_metrics.yaml
|
||||||
index c8dd3cca62e788eed5e5df5294fa7c9f3a2e9492..91e6281f4eb1c4c6aa1dddd8a0f06aa0c15a71ab 100644
|
index adf8d1ed451a54426d92e65557801cffa2f64281..0bf810d3544e42689ad530468bfce5380a51e274 100644
|
||||||
--- a/dom/base/use_counter_metrics.yaml
|
--- a/dom/base/use_counter_metrics.yaml
|
||||||
+++ b/dom/base/use_counter_metrics.yaml
|
+++ b/dom/base/use_counter_metrics.yaml
|
||||||
@@ -21460,6 +21460,22 @@ use.counter.css.page:
|
@@ -21477,6 +21477,22 @@ use.counter.css.page:
|
||||||
send_in_pings:
|
send_in_pings:
|
||||||
- use-counters
|
- use-counters
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@ index c8dd3cca62e788eed5e5df5294fa7c9f3a2e9492..91e6281f4eb1c4c6aa1dddd8a0f06aa0
|
|||||||
css_transform_origin:
|
css_transform_origin:
|
||||||
type: counter
|
type: counter
|
||||||
description: >
|
description: >
|
||||||
@@ -33447,6 +33463,22 @@ use.counter.css.doc:
|
@@ -33481,6 +33497,22 @@ use.counter.css.doc:
|
||||||
send_in_pings:
|
send_in_pings:
|
||||||
- use-counters
|
- use-counters
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/dom/media/mediacontrol/MediaController.cpp b/dom/media/mediacontrol/MediaController.cpp
|
diff --git a/dom/media/mediacontrol/MediaController.cpp b/dom/media/mediacontrol/MediaController.cpp
|
||||||
index 3f08d24d4ed56bb72ed513ed602b2c8fa48afe7b..98dfe4df48f5daebd2b619f0d4d4eb3ac873a66f 100644
|
index 8a1735b70f2003b7ee554230c4ad93c68793fce2..86d86a83545287356be5e455501b8c30062adc3a 100644
|
||||||
--- a/dom/media/mediacontrol/MediaController.cpp
|
--- a/dom/media/mediacontrol/MediaController.cpp
|
||||||
+++ b/dom/media/mediacontrol/MediaController.cpp
|
+++ b/dom/media/mediacontrol/MediaController.cpp
|
||||||
@@ -51,6 +51,25 @@ void MediaController::GetSupportedKeys(
|
@@ -51,6 +51,25 @@ void MediaController::GetSupportedKeys(
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/dom/media/mediacontrol/MediaController.h b/dom/media/mediacontrol/MediaController.h
|
diff --git a/dom/media/mediacontrol/MediaController.h b/dom/media/mediacontrol/MediaController.h
|
||||||
index 8fec9c59e38bc24b9ff6d30ddbaebff67107bc76..5e7f3634f9edef48d6f96b4900f82a7ebbd730be 100644
|
index 327ea6201304b3d26a2b4f0267b1c926c73ee9e4..ad14bb2572c29df4897672e14afc185b9b517da4 100644
|
||||||
--- a/dom/media/mediacontrol/MediaController.h
|
--- a/dom/media/mediacontrol/MediaController.h
|
||||||
+++ b/dom/media/mediacontrol/MediaController.h
|
+++ b/dom/media/mediacontrol/MediaController.h
|
||||||
@@ -90,6 +90,7 @@ class MediaController final : public DOMEventTargetHelper,
|
@@ -90,6 +90,7 @@ class MediaController final : public DOMEventTargetHelper,
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp
|
diff --git a/dom/media/mediaelement/HTMLMediaElement.cpp b/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||||
index 2becc049b5a0ee8544819b08d65f1df0a4c23658..6e7a05f135c6ab2c4955a679c1a4ac0e9aae7592 100644
|
index d46d5edc1d66c1eee8780abad444289fdc36a518..0e0d69819d9eee82add726792ec829c05551a076 100644
|
||||||
--- a/dom/html/HTMLMediaElement.cpp
|
--- a/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||||
+++ b/dom/html/HTMLMediaElement.cpp
|
+++ b/dom/media/mediaelement/HTMLMediaElement.cpp
|
||||||
@@ -453,6 +453,7 @@ class HTMLMediaElement::MediaControlKeyListener final
|
@@ -453,6 +453,7 @@ class HTMLMediaElement::MediaControlKeyListener final
|
||||||
// audible state. Therefore, in that case we would noitfy the audible state
|
// audible state. Therefore, in that case we would noitfy the audible state
|
||||||
// when media starts playing.
|
// when media starts playing.
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs
|
diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs
|
||||||
index e860f36ef2b42a7377047c64dd4f9405f26b3249..8057172482aa042e9951fc7367891a66eed75f5e 100644
|
index 79e062a40ed097fa6614abc6b5201f868c447733..91c10d17f0dca55eafec522ddc94b91bf4cd2cfb 100644
|
||||||
--- a/gfx/wr/webrender/src/picture.rs
|
--- a/gfx/wr/webrender/src/picture.rs
|
||||||
+++ b/gfx/wr/webrender/src/picture.rs
|
+++ b/gfx/wr/webrender/src/picture.rs
|
||||||
@@ -8112,7 +8112,12 @@ fn get_relative_scale_offset(
|
@@ -8121,7 +8121,12 @@ fn get_relative_scale_offset(
|
||||||
CoordinateSpaceMapping::Local => ScaleOffset::identity(),
|
CoordinateSpaceMapping::Local => ScaleOffset::identity(),
|
||||||
CoordinateSpaceMapping::ScaleOffset(scale_offset) => scale_offset,
|
CoordinateSpaceMapping::ScaleOffset(scale_offset) => scale_offset,
|
||||||
CoordinateSpaceMapping::Transform(m) => {
|
CoordinateSpaceMapping::Transform(m) => {
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/layout/generic/nsIFrame.cpp b/layout/generic/nsIFrame.cpp
|
diff --git a/layout/generic/nsIFrame.cpp b/layout/generic/nsIFrame.cpp
|
||||||
index e13628eccc51f0e81fc1404b061840d816502757..85cca51cf37db83f6e79c6e6af080646d2c49670 100644
|
index 0fca54d43aed64e711c3470a5745a94baaed8886..17097bc8f39e7d5140afa4d91811bca2071a8ad1 100644
|
||||||
--- a/layout/generic/nsIFrame.cpp
|
--- a/layout/generic/nsIFrame.cpp
|
||||||
+++ b/layout/generic/nsIFrame.cpp
|
+++ b/layout/generic/nsIFrame.cpp
|
||||||
@@ -11901,6 +11901,11 @@ gfx::Matrix nsIFrame::ComputeWidgetTransform() const {
|
@@ -11933,6 +11933,11 @@ gfx::Matrix nsIFrame::ComputeWidgetTransform() const {
|
||||||
gfx::Matrix4x4 matrix = nsStyleTransformMatrix::ReadTransforms(
|
gfx::Matrix4x4 matrix = nsStyleTransformMatrix::ReadTransforms(
|
||||||
uiReset->mMozWindowTransform, refBox, float(appUnitsPerDevPixel));
|
uiReset->mMozWindowTransform, refBox, float(appUnitsPerDevPixel));
|
||||||
|
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
diff --git a/layout/base/nsStyleSheetService.h b/layout/base/nsStyleSheetService.h
|
diff --git a/layout/style/nsStyleSheetService.h b/layout/style/nsStyleSheetService.h
|
||||||
index 83fc829aad19f8b80692e67bddb781778fbc4f8d..04806a1f51686a82c1dc2555dae86a4397b181fb 100644
|
index 83fc829aad19f8b80692e67bddb781778fbc4f8d..04806a1f51686a82c1dc2555dae86a4397b181fb 100644
|
||||||
--- a/layout/base/nsStyleSheetService.h
|
--- a/layout/style/nsStyleSheetService.h
|
||||||
+++ b/layout/base/nsStyleSheetService.h
|
+++ b/layout/style/nsStyleSheetService.h
|
||||||
@@ -50,6 +50,8 @@ class nsStyleSheetService final : public nsIStyleSheetService,
|
@@ -50,6 +50,8 @@ class nsStyleSheetService final : public nsIStyleSheetService,
|
||||||
|
|
||||||
size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
|
size_t SizeOfIncludingThis(mozilla::MallocSizeOf aMallocSizeOf) const;
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp
|
diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp
|
||||||
index 4b979fc1f9d0986f5382cab0c39bf99ed34ef39e..90f67c73c13fbfdcfff86125c6d7258850ca62b0 100644
|
index 3fc58a635189d2160be84c3c8083e63abce611f0..7aac552365a4414229879e2dd9586f7fbd98816d 100644
|
||||||
--- a/layout/style/nsStyleStruct.cpp
|
--- a/layout/style/nsStyleStruct.cpp
|
||||||
+++ b/layout/style/nsStyleStruct.cpp
|
+++ b/layout/style/nsStyleStruct.cpp
|
||||||
@@ -3237,6 +3237,9 @@ nsStyleUIReset::nsStyleUIReset()
|
@@ -3266,6 +3266,9 @@ nsStyleUIReset::nsStyleUIReset()
|
||||||
mWindowShadow(StyleWindowShadow::Auto),
|
mWindowShadow(StyleWindowShadow::Auto),
|
||||||
mWindowOpacity(1.0),
|
mWindowOpacity(1.0),
|
||||||
mMozWindowInputRegionMargin(StyleLength::Zero()),
|
mMozWindowInputRegionMargin(StyleLength::Zero()),
|
||||||
@@ -12,7 +12,7 @@ index 4b979fc1f9d0986f5382cab0c39bf99ed34ef39e..90f67c73c13fbfdcfff86125c6d72588
|
|||||||
mTransitions(
|
mTransitions(
|
||||||
nsStyleAutoArray<StyleTransition>::WITH_SINGLE_INITIAL_ELEMENT),
|
nsStyleAutoArray<StyleTransition>::WITH_SINGLE_INITIAL_ELEMENT),
|
||||||
mTransitionTimingFunctionCount(1),
|
mTransitionTimingFunctionCount(1),
|
||||||
@@ -3281,6 +3284,7 @@ nsStyleUIReset::nsStyleUIReset(const nsStyleUIReset& aSource)
|
@@ -3310,6 +3313,7 @@ nsStyleUIReset::nsStyleUIReset(const nsStyleUIReset& aSource)
|
||||||
mWindowOpacity(aSource.mWindowOpacity),
|
mWindowOpacity(aSource.mWindowOpacity),
|
||||||
mMozWindowInputRegionMargin(aSource.mMozWindowInputRegionMargin),
|
mMozWindowInputRegionMargin(aSource.mMozWindowInputRegionMargin),
|
||||||
mMozWindowTransform(aSource.mMozWindowTransform),
|
mMozWindowTransform(aSource.mMozWindowTransform),
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h
|
diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h
|
||||||
index 3236244280edaae2bbe4440e76da3455015ab722..3474d4bcfab2944aae9635250350b674a8ed1c42 100644
|
index 9db1b385ac12e0142921c49e6b6c2ba0fadccf95..919089fd9bc278b0c2fede4b2babe133acd4632e 100644
|
||||||
--- a/layout/style/nsStyleStruct.h
|
--- a/layout/style/nsStyleStruct.h
|
||||||
+++ b/layout/style/nsStyleStruct.h
|
+++ b/layout/style/nsStyleStruct.h
|
||||||
@@ -2033,6 +2033,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUIReset {
|
@@ -2075,6 +2075,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUIReset {
|
||||||
// The margin of the window region that should be transparent to events.
|
// The margin of the window region that should be transparent to events.
|
||||||
mozilla::StyleLength mMozWindowInputRegionMargin;
|
mozilla::StyleLength mMozWindowInputRegionMargin;
|
||||||
mozilla::StyleTransform mMozWindowTransform;
|
mozilla::StyleTransform mMozWindowTransform;
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/layout/style/test/ListCSSProperties.cpp b/layout/style/test/ListCSSProperties.cpp
|
diff --git a/layout/style/test/ListCSSProperties.cpp b/layout/style/test/ListCSSProperties.cpp
|
||||||
index df06ffac358c1b245c84432aa6f143f9c5806029..0bca4b9b40b3b030c54fc36c659966dd3a8894f7 100644
|
index 673c1677703ef2de3fafbe86f0ffab720738f4cb..267556f66de3180fc6ae91d5b54b8648f1b41cc4 100644
|
||||||
--- a/layout/style/test/ListCSSProperties.cpp
|
--- a/layout/style/test/ListCSSProperties.cpp
|
||||||
+++ b/layout/style/test/ListCSSProperties.cpp
|
+++ b/layout/style/test/ListCSSProperties.cpp
|
||||||
@@ -109,6 +109,7 @@ const char* gInaccessibleProperties[] = {
|
@@ -110,6 +110,7 @@ const char* gInaccessibleProperties[] = {
|
||||||
"-moz-window-opacity", // chrome-only internal properties
|
"-moz-window-opacity", // chrome-only internal properties
|
||||||
"-moz-window-transform", // chrome-only internal properties
|
"-moz-window-transform", // chrome-only internal properties
|
||||||
"-moz-window-shadow", // chrome-only internal properties
|
"-moz-window-shadow", // chrome-only internal properties
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
|
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
|
||||||
index 30a19900c13cd0720008980202077af1df705856..136e3a13b810215be7a102786dce54651b38829d 100644
|
index a6c49438aaf3464e70bf9c75c2849a6062bd096a..2ee33493ed541b36a29f29c104d1275b80e5a20a 100644
|
||||||
--- a/modules/libpref/init/StaticPrefList.yaml
|
--- a/modules/libpref/init/StaticPrefList.yaml
|
||||||
+++ b/modules/libpref/init/StaticPrefList.yaml
|
+++ b/modules/libpref/init/StaticPrefList.yaml
|
||||||
@@ -19119,6 +19119,7 @@
|
@@ -19222,6 +19215,7 @@
|
||||||
mirror: always
|
mirror: always
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs
|
diff --git a/servo/components/style/gecko/media_features.rs b/servo/components/style/gecko/media_features.rs
|
||||||
index c66f1e26b22a6eeb2192d531e365ba34a61e220d..097ffce888ee0e180cc06448ea34860e6a467a2a 100644
|
index 3d4630e2250476729d21cdcb1726a7af93f9fd75..489d1dc624bb1e7b3f7ed22a0073d3ada29846e4 100644
|
||||||
--- a/servo/components/style/gecko/media_features.rs
|
--- a/servo/components/style/gecko/media_features.rs
|
||||||
+++ b/servo/components/style/gecko/media_features.rs
|
+++ b/servo/components/style/gecko/media_features.rs
|
||||||
@@ -13,6 +13,9 @@ use crate::values::computed::{CSSPixelLength, Context, Ratio, Resolution};
|
@@ -13,6 +13,9 @@ use crate::values::computed::{CSSPixelLength, Context, Ratio, Resolution};
|
||||||
@@ -12,39 +12,32 @@ index c66f1e26b22a6eeb2192d531e365ba34a61e220d..097ffce888ee0e180cc06448ea34860e
|
|||||||
|
|
||||||
fn device_size(device: &Device) -> Size2D<Au> {
|
fn device_size(device: &Device) -> Size2D<Au> {
|
||||||
let mut width = 0;
|
let mut width = 0;
|
||||||
@@ -610,6 +613,13 @@ fn eval_moz_overlay_scrollbars(context: &Context) -> bool {
|
@@ -609,6 +612,13 @@ fn eval_scripting(context: &Context, query_value: Option<Scripting>) -> bool {
|
||||||
|
fn eval_moz_overlay_scrollbars(context: &Context) -> bool {
|
||||||
unsafe { bindings::Gecko_MediaFeatures_UseOverlayScrollbars(context.device().document()) }
|
unsafe { bindings::Gecko_MediaFeatures_UseOverlayScrollbars(context.device().document()) }
|
||||||
}
|
}
|
||||||
|
+
|
||||||
+fn eval_moz_bool_pref(_: &Context, pref: Option<&AtomString>) -> KleeneValue {
|
+fn eval_moz_bool_pref(_: &Context, pref: Option<&AtomString>) -> KleeneValue {
|
||||||
+ let Some(pref) = pref else {
|
+ let Some(pref) = pref else {
|
||||||
+ return KleeneValue::False;
|
+ return KleeneValue::False;
|
||||||
+ };
|
+ };
|
||||||
+ KleeneValue::from(unsafe { bindings::Gecko_EvalMozPrefFeature(pref.as_ptr(), &MozPrefFeatureValue::<i32>::None) })
|
+ KleeneValue::from(unsafe { bindings::Gecko_EvalMozPrefFeature(pref.as_ptr(), &MozPrefFeatureValue::<i32>::None) })
|
||||||
+}
|
+}
|
||||||
+
|
|
||||||
fn get_lnf_int(int_id: i32) -> i32 {
|
fn get_lnf_int(int_id: i32) -> i32 {
|
||||||
unsafe { bindings::Gecko_GetLookAndFeelInt(int_id) }
|
unsafe { bindings::Gecko_GetLookAndFeelInt(int_id) }
|
||||||
}
|
@@ -641,7 +651,13 @@ macro_rules! lnf_int_feature {
|
||||||
@@ -657,7 +667,7 @@ macro_rules! lnf_int_feature {
|
|
||||||
/// to support new types in these entries and (2) ensuring that either
|
/// to support new types in these entries and (2) ensuring that either
|
||||||
/// nsPresContext::MediaFeatureValuesChanged is called when the value that
|
/// nsPresContext::MediaFeatureValuesChanged is called when the value that
|
||||||
/// would be returned by the evaluator function could change.
|
/// would be returned by the evaluator function could change.
|
||||||
-pub static MEDIA_FEATURES: [QueryFeatureDescription; 62] = [
|
-pub static MEDIA_FEATURES: [QueryFeatureDescription; 58] = [
|
||||||
+pub static MEDIA_FEATURES: [QueryFeatureDescription; 63] = [
|
+pub static MEDIA_FEATURES: [QueryFeatureDescription; 59] = [
|
||||||
feature!(
|
|
||||||
atom!("width"),
|
|
||||||
AllowsRanges::Yes,
|
|
||||||
@@ -928,6 +938,12 @@ pub static MEDIA_FEATURES: [QueryFeatureDescription; 62] = [
|
|
||||||
Evaluator::BoolInteger(eval_moz_overlay_scrollbars),
|
|
||||||
FeatureFlags::CHROME_AND_UA_ONLY,
|
|
||||||
),
|
|
||||||
+ feature!(
|
+ feature!(
|
||||||
+ atom!("-moz-bool-pref"),
|
+ atom!("-moz-bool-pref"),
|
||||||
+ AllowsRanges::No,
|
+ AllowsRanges::No,
|
||||||
+ Evaluator::String(eval_moz_bool_pref),
|
+ Evaluator::String(eval_moz_bool_pref),
|
||||||
+ FeatureFlags::CHROME_AND_UA_ONLY,
|
+ FeatureFlags::CHROME_AND_UA_ONLY,
|
||||||
+ ),
|
+ ),
|
||||||
lnf_int_feature!(
|
feature!(
|
||||||
atom!("-moz-scrollbar-start-backward"),
|
atom!("width"),
|
||||||
ScrollArrowStyle,
|
AllowsRanges::Yes,
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/servo/components/style/properties/longhands/ui.mako.rs b/servo/components/style/properties/longhands/ui.mako.rs
|
diff --git a/servo/components/style/properties/longhands/ui.mako.rs b/servo/components/style/properties/longhands/ui.mako.rs
|
||||||
index b7d24fe7bb54b1c143876e3bc9da59c64324ffa5..c36f7edcf076e31209e847af0b59361033d3b4da 100644
|
index 24e1e1b7e8fe4d4b70aaa4f5f022500c3dcfcbae..1176bf5d12885b4d96abb2f72288f6c631072578 100644
|
||||||
--- a/servo/components/style/properties/longhands/ui.mako.rs
|
--- a/servo/components/style/properties/longhands/ui.mako.rs
|
||||||
+++ b/servo/components/style/properties/longhands/ui.mako.rs
|
+++ b/servo/components/style/properties/longhands/ui.mako.rs
|
||||||
@@ -286,6 +286,18 @@ ${helpers.predefined_type(
|
@@ -284,6 +284,18 @@ ${helpers.predefined_type(
|
||||||
affects="",
|
affects="",
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/testing/mochitest/browser-test.js b/testing/mochitest/browser-test.js
|
diff --git a/testing/mochitest/browser-test.js b/testing/mochitest/browser-test.js
|
||||||
index ef29179988bb37e7ea441aa051b692e3ccc90f21..6c9641ed27722b5febd83f6e121df24d46b00067 100644
|
index 11217c210dd8dc5f7c4bdc6043df9aeb361529c6..18c3c4d658170d0646483cd289fe8ad1f21ffae0 100644
|
||||||
--- a/testing/mochitest/browser-test.js
|
--- a/testing/mochitest/browser-test.js
|
||||||
+++ b/testing/mochitest/browser-test.js
|
+++ b/testing/mochitest/browser-test.js
|
||||||
@@ -444,11 +444,11 @@ Tester.prototype = {
|
@@ -440,11 +440,11 @@ Tester.prototype = {
|
||||||
this.currentTest &&
|
this.currentTest &&
|
||||||
window.gBrowser &&
|
window.gBrowser &&
|
||||||
AppConstants.MOZ_APP_NAME != "thunderbird" &&
|
AppConstants.MOZ_APP_NAME != "thunderbird" &&
|
||||||
@@ -16,7 +16,7 @@ index ef29179988bb37e7ea441aa051b692e3ccc90f21..6c9641ed27722b5febd83f6e121df24d
|
|||||||
let lastTab = gBrowser.tabs[gBrowser.tabs.length - 1];
|
let lastTab = gBrowser.tabs[gBrowser.tabs.length - 1];
|
||||||
if (!lastTab.closing) {
|
if (!lastTab.closing) {
|
||||||
// Report the stale tab as an error only when they're not closing.
|
// Report the stale tab as an error only when they're not closing.
|
||||||
@@ -483,12 +483,12 @@ Tester.prototype = {
|
@@ -479,12 +479,12 @@ Tester.prototype = {
|
||||||
|
|
||||||
// Replace the last tab with a fresh one
|
// Replace the last tab with a fresh one
|
||||||
if (window.gBrowser && AppConstants.MOZ_APP_NAME != "thunderbird") {
|
if (window.gBrowser && AppConstants.MOZ_APP_NAME != "thunderbird") {
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
diff --git a/testing/profiles/mochitest/user.js b/testing/profiles/mochitest/user.js
|
diff --git a/testing/profiles/mochitest/user.js b/testing/profiles/mochitest/user.js
|
||||||
index c43196b3c9cf8c90fa1cca5b6d205c410adec022..854aec05b568aa3dfe7d9b994c0ee7ee9a6b5fd8 100644
|
index a4068ac3f61161d014c49d54ae7a3bf886868f1b..7771d8c99aa20105b1382437881cdc02b17688c2 100644
|
||||||
--- a/testing/profiles/mochitest/user.js
|
--- a/testing/profiles/mochitest/user.js
|
||||||
+++ b/testing/profiles/mochitest/user.js
|
+++ b/testing/profiles/mochitest/user.js
|
||||||
@@ -44,3 +44,7 @@ user_pref("geo.prompt.open_system_prefs", false);
|
@@ -41,3 +41,7 @@ user_pref("places.history.floodingPrevention.enabled", false);
|
||||||
|
// permission, and we can open it and wait for the user to give permission, then
|
||||||
// Enable Nimbus debug logging.
|
// don't do that.
|
||||||
user_pref("messaging-system.log", "all");
|
user_pref("geo.prompt.open_system_prefs", false);
|
||||||
+
|
+
|
||||||
+user_pref("zen.welcome-screen.seen", true);
|
+user_pref("zen.welcome-screen.seen", true);
|
||||||
+user_pref("zen.watermark.enabled", false);
|
+user_pref("zen.watermark.enabled", false);
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/toolkit/components/extensions/parent/ext-downloads.js b/toolkit/components/extensions/parent/ext-downloads.js
|
diff --git a/toolkit/components/extensions/parent/ext-downloads.js b/toolkit/components/extensions/parent/ext-downloads.js
|
||||||
index ea6929d23d432958def5be46e42e329bc224d3aa..942cfddc090399ef239cc34ab47682cab6a33cd4 100644
|
index 3b81d5e60a5e3006b80a2acec0b6720ccb7e5b33..5b6272986e13b48047f3bae1ec4205fc3e8012ef 100644
|
||||||
--- a/toolkit/components/extensions/parent/ext-downloads.js
|
--- a/toolkit/components/extensions/parent/ext-downloads.js
|
||||||
+++ b/toolkit/components/extensions/parent/ext-downloads.js
|
+++ b/toolkit/components/extensions/parent/ext-downloads.js
|
||||||
@@ -87,6 +87,7 @@ const FILTER_IMAGES_EXTENSIONS = [
|
@@ -87,6 +87,7 @@ const FILTER_IMAGES_EXTENSIONS = [
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/toolkit/components/extensions/parent/ext-runtime.js b/toolkit/components/extensions/parent/ext-runtime.js
|
diff --git a/toolkit/components/extensions/parent/ext-runtime.js b/toolkit/components/extensions/parent/ext-runtime.js
|
||||||
index ff7aae6e5f1919d8d4ff1c7e85b6150332adc20f..5d935e3d0dfb91cd01268d4e2c4dee4696c33efe 100644
|
index 0d7a3e505b6bd30548c6dda1504dd343a517b083..71bab6f1562ef6ec43541e52573d2ed5c4e8e3af 100644
|
||||||
--- a/toolkit/components/extensions/parent/ext-runtime.js
|
--- a/toolkit/components/extensions/parent/ext-runtime.js
|
||||||
+++ b/toolkit/components/extensions/parent/ext-runtime.js
|
+++ b/toolkit/components/extensions/parent/ext-runtime.js
|
||||||
@@ -331,7 +331,7 @@ this.runtime = class extends ExtensionAPIPersistent {
|
@@ -333,7 +333,7 @@ this.runtime = class extends ExtensionAPIPersistent {
|
||||||
|
|
||||||
getBrowserInfo: function () {
|
getBrowserInfo: function () {
|
||||||
const { name, vendor, version, appBuildID } = Services.appinfo;
|
const { name, vendor, version, appBuildID } = Services.appinfo;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/toolkit/content/widgets/browser-custom-element.mjs b/toolkit/content/widgets/browser-custom-element.mjs
|
diff --git a/toolkit/content/widgets/browser-custom-element.mjs b/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
index 8eeea2a403ba2007a1a1e6074bb982b24f40fef5..29bae869dfd8c9df6039b3c9b8b1603092e517ea 100644
|
index ef01902583d6ff1c563e9b2886f3048b127fe383..01f353f5eb4c67b2cf01a14e337a81e93358586f 100644
|
||||||
--- a/toolkit/content/widgets/browser-custom-element.mjs
|
--- a/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
+++ b/toolkit/content/widgets/browser-custom-element.mjs
|
+++ b/toolkit/content/widgets/browser-custom-element.mjs
|
||||||
@@ -482,11 +482,11 @@ class MozBrowser extends MozElements.MozElementMixin(XULFrameElement) {
|
@@ -482,11 +482,11 @@ class MozBrowser extends MozElements.MozElementMixin(XULFrameElement) {
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user