1
0
Fork 1
mirror of https://github.com/zen-browser/desktop.git synced 2025-07-08 00:10:00 +02:00

chore: Recalcultae patches, b=(no-bug), c=tests, scripts, tabs, glance

This commit is contained in:
Mr. M 2025-05-22 13:57:30 +02:00
parent 4d48395c19
commit ad124c9d95
No known key found for this signature in database
GPG key ID: 6292C4C8F8652B18
55 changed files with 200 additions and 185 deletions

View file

@ -23,7 +23,8 @@
"lint": "npx prettier . --check && autopep8 --diff scripts/ src/",
"prepare": "husky",
"reset-ff": "surfer reset",
"surfer": "surfer"
"surfer": "surfer",
"test": "python3 scripts/run_tests.py"
},
"repository": {
"type": "git",

44
scripts/run_tests.py Normal file
View file

@ -0,0 +1,44 @@
import os
import sys
import subprocess
from pathlib import Path
def main():
project_root = Path(__file__).resolve().parent
package_json = project_root / 'package.json'
# Ensure script is run from project root
if not package_json.exists():
print("Please run this script from the root of the project", file=sys.stderr)
sys.exit(1)
args = sys.argv[1:]
if not args:
path = ""
else:
path = args[0]
# Collect any additional arguments
other_args = [arg for arg in args if arg != path]
engine_dir = project_root / 'engine'
os.chdir(engine_dir)
def run_mach_with_paths(test_paths):
command = ['./mach', 'mochitest'] + other_args + test_paths
subprocess.run(command, check=True)
if path in ("", "all"):
test_dirs = [p for p in Path("zen/tests").iterdir() if p.is_dir()]
test_paths = [str(p) for p in test_dirs]
run_mach_with_paths(test_paths)
else:
run_mach_with_paths([f"zen/tests/{path}"])
# Return to original directory
os.chdir(project_root)
if __name__ == "__main__":
main()

View file

@ -1,8 +1,8 @@
diff --git a/Cargo.lock b/Cargo.lock
index 38508fffccbce801a02d4a4211f368674307c4d3..5ce56c36da2e242ad81621c2032eb68dcd26e960 100644
index f7ebed9b2a71da90c5751cfd5d5f018cc8b73612..96e881c7782198f1e58be2578f167c7079a8191e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3931,8 +3931,6 @@ dependencies = [
@@ -4014,8 +4014,6 @@ dependencies = [
[[package]]
name = "mime_guess"
version = "2.0.4"

View file

@ -1,8 +1,8 @@
diff --git a/Cargo.toml b/Cargo.toml
index d3d529b487f80d4b4f3bfa13cdd3f62946352db8..b35a9e0e3339d48d1cd0cab7b22d030f330e40d1 100644
index 8c6b99bc629ec26e01ab3746f2ae46174bfaa0b1..5791c7470923c7c15986089b40357ce80365e942 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -217,6 +217,9 @@ rure = { path = "third_party/rust/rure" }
@@ -233,6 +233,9 @@ rure = { path = "third_party/rust/rure" }
# Patch `plist` to work with `indexmap` 2.*
plist = { path = "third_party/rust/plist" }

View file

@ -1,5 +1,5 @@
diff --git a/browser/actors/WebRTCParent.sys.mjs b/browser/actors/WebRTCParent.sys.mjs
index 40e3a057a1d4b2f9bcfb73fa5ff96b2555865434..a92bed06766dd930bd336d56cd9ddcf3c6c0eeca 100644
index 4ed2dd19207fc38b9e5cc22ea2947aba94b2f5ad..ffc88d62dc46683399c68cdfd35f1b1efde70902 100644
--- a/browser/actors/WebRTCParent.sys.mjs
+++ b/browser/actors/WebRTCParent.sys.mjs
@@ -152,6 +152,7 @@ export class WebRTCParent extends JSWindowActorParent {

View file

@ -1,8 +1,8 @@
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
index eda8312b0edd34ed22c94c224167680ac6c9c459..56de47f79c553dab2676e127f5320e352b7d3a77 100644
index beced8067e6c8b5c8cf8e3f6060ba259ec9a294d..33a264e7f9cf97944da3888bdb957fa6e7c4c346 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -3377,3 +3377,5 @@ pref("toolkit.contentRelevancy.enabled", false);
@@ -3398,3 +3398,5 @@ pref("toolkit.contentRelevancy.enabled", false);
pref("toolkit.contentRelevancy.ingestEnabled", false);
// Pref to enable extra logging for the content relevancy feature
pref("toolkit.contentRelevancy.log", false);

View file

@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index ea79d296e7dd0f8fd812b0677a252af5cf7ad26e..08568d90f888cc262a23ffaa72e985e7c3463b93 100644
index 6d664917a5a3bb1cea8a747e42e8bc0065ec999e..7fe04b426a8dd3c8dbb71065da047f8f48b8e84c 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -33,6 +33,7 @@ ChromeUtils.defineESModuleGetters(this, {
@ -10,7 +10,7 @@ index ea79d296e7dd0f8fd812b0677a252af5cf7ad26e..08568d90f888cc262a23ffaa72e985e7
DevToolsSocketStatus:
"resource://devtools/shared/security/DevToolsSocketStatus.sys.mjs",
DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs",
@@ -2338,6 +2339,11 @@ var XULBrowserWindow = {
@@ -2340,6 +2341,11 @@ var XULBrowserWindow = {
AboutReaderParent.updateReaderButton(gBrowser.selectedBrowser);
TranslationsParent.onLocationChange(gBrowser.selectedBrowser);
@ -22,7 +22,7 @@ index ea79d296e7dd0f8fd812b0677a252af5cf7ad26e..08568d90f888cc262a23ffaa72e985e7
PictureInPicture.updateUrlbarToggle(gBrowser.selectedBrowser);
if (!gMultiProcessBrowser) {
@@ -4814,7 +4820,7 @@ function switchToTabHavingURI(
@@ -4816,7 +4822,7 @@ function switchToTabHavingURI(
ignoreQueryString || replaceQueryString,
ignoreFragmentWhenComparing
);
@ -31,7 +31,7 @@ index ea79d296e7dd0f8fd812b0677a252af5cf7ad26e..08568d90f888cc262a23ffaa72e985e7
for (let i = 0; i < browsers.length; i++) {
let browser = browsers[i];
let browserCompare = cleanURL(
@@ -4857,7 +4863,7 @@ function switchToTabHavingURI(
@@ -4859,7 +4865,7 @@ function switchToTabHavingURI(
}
if (!doAdopt) {

View file

@ -1,5 +1,5 @@
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 51a25aaa5558e6e17246d54a7ed95d5ddf3ecdab..08809c25c01d159a9903f1921936b178d51f9875 100644
index 8f8c5536cb6e54300897180ca3f950974c60e930..79305485631f14712d8b2674f477b641ec53fcd6 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -26,6 +26,7 @@
@ -10,7 +10,7 @@ index 51a25aaa5558e6e17246d54a7ed95d5ddf3ecdab..08809c25c01d159a9903f1921936b178
persist="screenX screenY width height sizemode"
data-l10n-sync="true">
<head>
@@ -104,8 +105,11 @@
@@ -105,8 +106,11 @@
<title data-l10n-id="browser-main-window-default-title"></title>
@ -22,7 +22,7 @@ index 51a25aaa5558e6e17246d54a7ed95d5ddf3ecdab..08809c25c01d159a9903f1921936b178
</head>
<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
# All sets except for popupsets (commands, keys, and stringbundles)
@@ -127,9 +131,11 @@
@@ -128,9 +132,11 @@
</vbox>
</html:template>

View file

@ -1,8 +1,8 @@
diff --git a/browser/components/BrowserContentHandler.sys.mjs b/browser/components/BrowserContentHandler.sys.mjs
index 5911b276fdc9889d3cb61bac3d302ec5239e4a90..a405f8a0204e98fa9de08f1cd7b6761f0fc6198e 100644
index e72feb538c0dc182211945a66e51bcea73d3d4a0..b4d9115873b7af414043c53fb817b611b78ec58f 100644
--- a/browser/components/BrowserContentHandler.sys.mjs
+++ b/browser/components/BrowserContentHandler.sys.mjs
@@ -1270,6 +1270,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
@@ -1281,6 +1281,7 @@ function maybeRecordToHandleTelemetry(uri, isLaunch) {
".avif",
".htm",
".html",

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/BrowserGlue.sys.mjs b/browser/components/BrowserGlue.sys.mjs
index a6a7f9165aece774c3f1c15f7e352b11a4bf90f4..a4b6124b85f099c6f12d297fc26f2040370c337c 100644
index cebca6d017a0c3fc8eff7a38f987726324789e69..73a24df91bec368f2f27c538b37d57595e18c599 100644
--- a/browser/components/BrowserGlue.sys.mjs
+++ b/browser/components/BrowserGlue.sys.mjs
@@ -8,6 +8,7 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
@ -10,7 +10,7 @@ index a6a7f9165aece774c3f1c15f7e352b11a4bf90f4..a4b6124b85f099c6f12d297fc26f2040
AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
@@ -1886,6 +1887,7 @@ BrowserGlue.prototype = {
@@ -881,6 +882,7 @@ BrowserGlue.prototype = {
lazy.ProcessHangMonitor.init();

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/customizableui/CustomizableUI.sys.mjs b/browser/components/customizableui/CustomizableUI.sys.mjs
index 91088fab1759b9af908912648d28daa5938a29c9..d420e7a2b1d66ad2bd7699cc580e180ab45a793d 100644
index 5bb6be19f7f855b129aac921af1ed5cfc63d732b..41230a61f3088a234903dcc10abd361efac34729 100644
--- a/browser/components/customizableui/CustomizableUI.sys.mjs
+++ b/browser/components/customizableui/CustomizableUI.sys.mjs
@@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {

View file

@ -1,8 +1,8 @@
diff --git a/browser/components/customizableui/content/panelUI.js b/browser/components/customizableui/content/panelUI.js
index ec52437dba30633a374299a46c856e1df05dec0e..48617e32d56c3b3f525557ddeac6297555c48c04 100644
index 689205034d9df67ff1fe0ebbf4a3481a5f414391..2626b7286deb51f66b6ccbbc32d510139cacb109 100644
--- a/browser/components/customizableui/content/panelUI.js
+++ b/browser/components/customizableui/content/panelUI.js
@@ -515,8 +515,7 @@ const PanelUI = {
@@ -516,8 +516,7 @@ const PanelUI = {
tempPanel.setAttribute("animate", "false");
}
tempPanel.setAttribute("context", "");
@ -12,7 +12,7 @@ index ec52437dba30633a374299a46c856e1df05dec0e..48617e32d56c3b3f525557ddeac62975
.appendChild(tempPanel);
let multiView = document.createXULElement("panelmultiview");
@@ -957,7 +956,7 @@ const PanelUI = {
@@ -959,7 +958,7 @@ const PanelUI = {
el.removeAttribute("data-lazy-l10n-id");
});

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/places/PlacesUIUtils.sys.mjs b/browser/components/places/PlacesUIUtils.sys.mjs
index 1f5e163bae58f3f1cac750ca32846cc8a80bd2ca..028b899b7a5da7ba398965861ff044e596c27666 100644
index c7c5c28e1ea6d05094ed9fe751c6b50ab9645370..72f1038aa37b0951a1e78331ee317f714e5b6e8b 100644
--- a/browser/components/places/PlacesUIUtils.sys.mjs
+++ b/browser/components/places/PlacesUIUtils.sys.mjs
@@ -59,6 +59,7 @@ class BookmarkState {

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js
index aa339be9ba94ed776fa25f2d72f9e6b25dc86cd3..4c6c725942b3d6f2a42938d444ac7645526623cc 100644
index 2116a8a3b5746b79280f2d73b5e29b01c7a15993..448269adeab747fd2da419509e6923eefbb87d8a 100644
--- a/browser/components/preferences/main.js
+++ b/browser/components/preferences/main.js
@@ -389,7 +389,7 @@ function getBundleForLocales(newLocales) {

View file

@ -1,8 +1,8 @@
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index e4746e3408e68273126e6d2baf5afcf80721674b..e478aaf6bfefa6acd9062aeb3e4709ca0d5d779c 100644
index 6a575e3148de0c73f7ab7ff9afbd3ff179bce313..b7c2f2818358b7b6b6fc62b298dc67a66ebd9e3b 100644
--- a/browser/components/preferences/preferences.js
+++ b/browser/components/preferences/preferences.js
@@ -118,6 +118,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
@@ -117,6 +117,7 @@ ChromeUtils.defineLazyGetter(this, "gSubDialog", function () {
styleSheets: [
"chrome://browser/skin/preferences/dialog.css",
"chrome://browser/skin/preferences/preferences.css",
@ -10,7 +10,7 @@ index e4746e3408e68273126e6d2baf5afcf80721674b..e478aaf6bfefa6acd9062aeb3e4709ca
],
resizeCallback: async ({ title, frame }) => {
// Search within main document and highlight matched keyword.
@@ -197,6 +198,10 @@ function init_all() {
@@ -196,6 +197,10 @@ function init_all() {
register_module("paneSearch", gSearchPane);
register_module("panePrivacy", gPrivacyPane);
register_module("paneContainers", gContainersPane);

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 43be2b6ac84827bd13723e0211a3ade401934591..513584d7e720451efdb87350ac07d8b2590c1705 100644
index b3b128cb5eb8c005c642965a8c8e5e68bf756e77..6e128d45c983b267e349b08097c56380dd04be3d 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -44,6 +44,8 @@
@ -11,7 +11,7 @@ index 43be2b6ac84827bd13723e0211a3ade401934591..513584d7e720451efdb87350ac07d8b2
<link rel="localization" href="branding/brand.ftl"/>
<link rel="localization" href="browser/browser.ftl"/>
<!-- Used by fontbuilder.js -->
@@ -105,6 +107,11 @@
@@ -104,6 +106,11 @@
<hbox flex="1">
<vbox class="navigation">
@ -23,7 +23,7 @@ index 43be2b6ac84827bd13723e0211a3ade401934591..513584d7e720451efdb87350ac07d8b2
<!-- category list -->
<richlistbox id="categories" data-l10n-id="category-list" data-l10n-attrs="aria-label">
<richlistitem id="category-general"
@@ -117,6 +124,50 @@
@@ -116,6 +123,50 @@
<label class="category-name" flex="1" data-l10n-id="pane-general-title"></label>
</richlistitem>
@ -74,7 +74,7 @@ index 43be2b6ac84827bd13723e0211a3ade401934591..513584d7e720451efdb87350ac07d8b2
<richlistitem id="category-home"
class="category"
value="paneHome"
@@ -228,11 +279,6 @@
@@ -227,11 +278,6 @@
<html:a href="about:policies" target="_blank" data-l10n-id="managed-notice"/>
</hbox>
</hbox>
@ -86,7 +86,7 @@ index 43be2b6ac84827bd13723e0211a3ade401934591..513584d7e720451efdb87350ac07d8b2
</hbox>
</hbox>
<vbox id="mainPrefPane">
@@ -246,6 +292,10 @@
@@ -245,6 +291,10 @@
#include sync.inc.xhtml
#include experimental.inc.xhtml
#include moreFromMozilla.inc.xhtml

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a1744d79b26 100644
index 8c6047e1ada5a22e57e1e665965237c9e22641d7..3290d6913d777185aa2edc5e302b65ff454c4ac8 100644
--- a/browser/components/sessionstore/SessionStore.sys.mjs
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
@@ -2088,7 +2088,6 @@ var SessionStoreInternal = {
@ -22,7 +22,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
// 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
@@ -3209,7 +3206,7 @@ var SessionStoreInternal = {
@@ -3216,7 +3213,7 @@ var SessionStoreInternal = {
if (!isPrivateWindow && tabState.isPrivate) {
return;
}
@ -31,7 +31,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
return;
}
@@ -3918,6 +3915,9 @@ var SessionStoreInternal = {
@@ -3925,6 +3922,9 @@ var SessionStoreInternal = {
Math.min(tabState.index, tabState.entries.length)
);
tabState.pinned = false;
@ -41,7 +41,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
if (inBackground === false) {
aWindow.gBrowser.selectedTab = newTab;
@@ -5232,7 +5232,7 @@ var SessionStoreInternal = {
@@ -5239,7 +5239,7 @@ var SessionStoreInternal = {
}
let workspaceID = aWindow.getWorkspaceID();
@ -50,7 +50,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
winData.workspaceID = workspaceID;
}
},
@@ -5423,14 +5423,15 @@ var SessionStoreInternal = {
@@ -5430,14 +5430,15 @@ var SessionStoreInternal = {
}
let tabbrowser = aWindow.gBrowser;
@ -68,7 +68,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
continue;
}
let tabData = lazy.TabState.collect(tab, TAB_CUSTOM_VALUES.get(tab));
@@ -5449,7 +5450,7 @@ var SessionStoreInternal = {
@@ -5456,7 +5457,7 @@ var SessionStoreInternal = {
// We don't store the Firefox View tab in Session Store, so if it was the last selected "tab" when
// 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).
@ -77,7 +77,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
selectedIndex = 1;
winData.title = tabbrowser.tabs[0].label;
}
@@ -5606,6 +5607,7 @@ var SessionStoreInternal = {
@@ -5613,6 +5614,7 @@ var SessionStoreInternal = {
winData.tabs,
winData.groups ?? []
);
@ -85,7 +85,7 @@ index 11794372f8ff13387b54dabdf4111dfdb89ea998..0e51251a579cee759f25272894c82a17
this._log.debug(
`restoreWindow, createTabsForSessionRestore returned ${tabs.length} tabs`
);
@@ -6155,8 +6157,23 @@ var SessionStoreInternal = {
@@ -6162,8 +6164,23 @@ var SessionStoreInternal = {
// Most of tabData has been restored, now continue with restoring
// attributes that may trigger external events.

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tab.js b/browser/components/tabbrowser/content/tab.js
index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb25237d3fe7ff 100644
index f43ab1cf6257ff1a9c9aa522a0180fd9bbfe4036..d9714c46de860243b06af7e8343d36b107efb855 100644
--- a/browser/components/tabbrowser/content/tab.js
+++ b/browser/components/tabbrowser/content/tab.js
@@ -21,6 +21,7 @@
@ -21,7 +21,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
</hbox>
</stack>
`;
@@ -175,7 +178,7 @@
@@ -180,7 +183,7 @@
}
set _visuallySelected(val) {
@ -30,7 +30,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
return;
}
@@ -211,7 +214,7 @@
@@ -216,7 +219,7 @@
}
get visible() {
@ -39,7 +39,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
}
get hidden() {
@@ -282,7 +285,7 @@
@@ -287,7 +290,7 @@
return false;
}
@ -48,7 +48,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
}
get lastAccessed() {
@@ -454,6 +457,8 @@
@@ -459,6 +462,8 @@
this.style.MozUserFocus = "ignore";
} else if (
event.target.classList.contains("tab-close-button") ||
@ -57,7 +57,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
event.target.classList.contains("tab-icon-overlay") ||
event.target.classList.contains("tab-audio-button")
) {
@@ -508,6 +513,10 @@
@@ -513,6 +518,10 @@
this.style.MozUserFocus = "";
}
@ -68,7 +68,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
on_click(event) {
if (event.button != 0) {
return;
@@ -554,6 +563,7 @@
@@ -559,6 +568,7 @@
telemetrySource: lazy.TabMetrics.METRIC_SOURCE.TAB_STRIP,
});
} else {
@ -76,7 +76,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
gBrowser.removeTab(this, {
animate: true,
triggeringEvent: event,
@@ -564,6 +574,14 @@
@@ -569,6 +579,14 @@
// (see tabbrowser-tabs 'click' handler).
gBrowser.tabContainer._blockDblClick = true;
}
@ -91,7 +91,7 @@ index dc92771ebc65095dfebbddc238ee6d4fffd897bf..fa35f6835498f8e51f060479addb2523
}
on_dblclick(event) {
@@ -587,6 +605,8 @@
@@ -592,6 +610,8 @@
animate: true,
triggeringEvent: event,
});

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed3ca882e1 100644
index 84d633471c89230b981d8a07babef4e0c76c0338..13d1191438daa4e213c0ffd1fffca4bcdc076dfc 100644
--- a/browser/components/tabbrowser/content/tabs.js
+++ b/browser/components/tabbrowser/content/tabs.js
@@ -83,7 +83,7 @@
@ -11,7 +11,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
return true;
};
@@ -286,6 +286,7 @@
@@ -293,6 +293,7 @@
on_TabGroupCollapse(event) {
this._invalidateCachedVisibleTabs();
this._unlockTabSizing();
@ -19,7 +19,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
// If the user's selected tab is in the collapsing group, kick them off
// the tab. If no tabs exist outside the group, create a new one and
@@ -342,7 +343,7 @@
@@ -349,7 +350,7 @@
// and we're not hitting the scroll buttons.
if (
event.button != 0 ||
@ -28,7 +28,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
event.composedTarget.localName == "toolbarbutton"
) {
return;
@@ -692,7 +693,7 @@
@@ -699,7 +700,7 @@
if (this.#isContainerVerticalPinnedGrid(tab)) {
// In expanded vertical mode, the max number of pinned tabs per row is dynamic
// Set this before adjusting dragged tab's position
@ -37,7 +37,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let tabsPerRow = 0;
let position = 0;
for (let pinnedTab of pinnedTabs) {
@@ -764,7 +765,7 @@
@@ -772,7 +773,7 @@
} else if (isTabGroupLabel(tab) && !tab.group.collapsed) {
this._lockTabSizing();
this.#keepTabSizeLocked = true;
@ -46,7 +46,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
expandGroupOnDrop = true;
}
}
@@ -913,6 +914,10 @@
@@ -921,6 +922,10 @@
}
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
@ -57,7 +57,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
if (
(effects == "move" || effects == "copy") &&
document == draggedTab.ownerDocument &&
@@ -1069,6 +1074,18 @@
@@ -1077,6 +1082,18 @@
this._tabDropIndicator.hidden = true;
event.stopPropagation();
@ -76,7 +76,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
if (draggedTab && dropEffect == "copy") {
let duplicatedDraggedTab;
let duplicatedTabs = [];
@@ -1108,10 +1125,11 @@
@@ -1116,10 +1133,11 @@
}
} else {
let isPinned = draggedTab.pinned;
@ -92,7 +92,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
);
let size = this.verticalMode ? "height" : "width";
let screenAxis = this.verticalMode ? "screenY" : "screenX";
@@ -1203,7 +1221,7 @@
@@ -1211,7 +1229,7 @@
item.removeAttribute("tabdrop-samewindow");
resolve();
};
@ -101,7 +101,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -1327,6 +1345,7 @@
@@ -1337,6 +1355,7 @@
let nextItem = this.ariaFocusableItems[newIndex];
let tabGroup = isTab(nextItem) && nextItem.group;
@ -109,7 +109,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
gBrowser.loadTabs(urls, {
inBackground,
replace,
@@ -1359,6 +1378,17 @@
@@ -1369,6 +1388,17 @@
this.finishMoveTogetherSelectedTabs(draggedTab);
this.finishAnimateTabMove();
@ -127,7 +127,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
this.#expandGroupOnDrop(draggedTab);
if (
@@ -1582,7 +1612,7 @@
@@ -1597,7 +1627,7 @@
}
get newTabButton() {
@ -136,7 +136,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
get verticalMode() {
@@ -1606,29 +1636,55 @@
@@ -1621,29 +1651,55 @@
if (this.#allTabs) {
return this.#allTabs;
}
@ -200,7 +200,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
/**
@@ -1648,7 +1704,7 @@
@@ -1663,7 +1719,7 @@
*/
get visibleTabs() {
if (!this.#visibleTabs) {
@ -209,7 +209,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
return this.#visibleTabs;
}
@@ -1683,36 +1739,40 @@
@@ -1698,36 +1754,40 @@
}
let elementIndex = 0;
@ -263,7 +263,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
return this.#focusableItems;
}
@@ -1720,6 +1780,7 @@
@@ -1735,6 +1795,7 @@
_invalidateCachedTabs() {
this.#allTabs = null;
this._invalidateCachedVisibleTabs();
@ -271,7 +271,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
_invalidateCachedVisibleTabs() {
@@ -1734,8 +1795,8 @@
@@ -1749,8 +1810,8 @@
#isContainerVerticalPinnedGrid(tab) {
return (
this.verticalMode &&
@ -282,7 +282,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
!this.expandOnHover
);
}
@@ -1751,7 +1812,7 @@
@@ -1766,7 +1827,7 @@
if (node == null) {
// We have a container for non-tab elements at the end of the scrollbox.
@ -291,7 +291,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
node.before(tab);
@@ -1846,7 +1907,7 @@
@@ -1861,7 +1922,7 @@
// There are separate "new tab" buttons for horizontal tabs toolbar, vertical tabs and
// for when the tab strip is overflowed (which is shared by vertical and horizontal tabs);
// Attach the long click popup to all of them.
@ -300,7 +300,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
const newTab2 = this.newTabButton;
const newTabVertical = document.getElementById(
"vertical-tabs-newtab-button"
@@ -1941,10 +2002,12 @@
@@ -1956,10 +2017,12 @@
_handleTabSelect(aInstant) {
let selectedTab = this.selectedItem;
@ -313,7 +313,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
selectedTab._notselectedsinceload = false;
}
@@ -2085,16 +2148,15 @@
@@ -2100,16 +2163,15 @@
// Move pinned tabs to another container when the tabstrip is toggled to vertical
// and when session restore code calls _positionPinnedTabs; update styling whenever
// the number of pinned tabs changes.
@ -336,7 +336,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
}
@@ -2102,9 +2164,7 @@
@@ -2117,9 +2179,7 @@
}
_resetVerticalPinnedTabs() {
@ -347,7 +347,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
if (!verticalTabsContainer.children.length) {
return;
@@ -2117,7 +2177,7 @@
@@ -2132,7 +2192,7 @@
}
_positionPinnedTabs() {
@ -356,7 +356,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let numPinned = gBrowser.pinnedTabCount;
let absPositionHorizontalTabs =
this.overflowing && tabs.length > numPinned && numPinned > 0;
@@ -2127,7 +2187,7 @@
@@ -2142,7 +2202,7 @@
if (this.verticalMode) {
this._updateVerticalPinnedTabs();
@ -365,7 +365,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let layoutData = this._pinnedTabsLayoutCache;
let uiDensity = document.documentElement.getAttribute("uidensity");
if (!layoutData || layoutData.uiDensity != uiDensity) {
@@ -2191,7 +2251,7 @@
@@ -2206,7 +2266,7 @@
return;
}
@ -374,7 +374,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let directionX = screenX > dragData.animLastScreenX;
let directionY = screenY > dragData.animLastScreenY;
@@ -2199,7 +2259,7 @@
@@ -2214,7 +2274,7 @@
dragData.animLastScreenX = screenX;
let { width: tabWidth, height: tabHeight } =
@ -383,7 +383,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let shiftSizeX = tabWidth * movingTabs.length;
let shiftSizeY = tabHeight;
dragData.tabWidth = tabWidth;
@@ -2262,7 +2322,7 @@
@@ -2277,7 +2337,7 @@
// * We're doing a binary search in order to reduce the amount of
// tabs we need to check.
@ -392,7 +392,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let firstTabCenterX = firstMovingTabScreenX + translateX + tabWidth / 2;
let lastTabCenterX = lastMovingTabScreenX + translateX + tabWidth / 2;
let tabCenterX = directionX ? lastTabCenterX : firstTabCenterX;
@@ -2374,12 +2434,16 @@
@@ -2389,12 +2449,16 @@
this.#clearDragOverCreateGroupTimer();
@ -414,7 +414,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
if (this.#rtlMode) {
tabs.reverse();
@@ -2393,7 +2457,7 @@
@@ -2408,7 +2472,7 @@
let size = this.verticalMode ? "height" : "width";
let translateAxis = this.verticalMode ? "translateY" : "translateX";
let scrollDirection = this.verticalMode ? "scrollTop" : "scrollLeft";
@ -423,7 +423,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let translateX = event.screenX - dragData.screenX;
let translateY = event.screenY - dragData.screenY;
@@ -2407,12 +2471,21 @@
@@ -2422,12 +2486,21 @@
let lastTab = tabs.at(-1);
let lastMovingTab = movingTabs.at(-1);
let firstMovingTab = movingTabs[0];
@ -446,7 +446,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
translate +=
this.arrowScrollbox.scrollbox[scrollDirection] - dragData.scrollPos;
} else if (isPinned && this.verticalMode) {
@@ -2431,12 +2504,15 @@
@@ -2446,12 +2519,15 @@
// Shift the `.tab-group-label-container` to shift the label element.
item = item.parentElement;
}
@ -463,7 +463,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
/**
* When the `draggedTab` is just starting to move, the `draggedTab` is in
@@ -2568,6 +2644,9 @@
@@ -2583,6 +2659,9 @@
break;
}
let element = tabs[mid];
@ -473,7 +473,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
let elementForSize = isTabGroupLabel(element)
? element.parentElement
: element;
@@ -2588,7 +2667,11 @@
@@ -2603,7 +2682,11 @@
let dropElement = getOverlappedElement();
if (!dropElement) {
@ -486,7 +486,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
let newDropElementIndex = dropElement
? dropElement.elementIndex
@@ -2598,7 +2681,7 @@
@@ -2613,7 +2696,7 @@
let shouldCreateGroupOnDrop;
let dropBefore;
if (dropElement) {
@ -495,7 +495,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
? dropElement.parentElement
: dropElement;
@@ -2660,12 +2743,12 @@
@@ -2675,12 +2758,12 @@
}
}
@ -510,7 +510,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
dropElement != draggedTab &&
isTab(dropElement) &&
!dropElement?.group &&
@@ -2735,7 +2818,7 @@
@@ -2750,7 +2833,7 @@
// Shift background tabs to leave a gap where the dragged tab
// would currently be dropped.
for (let item of tabs) {
@ -519,7 +519,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
continue;
}
@@ -2744,6 +2827,9 @@
@@ -2759,6 +2842,9 @@
if (isTabGroupLabel(item)) {
// Shift the `.tab-group-label-container` to shift the label element.
item = item.parentElement;
@ -529,7 +529,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
}
item.style.transform = transform;
}
@@ -2796,8 +2882,9 @@
@@ -2811,8 +2897,9 @@
);
}
@ -541,7 +541,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
return;
}
@@ -2809,6 +2896,12 @@
@@ -2824,6 +2911,12 @@
item = item.parentElement;
}
item.style.transform = "";
@ -554,7 +554,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
item.removeAttribute("dragover-createGroup");
}
this.removeAttribute("movingtab-createGroup");
@@ -2855,7 +2948,7 @@
@@ -2870,7 +2963,7 @@
let postTransitionCleanup = () => {
movingTab._moveTogetherSelectedTabsData.animate = false;
};
@ -563,7 +563,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
postTransitionCleanup();
} else {
let onTransitionEnd = transitionendEvent => {
@@ -3028,7 +3121,7 @@
@@ -3043,7 +3136,7 @@
}
_notifyBackgroundTab(aTab) {
@ -572,7 +572,7 @@ index ef9c0389ec926e6bc01c0dc3b883beceaf1f7d43..b413b4bc9d86726b0f8936a3422636ed
return;
}
@@ -3154,6 +3247,9 @@
@@ -3169,6 +3262,9 @@
return null;
}
}

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/urlbar/UrlbarView.sys.mjs b/browser/components/urlbar/UrlbarView.sys.mjs
index d5382623595de8daed8cd13ea2eb2de329a4bd92..c3b5d1bad0bf4e1c5a5875a83751cfa96cdf1510 100644
index e17f3d34367d6567c89f632b6d1ce537608a6829..7528dfb0abc8ea8d9315591cd529a341b4c3962a 100644
--- a/browser/components/urlbar/UrlbarView.sys.mjs
+++ b/browser/components/urlbar/UrlbarView.sys.mjs
@@ -609,7 +609,7 @@ export class UrlbarView {

View file

@ -1,8 +1,8 @@
diff --git a/browser/extensions/newtab/lib/ActivityStream.sys.mjs b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
index 14183ad7165dc91126b4409b26f669409c4e9905..be979225b89b193b9e9c8903de5740dc04a8999f 100644
index a00011de585a40b91d33364a04c6bf5c86145ecd..f98b6d11519a80aff307513fd77361179f9914a4 100644
--- a/browser/extensions/newtab/lib/ActivityStream.sys.mjs
+++ b/browser/extensions/newtab/lib/ActivityStream.sys.mjs
@@ -215,7 +215,7 @@ export const PREFS_CONFIG = new Map([
@@ -228,7 +228,7 @@ export const PREFS_CONFIG = new Map([
"showSponsoredTopSites",
{
title: "Show sponsored top sites",

View file

@ -1,8 +1,8 @@
diff --git a/browser/locales/en-US/installer/custom.properties b/browser/locales/en-US/installer/custom.properties
index a9dc6fb90caa50a9ba9ec63a6cd90b4d8dcc2bc0..48d11c0c5a3b926d2d29c30d1ca8630941514210 100644
index 8c33192e589de1d819cbb21c31cec0480ed4c85e..9db296363303c153dc05ad9e85493f1197bb1efd 100644
--- a/browser/locales/en-US/installer/custom.properties
+++ b/browser/locales/en-US/installer/custom.properties
@@ -77,7 +77,7 @@ STATUS_INSTALL_LANG=Installing Language Files (${AB_CD})
@@ -73,7 +73,7 @@ STATUS_INSTALL_APP=Installing $BrandShortName
STATUS_UNINSTALL_MAIN=Uninstalling $BrandShortName
STATUS_CLEANUP=A Little Housekeeping

View file

@ -1,8 +1,8 @@
diff --git a/browser/modules/ExtensionsUI.sys.mjs b/browser/modules/ExtensionsUI.sys.mjs
index 3f74e47bf7602fa800d1cf3034ec67055cc792b6..e700b88d1aee80c946e234f89f695a31d71ff608 100644
index 9734d95742035dbe6f608ad3cdaaefc6ed5b83bc..9a7bbb272025e84968d3173faca259f558746c5e 100644
--- a/browser/modules/ExtensionsUI.sys.mjs
+++ b/browser/modules/ExtensionsUI.sys.mjs
@@ -436,7 +436,7 @@ export var ExtensionsUI = {
@@ -466,7 +466,7 @@ export var ExtensionsUI = {
eventCallback,
removeOnDismissal: true,
popupOptions: {

View file

@ -1,5 +1,5 @@
diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css
index 5c9891e5ed4b865ed4ecc98d794a239b0f96a8f9..53e69289620dd7e89dad167fb3a59b162545dd89 100644
index 195cf888a61893cc9b0015e07e27bce94ec9d409..5f4cb6a1922730e8a0f1e9ad04169fb092917938 100644
--- a/browser/themes/linux/browser.css
+++ b/browser/themes/linux/browser.css
@@ -42,7 +42,8 @@

View file

@ -1,5 +1,5 @@
diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css
index 7fc76bc82bd5d6311442b85a76d885dcfb6d753d..61b1b3ac8241c4f12e4ca8966a7ac1fae0eb41ee 100644
index 9f795cd5b67b12ed4e6d0838d6e0b8e1048f6e50..e9d9326f174a25140113de40f4c57e8bc67677ff 100644
--- a/browser/themes/osx/browser.css
+++ b/browser/themes/osx/browser.css
@@ -38,7 +38,7 @@

View file

@ -1,8 +1,8 @@
diff --git a/browser/themes/shared/toolbarbuttons.css b/browser/themes/shared/toolbarbuttons.css
index 26b58ee104a432a359ba2667d2e49a9231e81fef..7cb950e7b3fcb6f599e9cb645ea24a515e2cc491 100644
index d84326072652a48d7fc9b61c585fb00ac4b506ab..c91654eb852460721cf7e45623fb471027f06d90 100644
--- a/browser/themes/shared/toolbarbuttons.css
+++ b/browser/themes/shared/toolbarbuttons.css
@@ -218,7 +218,7 @@ toolbar[brighttext] .toolbaritem-combined-buttons > separator {
@@ -249,7 +249,7 @@ toolbar[brighttext] .toolbaritem-combined-buttons > separator {
#nav-bar-overflow-button {
list-style-image: url("chrome://global/skin/icons/chevron.svg");
@ -11,7 +11,7 @@ index 26b58ee104a432a359ba2667d2e49a9231e81fef..7cb950e7b3fcb6f599e9cb645ea24a51
display: none;
}
@@ -428,7 +428,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
@@ -459,7 +459,7 @@ toolbarbutton.bookmark-item:not(.subviewbutton) {
*/
align-items: stretch;
> .toolbarbutton-icon {

View file

@ -1,8 +1,8 @@
diff --git a/build/moz.build b/build/moz.build
index ad78395c33bba4f6a7bd73bae2a3b6e0658ed59e..a3ba1001a60b764c9ef1c824917fe4d5b81ed0b2 100644
index f7a912ec35dd089ea9a7e712765e954854f55cb3..a84534efbc7662f81573a4a80bc045e0a6d2ed3e 100644
--- a/build/moz.build
+++ b/build/moz.build
@@ -90,7 +90,7 @@ if CONFIG["MOZ_APP_BASENAME"]:
@@ -89,7 +89,7 @@ if CONFIG["MOZ_APP_BASENAME"]:
if CONFIG[var]:
appini_defines[var] = True

View file

@ -1,5 +1,5 @@
diff --git a/build/pgo/profileserver.py b/build/pgo/profileserver.py
index c59efbdc5382da897dcac31da7039cdc92e1d7dc..9b14add5b0c5afec5b7efc7f9df7d04d3169fc80 100755
index 6017810c873f6be5a5d133dc9386f7cd8879e81b..6d399e0c8135d2c27157c81d75515de04c39f1d7 100755
--- a/build/pgo/profileserver.py
+++ b/build/pgo/profileserver.py
@@ -18,7 +18,13 @@ from mozprofile import FirefoxProfile, Preferences

View file

@ -1,5 +1,5 @@
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
index e95ff966b34576439c745aa206ff534a835c956f..5691cb2baa76b7cd543bb030b7c8d3028359bc4c 100644
index 77491402cb2921ad52c028ee8fe940636cbe3cf1..e93265e1bb96a07a6d9a66074f191cb8c16fa37a 100644
--- a/docshell/base/nsAboutRedirector.cpp
+++ b/docshell/base/nsAboutRedirector.cpp
@@ -108,7 +108,7 @@ static const RedirEntry kRedirMap[] = {

View file

@ -1,8 +1,8 @@
diff --git a/dom/base/use_counter_metrics.yaml b/dom/base/use_counter_metrics.yaml
index 58755773c26952b79df258dd8f55147c77db9c5f..041bd3fe99303621733cd3543e196b6a03950526 100644
index 6d2b80297f728af4e6b363e09dac4244d9ffd312..03ca7d1c7f27430923f146a3d3a708a09e351948 100644
--- a/dom/base/use_counter_metrics.yaml
+++ b/dom/base/use_counter_metrics.yaml
@@ -21402,6 +21402,22 @@ use.counter.css.page:
@@ -21527,6 +21527,22 @@ use.counter.css.page:
send_in_pings:
- use-counters
@ -25,7 +25,7 @@ index 58755773c26952b79df258dd8f55147c77db9c5f..041bd3fe99303621733cd3543e196b6a
css_transform_origin:
type: counter
description: >
@@ -33372,6 +33388,22 @@ use.counter.css.doc:
@@ -33497,6 +33513,22 @@ use.counter.css.doc:
send_in_pings:
- use-counters

View file

@ -1,8 +1,8 @@
diff --git a/dom/script/ScriptLoader.cpp b/dom/script/ScriptLoader.cpp
index b3bec3821582d48c79cd88a4efe5c7bae1fd42e6..0bb81a8b0fa9478c894f80cfa81fd04c67fdd79f 100644
index 51f63f998e47aa4b1dffc3cacdb0a698b33b4623..0387738ce1f29b5db4a5d03a3b2f5f3a91011125 100644
--- a/dom/script/ScriptLoader.cpp
+++ b/dom/script/ScriptLoader.cpp
@@ -2670,6 +2670,36 @@ void ScriptLoader::CalculateBytecodeCacheFlag(ScriptLoadRequest* aRequest) {
@@ -2679,6 +2679,36 @@ void ScriptLoader::CalculateBytecodeCacheFlag(ScriptLoadRequest* aRequest) {
hasFetchCountMin = false;
break;
}

View file

@ -1,8 +1,8 @@
diff --git a/gfx/wr/webrender/src/picture.rs b/gfx/wr/webrender/src/picture.rs
index 7a811bc074959e0f0e7e25603acc4bf50edce4dc..4954cd9b2b3c9efdbe32343152c877186751ec26 100644
index 3b0671ec8ffb8cbd0843e18569a948203c2b9cfe..77d4953cc9bf07d38efd26f4fe95e465b244598c 100644
--- a/gfx/wr/webrender/src/picture.rs
+++ b/gfx/wr/webrender/src/picture.rs
@@ -7957,7 +7957,12 @@ fn get_relative_scale_offset(
@@ -8027,7 +8027,12 @@ fn get_relative_scale_offset(
CoordinateSpaceMapping::Local => ScaleOffset::identity(),
CoordinateSpaceMapping::ScaleOffset(scale_offset) => scale_offset,
CoordinateSpaceMapping::Transform(m) => {

View file

@ -1,8 +1,8 @@
diff --git a/image/decoders/nsJXLDecoder.h b/image/decoders/nsJXLDecoder.h
index 6cde7456ca03f79e74401c1d215b9d50453ebf41..2f593ca3b70100c600b86e753d7a458c83b4f15c 100644
index 0b723878aefdc5a37c2cffb72a561f859ad79cdf..6d39326dbefa9a85cc02b426de5c9f9149fe612d 100644
--- a/image/decoders/nsJXLDecoder.h
+++ b/image/decoders/nsJXLDecoder.h
@@ -48,6 +48,18 @@ class nsJXLDecoder final : public Decoder {
@@ -46,6 +46,18 @@ class nsJXLDecoder final : public Decoder {
Vector<uint8_t> mBuffer;
Vector<uint8_t> mOutBuffer;
JxlBasicInfo mInfo{};

View file

@ -1,8 +1,8 @@
diff --git a/layout/generic/nsIFrame.cpp b/layout/generic/nsIFrame.cpp
index 0fff882bd3b643e3ab59cfaada984bef0ae7fee4..71e981251fa9395cbb14927d9bd3473c1e18a2cb 100644
index fe05efa67f97e0d8cc327a4744a225ed5c6132c9..cce0dfb537fa1735b8e7ff67684d373a3081a527 100644
--- a/layout/generic/nsIFrame.cpp
+++ b/layout/generic/nsIFrame.cpp
@@ -11721,6 +11721,11 @@ gfx::Matrix nsIFrame::ComputeWidgetTransform() const {
@@ -11810,6 +11810,11 @@ gfx::Matrix nsIFrame::ComputeWidgetTransform() const {
gfx::Matrix4x4 matrix = nsStyleTransformMatrix::ReadTransforms(
uiReset->mMozWindowTransform, refBox, float(appUnitsPerDevPixel));

View file

@ -1,8 +1,8 @@
diff --git a/layout/style/nsStyleStruct.cpp b/layout/style/nsStyleStruct.cpp
index f89bade8099183baa55b38ccc3c77c7ba9f1a290..8ada58a7965e7f2c9375d8b9bf64a5c78d80bf3f 100644
index 8f587542ad248f7c0183e1787c81f37170c7ba54..3b213204e0faabb7ad8988872c8b39c776b87d73 100644
--- a/layout/style/nsStyleStruct.cpp
+++ b/layout/style/nsStyleStruct.cpp
@@ -3204,6 +3204,9 @@ nsStyleUIReset::nsStyleUIReset()
@@ -3229,6 +3229,9 @@ nsStyleUIReset::nsStyleUIReset()
mWindowShadow(StyleWindowShadow::Auto),
mWindowOpacity(1.0),
mMozWindowInputRegionMargin(StyleLength::Zero()),
@ -12,7 +12,7 @@ index f89bade8099183baa55b38ccc3c77c7ba9f1a290..8ada58a7965e7f2c9375d8b9bf64a5c7
mTransitions(
nsStyleAutoArray<StyleTransition>::WITH_SINGLE_INITIAL_ELEMENT),
mTransitionTimingFunctionCount(1),
@@ -3247,6 +3250,7 @@ nsStyleUIReset::nsStyleUIReset(const nsStyleUIReset& aSource)
@@ -3272,6 +3275,7 @@ nsStyleUIReset::nsStyleUIReset(const nsStyleUIReset& aSource)
mWindowOpacity(aSource.mWindowOpacity),
mMozWindowInputRegionMargin(aSource.mMozWindowInputRegionMargin),
mMozWindowTransform(aSource.mMozWindowTransform),

View file

@ -1,8 +1,8 @@
diff --git a/layout/style/nsStyleStruct.h b/layout/style/nsStyleStruct.h
index 472c15a359ecd7ad0834d479f1acc53b4527f5ac..9f8377ab507b5883b92621160987a97e0be80014 100644
index 1c6e2b5a3d4a0ca2b5ef50a84c220958885ce3e3..d74f5558ab70c53fc2649f0f3ab40a456c3e1c6a 100644
--- a/layout/style/nsStyleStruct.h
+++ b/layout/style/nsStyleStruct.h
@@ -1876,6 +1876,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUIReset {
@@ -2003,6 +2003,7 @@ struct MOZ_NEEDS_MEMMOVABLE_MEMBERS nsStyleUIReset {
// The margin of the window region that should be transparent to events.
mozilla::StyleLength mMozWindowInputRegionMargin;
mozilla::StyleTransform mMozWindowTransform;

View file

@ -1,8 +1,8 @@
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index c4e19fc5231c2378ddb25f462cd1584aa9eac760..eb0cec062abf0c97bf5ca33e85aeacd496c296a8 100644
index c3b88faf0b3294a143139487d3dac1127b84bd4f..7fdb31b61ced2e1f9131396ed88f1216ce7c5b1f 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -18804,6 +18804,7 @@
@@ -18839,6 +18839,7 @@
mirror: always
#endif

View file

@ -1,8 +1,8 @@
diff --git a/netwerk/protocol/http/moz.build b/netwerk/protocol/http/moz.build
index a83080d963322d7baa581f1ca61f93d42bb5a938..0741be2ffc5449be829af7f6067d1abcdc86d155 100644
index 4e60ca2b579aa3e02c7769fd966e36d297dd0068..24dbb5de95d4f7dbec354c30f9b2c4d64384225e 100644
--- a/netwerk/protocol/http/moz.build
+++ b/netwerk/protocol/http/moz.build
@@ -223,7 +223,7 @@ LOCAL_INCLUDES += [
@@ -222,7 +222,7 @@ LOCAL_INCLUDES += [
"/netwerk/url-classifier",
]

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/actors/PictureInPictureChild.sys.mjs b/toolkit/actors/PictureInPictureChild.sys.mjs
index 7ae1aa58bbaeab7a1835a3ea8328735d4f4ecfb1..9d0679dde3c031c2459c09ffbc157f32bc7d003a 100644
index e4dea54a29e2a1575d76091061781a504da38465..d5248eebdd018feca7bb9d5ee3284d6f253a4b35 100644
--- a/toolkit/actors/PictureInPictureChild.sys.mjs
+++ b/toolkit/actors/PictureInPictureChild.sys.mjs
@@ -291,6 +291,7 @@ export class PictureInPictureLauncherChild extends JSWindowActorChild {

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/content/aboutSupport.xhtml b/toolkit/content/aboutSupport.xhtml
index 296259cd0360a403e8659e22d0c08e968529a38a..bde1ee8d0a05e6ce2eb3ff8ff8a19ba28c20af98 100644
index 7f57218f3573488445ea363e0c4532b292d53167..511f578b4ae38a496ca936adf2fef1f587249f47 100644
--- a/toolkit/content/aboutSupport.xhtml
+++ b/toolkit/content/aboutSupport.xhtml
@@ -10,6 +10,7 @@

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/content/widgets/arrowscrollbox.js b/toolkit/content/widgets/arrowscrollbox.js
index f9191af09f1b7a1654aff62807e7dad573afc172..f49ad7cb08f5d2be4a03046c191361f8c8a004bc 100644
index e2000d0f0c33e0e497e79dd206e195235bc5094e..ac69cb75d2be93a1f72fb61bea200d3dcbcdd77f 100644
--- a/toolkit/content/widgets/arrowscrollbox.js
+++ b/toolkit/content/widgets/arrowscrollbox.js
@@ -98,6 +98,7 @@
@ -10,7 +10,7 @@ index f9191af09f1b7a1654aff62807e7dad573afc172..f49ad7cb08f5d2be4a03046c191361f8
let contentSize =
slot.getBoundingClientRect()[this.#verticalMode ? "height" : "width"];
// NOTE(emilio): This should be contentSize > scrollClientSize, but due
@@ -639,7 +640,7 @@
@@ -642,7 +643,7 @@
on_wheel(event) {
// Don't consume the event if we can't scroll.

View file

@ -1,8 +1,8 @@
diff --git a/toolkit/content/widgets/infobar.css b/toolkit/content/widgets/infobar.css
index 7818f1ef1dcc62e184bd5e3e8d6d936acf77d2ea..4803c07a183e2df70e8fdc9769bb4bb15a73f39b 100644
index 9b28d3179db134bb14b4c4d840d5f3aac1dc7b3f..5cdd1a379e5a5156d0adeac78b0af300440d84b5 100644
--- a/toolkit/content/widgets/infobar.css
+++ b/toolkit/content/widgets/infobar.css
@@ -94,3 +94,18 @@ strong {
@@ -96,3 +96,18 @@ strong {
:host([type=system]) .content {
margin-inline-start: 0;
}

View file

@ -1,8 +1,8 @@
diff --git a/toolkit/content/xul.css b/toolkit/content/xul.css
index 134acec351c818eb824e2c98fa380d99ebaf8fac..3774893d98617634150f1f85568e212d98f9404c 100644
index f730088432526521037a8933a6ee00af8c378f11..ef2bb2ecd364327a348602ff070814f653843081 100644
--- a/toolkit/content/xul.css
+++ b/toolkit/content/xul.css
@@ -468,7 +468,8 @@ deck > *|*:not(:-moz-native-anonymous) {
@@ -446,7 +446,8 @@ deck > *|*:not(:-moz-native-anonymous) {
}
tabpanels > .deck-selected,

View file

@ -1,8 +1,8 @@
diff --git a/toolkit/modules/AppConstants.sys.mjs b/toolkit/modules/AppConstants.sys.mjs
index bf7a0ec9570a8657d192fd28c9b4852aa8869225..59f5466582757320ab1f70ec26d76fc589e0a335 100644
index a794e82288d30c979f2d2798bded49fb4dd3118b..cd1875dc048607447e25d30341052a6930d1c08f 100644
--- a/toolkit/modules/AppConstants.sys.mjs
+++ b/toolkit/modules/AppConstants.sys.mjs
@@ -174,6 +174,8 @@ export var AppConstants = Object.freeze({
@@ -172,6 +172,8 @@ export var AppConstants = Object.freeze({
MOZ_UPDATE_CHANNEL: "@MOZ_UPDATE_CHANNEL@",
MOZ_WIDGET_TOOLKIT: "@MOZ_WIDGET_TOOLKIT@",

View file

@ -1,8 +1,8 @@
diff --git a/toolkit/modules/moz.build b/toolkit/modules/moz.build
index b7dd298c4ffa1b95531e3646d57a52e524fcf801..da23bcd2a8b4b49ce07f4602f5e624bf4bfbfc8d 100644
index e6a9634bc5ae26a5bc82402a8a0f37e1fedc27ca..e27cab2a984b2d09033bc956df90519e01f683d7 100644
--- a/toolkit/modules/moz.build
+++ b/toolkit/modules/moz.build
@@ -282,6 +282,7 @@ for var in (
@@ -277,6 +277,7 @@ for var in (
"DLL_SUFFIX",
"DEBUG_JS_MODULES",
"OMNIJAR_NAME",

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/moz.configure b/toolkit/moz.configure
index 09b3065c214ecceacb6f264cdacbb777252f33ea..97ee12093d6330ae9da4aa1bea2ecd5b76843110 100644
index f9b96c0a62ae1e222eebeb6f8ca4fbf4c65703b4..6a439a22ee71a03709411fb8480278104d3996d1 100644
--- a/toolkit/moz.configure
+++ b/toolkit/moz.configure
@@ -22,6 +22,7 @@ def check_moz_app_id(moz_app_id, build_project):
@ -33,7 +33,7 @@ index 09b3065c214ecceacb6f264cdacbb777252f33ea..97ee12093d6330ae9da4aa1bea2ecd5b
help="Set distribution-specific id",
)
set_config("MOZ_DISTRIBUTION_ID", depends("--with-distribution-id")(lambda v: v[0]))
@@ -881,9 +886,9 @@ set_config("MOZ_SYSTEM_AV1", True, when="--with-system-av1")
@@ -932,9 +937,9 @@ set_config("MOZ_SYSTEM_AV1", True, when="--with-system-av1")
option("--disable-jxl", help="Disable jxl image support")
@ -46,7 +46,7 @@ index 09b3065c214ecceacb6f264cdacbb777252f33ea..97ee12093d6330ae9da4aa1bea2ecd5b
return True
@@ -2019,7 +2024,7 @@ set_define("A11Y_LOG", True, when=a11y_log)
@@ -2060,7 +2065,7 @@ set_define("A11Y_LOG", True, when=a11y_log)
# ==============================================================
@depends(milestone)
def require_signing(milestone):

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/mozapps/extensions/AddonManager.sys.mjs b/toolkit/mozapps/extensions/AddonManager.sys.mjs
index 883e8389eec97815adfdb8c62fc15482f6d7f0e7..234c956ba799666a3cba6fd6dcdad774ffc6b79e 100644
index e09ea87de86b06d1b505e59d4f0c4a090533ca71..9e8291ee5a83a686f3a129c3c6872bb7c84fdcd9 100644
--- a/toolkit/mozapps/extensions/AddonManager.sys.mjs
+++ b/toolkit/mozapps/extensions/AddonManager.sys.mjs
@@ -1221,12 +1221,12 @@ var AddonManagerInternal = {

View file

@ -1,8 +1,8 @@
diff --git a/toolkit/mozapps/extensions/content/aboutaddons.html b/toolkit/mozapps/extensions/content/aboutaddons.html
index 67808c799aca92a0c71731ab0c345bb478522368..5ddcbcecd43b2b04eb4c0e5b86eebd69b142a5a3 100644
index 77702576f03cc8db7ec85bd871e6366fef935d54..edd5f27303802091c84572a7a2d3933c03cf09d9 100644
--- a/toolkit/mozapps/extensions/content/aboutaddons.html
+++ b/toolkit/mozapps/extensions/content/aboutaddons.html
@@ -82,6 +82,7 @@
@@ -86,6 +86,7 @@
type="module"
src="chrome://global/content/elements/moz-five-star.mjs"
></script>

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/profile/nsToolkitProfileService.cpp b/toolkit/profile/nsToolkitProfileService.cpp
index e6722fb8f379c3032301fc3c1c49d894a566c28a..f6c560bb3f2ffdba4eaed876f7679245235fde8c 100644
index 4ebdcd3bd8739955972eab938f1f394e928503d2..f731ff5667bc5f615bb6a780c1cb6a6fb1cb6b48 100644
--- a/toolkit/profile/nsToolkitProfileService.cpp
+++ b/toolkit/profile/nsToolkitProfileService.cpp
@@ -82,6 +82,8 @@ using namespace mozilla;
@ -11,7 +11,7 @@ index e6722fb8f379c3032301fc3c1c49d894a566c28a..f6c560bb3f2ffdba4eaed876f7679245
struct KeyValue {
KeyValue(const char* aKey, const char* aValue) : key(aKey), value(aValue) {}
@@ -1404,7 +1406,7 @@ nsresult nsToolkitProfileService::CreateDefaultProfile(
@@ -1391,7 +1393,7 @@ nsresult nsToolkitProfileService::CreateDefaultProfile(
if (mUseDevEditionProfile) {
name.AssignLiteral(DEV_EDITION_NAME);
} else if (mUseDedicatedProfile) {

View file

@ -1,5 +1,5 @@
diff --git a/toolkit/themes/shared/popup.css b/toolkit/themes/shared/popup.css
index 5701d305fdfc0407ead51aa52eefee38e7429de8..642325e981e9597eaaefefa725852a49b49ee6dc 100644
index efc623e403b9517ffe4ec557e7c777274c350a7a..14400c90334be37e53dfbb5e07efa983ef8fef40 100644
--- a/toolkit/themes/shared/popup.css
+++ b/toolkit/themes/shared/popup.css
@@ -22,8 +22,8 @@ panel {

View file

@ -1,5 +1,5 @@
diff --git a/tools/signing/macos/mach_commands.py b/tools/signing/macos/mach_commands.py
index a513ad723805459c194d27b42dac68e9babba468..3a08bb0987f9d6cf01c05f8ebb56efa91a5b9d0e 100644
index 454a9bbc35802fbf811065e8e1ca592674016bb3..d6b0cf119664e0534a3898f72ffbcd3aade9c89d 100644
--- a/tools/signing/macos/mach_commands.py
+++ b/tools/signing/macos/mach_commands.py
@@ -37,7 +37,6 @@ from mozbuild.base import MachCommandConditions as conditions

View file

@ -1,5 +1,5 @@
diff --git a/xpfe/appshell/AppWindow.cpp b/xpfe/appshell/AppWindow.cpp
index a5e57d3086c57c4307b2c93b2814064d752d08ed..d0a83dd574ed03028ad3e79f8f0fba868bb5bec1 100644
index 22dbf9028167d5555a91c7087040a1909a27e2a2..356b9722a1a4815f5fdde0ff13bf8f89d7f26f87 100644
--- a/xpfe/appshell/AppWindow.cpp
+++ b/xpfe/appshell/AppWindow.cpp
@@ -1866,7 +1866,7 @@ nsresult AppWindow::MaybeSaveEarlyWindowPersistentValues(

View file

@ -639,6 +639,10 @@
async getFaviconAsBase64(pageUrl) {
try {
const faviconData = await PlacesUtils.favicons.getFaviconForPage(pageUrl);
if (!faviconData) {
// empty favicon
return 'data:image/png;base64,';
}
return faviconData.dataURI;
} catch (ex) {
console.error('Failed to get favicon:', ex);

View file

@ -20,11 +20,6 @@ add_task(async function test_Glance_Basic_Open() {
selectedTab._tPos,
'The glance tab should be on the right of the selected tab'
);
Assert.equal(
glanceTab._tPos,
gBrowser.tabs.length - 1,
'The glance tab should be the last tab'
);
BrowserTestUtils.removeTab(glanceTab);
}, false);
});

View file

@ -1,29 +0,0 @@
#!/bin/bash
set -e
# make sure we are on root
if [ ! -f "package.json" ]; then
echo "Please run this script from the root of the project"
exit 1
fi
path="$1"
other_args=""
for arg in "$@"; do
if [ "$arg" != "$path" ]; then
other_args="$other_args $arg"
fi
done
cd ./engine
if [ "$path" = "all" ] || [ "$path" = "" ]; then
all_tests=$(find zen/tests -type d)
all_paths=""
for test in $all_tests; do
all_paths="$all_paths zen/tests/$(basename $test)"
done
./mach mochitest $other_args $all_paths
else
./mach mochitest $other_args zen/tests/$path
fi
cd ..