tbb-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18730 discussions

[Git][tpo/applications/tor-browser-build][main] Bug 41488: Disable sys/random.h for Node.js.
by boklm (@boklm) 13 Jun '25
by boklm (@boklm) 13 Jun '25
13 Jun '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
a1e364d3 by Pier Angelo Vendrame at 2025-06-12T18:18:59+02:00
Bug 41488: Disable sys/random.h for Node.js.
It is not available in the glibc version we use in our Linux
containers.
- - - - -
1 changed file:
- projects/node/build
Changes:
=====================================
projects/node/build
=====================================
@@ -11,6 +11,11 @@ distdir=/var/tmp/dist/[% project %]
tar -xf [% c('input_files_by_name/node') %]
cd node-v[% c('version') %]
+[% IF c("var/linux") -%]
+ # Same workaround as Mozilla. See taskcluster/scripts/misc/build-nodejs.sh.
+ sed -i '/HAVE_SYS_RANDOM_H/d;/HAVE_GETRANDOM/d' deps/cares/config/linux/ares_config.h
+[% END -%]
+
./configure --prefix=$distdir
make -j[% c("num_procs") %]
make install
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! TB 40933: Add tor-launcher functionality
by henry (@henry) 12 Jun '25
by henry (@henry) 12 Jun '25
12 Jun '25
henry pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
297b2e99 by Henry Wilkes at 2025-06-12T17:52:26+00:00
fixup! TB 40933: Add tor-launcher functionality
TB 43577: Do not try and flush settings to torrc on android.
- - - - -
1 changed file:
- toolkit/components/tor-launcher/TorProvider.sys.mjs
Changes:
=====================================
toolkit/components/tor-launcher/TorProvider.sys.mjs
=====================================
@@ -356,6 +356,10 @@ export class TorProvider {
}
async flushSettings() {
+ if (TorLauncherUtil.isAndroid) {
+ // Android does not have a torrc to flush to. See tor-browser#43577.
+ return;
+ }
await this.#controller.flushSettings();
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/297b2e9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/297b2e9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-115.24.0esr-13.5-1] 5 commits: fixup! Bug 40925: Implemented the Security Level component
by ma1 (@ma1) 12 Jun '25
by ma1 (@ma1) 12 Jun '25
12 Jun '25
ma1 pushed to branch tor-browser-115.24.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
88b35704 by Henry Wilkes at 2025-06-09T17:04:40+01:00
fixup! Bug 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
6c89d75e by Henry Wilkes at 2025-06-09T17:05:13+01:00
fixup! Bug 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
9c10817a by Henry Wilkes at 2025-06-09T17:05:54+01:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
cdd62d0c by Henry Wilkes at 2025-06-09T17:05:59+01:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
ebb66713 by Henry Wilkes at 2025-06-09T17:06:02+01:00
fixup! Bug 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
17 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -59,6 +59,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
Sanitizer: "resource:///modules/Sanitizer.sys.mjs",
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPTelemetry: "resource:///modules/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShellService: "resource:///modules/ShellService.sys.mjs",
@@ -1907,6 +1909,8 @@ BrowserGlue.prototype = {
lazy.DragDropFilter.init();
+ lazy.SecurityLevelRestartNotification.ready();
+
lazy.TorProviderBuilder.firstWindowLoaded();
ClipboardPrivacy.startup();
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -200,19 +188,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -231,12 +207,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -270,13 +247,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -302,62 +272,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle(
- "securityLevel-radio-option-selected",
- radio.selected
- );
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
\ No newline at end of file
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-color);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -16,10 +16,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,11 +28,8 @@
<hbox class="panel-footer">
<button
id="securityLevel-settings"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
</hbox>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,58 +1,185 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+/* CSS variables copied from ESR 128 */
+:root {
+ --space-xsmall: 0.267rem;
+ --space-small: calc(2 * var(--space-xsmall));
+ --space-medium: calc(3 * var(--space-xsmall));
+ --space-large: calc(4 * var(--space-xsmall));
+ --space-xlarge: calc(6 * var(--space-xsmall));
+ --font-size-small: 0.867rem;
+ --background-color-information: #e2f7ff; /* acorn oklch --color-blue-0 */
+ --button-text-color-primary: var(--in-content-primary-button-text-color);
+ --border-radius-small: 4px;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+@media (prefers-color-scheme: dark) {
+ :root {
+ --background-color-information: #00317e; /* acorn oklch --color-blue-90 */
+ }
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customHeading {
- font-weight: bold;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
+}
+
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
+}
+
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
}
-/* Overwrite indent rule from preferences.css */
-#securityLevel-radiogroup description.indent {
- color: var(--in-content-page-color);
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
}
-#securityLevel-radiogroup radio {
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] {
- opacity: 1.0;
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
}
-.securityLevel-radio-option {
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
border: 1px solid var(--in-content-box-border-color);
- border-radius: 4px;
- margin: 3px 0;
- padding: 9px;
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
}
-.securityLevel-radio-option.securityLevel-radio-option-selected {
- background-color: var(--section-highlight-background-color);
- border: 1px solid var(--in-content-accent-color);
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
}
-.securityLevel-radio-option:not(
- .securityLevel-radio-option-selected
-) .securityLevel-descriptionList {
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
display: none;
}
-.securityLevel-descriptionList description {
- display: list-item;
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
+}
+
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
+}
+
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -18,108 +18,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard">
- <description
- class="summary indent"
- flex="1"
- data-l10n-id="security-level-summary-standard"
- />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - securityLevel-descriptionList is shown or hidden, its text content
- - is included or excluded from the accessible description,
- - respectively. -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer">
- <description
- class="summary indent"
- flex="1"
- data-l10n-id="security-level-summary-safer"
- />
- <vbox class="securityLevel-descriptionList indent">
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest">
- <description
- class="summary indent"
- flex="1"
- data-l10n-id="security-level-summary-safest"
- />
- <vbox class="securityLevel-descriptionList indent">
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- <description
- class="indent"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,77 @@
+import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
+
+const lazy = {};
+
+XPCOMUtils.defineLazyModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.jsm",
+});
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -142,6 +142,7 @@ EXTRA_JS_MODULES += [
"PingCentre.jsm",
"ProcessHangMonitor.jsm",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.jsm",
"SiteDataManager.jsm",
"SitePermissions.sys.mjs",
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2275,6 +2275,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -18,6 +18,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -34,11 +35,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -50,21 +51,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -76,7 +65,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -189,14 +178,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -206,36 +189,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -244,6 +237,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -274,16 +269,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -312,24 +351,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -345,36 +366,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -426,8 +493,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic, aData) {
@@ -437,10 +505,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -451,6 +528,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -460,18 +545,147 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ this._restartNotificationPromise = new Promise(r => {
+ resolve = r;
+ });
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -118,10 +118,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -131,6 +127,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -138,6 +147,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -156,16 +175,16 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
## Notification for dropped operating system support.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d3e4ff…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d3e4ff…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 3 commits: fixup! Tweaks to the build system
by brizental (@brizental) 12 Jun '25
by brizental (@brizental) 12 Jun '25
12 Jun '25
brizental pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
fadec010 by Beatriz Rizental at 2025-06-12T17:31:27+02:00
fixup! Tweaks to the build system
Make it possible to provide MOZ_PKG_MAC_DSSTORE, MOZ_PKG_MAC_BACKGROUND,
MOZ_PKG_MAC_ICON as environment variables. These files are not where the
build system expects it.
In our build system these files are in
tor-browser-build/projects/browser/Bundle-Data/BaseBrowser.dmg while the
build system expects it to be in browser/branding/tb-*.
For ./mach package to work properly when building for macos we need
these locations. Passing them as env vars is fine for building artifacts
in tbb.
- - - - -
d1bcbcb1 by Beatriz Rizental at 2025-06-12T17:31:27+02:00
fixup! Tweaks to the build system
Disable inclusion of browser/installer/windows into packaged development
artifacts. That file is not included by our builds -- at least not by
the ones done by tor-browser-build.
Attempting to zip the unexisting folder will crash `./mach package` when
building inside tor-browser-build.
- - - - -
315fd439 by Beatriz Rizental at 2025-06-12T17:31:28+02:00
BB 43843: Do not bootstrap MacOS packaging tools if available
Do not bootstrap MacOS packing tools if they are already available in
the environment. This can be uplifted.
- - - - -
3 changed files:
- python/mozbuild/mozbuild/action/make_dmg.py
- toolkit/mozapps/installer/packager.mk
- toolkit/mozapps/installer/upload-files.mk
Changes:
=====================================
python/mozbuild/mozbuild/action/make_dmg.py
=====================================
@@ -7,6 +7,7 @@ import platform
import sys
from pathlib import Path
+import buildconfig
from mozpack import dmg
from mozbuild.bootstrap import bootstrap_toolchain
@@ -46,9 +47,11 @@ def main(args):
)
# Resolve required tools
- dmg_tool = bootstrap_toolchain("dmg/dmg")
- hfs_tool = bootstrap_toolchain("dmg/hfsplus")
- mkfshfs_tool = bootstrap_toolchain("hfsplus/newfs_hfs")
+ dmg_tool = buildconfig.substs.get("DMG_TOOL") or bootstrap_toolchain("dmg/dmg")
+ hfs_tool = buildconfig.substs.get("HFS_TOOL") or bootstrap_toolchain("dmg/hfsplus")
+ mkfshfs_tool = buildconfig.substs.get("MKFSHFS") or bootstrap_toolchain(
+ "hfsplus/newfs_hfs"
+ )
dmg.create_dmg(
source_directory=Path(options.inpath),
=====================================
toolkit/mozapps/installer/packager.mk
=====================================
@@ -135,7 +135,7 @@ make-package: FORCE
$(MAKE) make-package-internal
ifeq (WINNT,$(OS_ARCH))
ifeq ($(MOZ_PKG_FORMAT),ZIP)
- $(MAKE) -C windows ZIP_IN='$(ABS_DIST)/$(PACKAGE)' installer
+# $(MAKE) -C windows ZIP_IN='$(ABS_DIST)/$(PACKAGE)' installer
endif
endif
ifdef MOZ_AUTOMATION
=====================================
toolkit/mozapps/installer/upload-files.mk
=====================================
@@ -205,9 +205,9 @@ ifeq ($(MOZ_PKG_FORMAT),DMG)
_ABS_MOZSRCDIR = $(shell cd $(MOZILLA_DIR) && pwd)
PKG_DMG_SOURCE = $(MOZ_PKG_DIR)
- MOZ_PKG_MAC_DSSTORE=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/dsstore
- MOZ_PKG_MAC_BACKGROUND=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/background.png
- MOZ_PKG_MAC_ICON=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/disk.icns
+ MOZ_PKG_MAC_DSSTORE?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/dsstore
+ MOZ_PKG_MAC_BACKGROUND?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/background.png
+ MOZ_PKG_MAC_ICON?=$(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)/disk.icns
INNER_MAKE_PACKAGE = \
$(call py_action,make_dmg, \
$(if $(MOZ_PKG_MAC_DSSTORE),--dsstore '$(MOZ_PKG_MAC_DSSTORE)') \
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/759ac0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/759ac0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41453: Update android toochain for building application-services
by brizental (@brizental) 12 Jun '25
by brizental (@brizental) 12 Jun '25
12 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
df7c4ade by Beatriz Rizental at 2025-06-12T09:12:15+02:00
Bug 41453: Update android toochain for building application-services
- - - - -
13 changed files:
- projects/android-toolchain/config
- projects/application-services/a-s-noop.diff
- − projects/application-services/bug40485-nimbus-fml-reproducibility.diff
- projects/application-services/build
- projects/application-services/config
- projects/application-services/glean-noop.diff
- projects/application-services/gradle-dependencies-list.txt
- projects/application-services/list_toolchain_updates_checks
- projects/application-services/local-repository.diff
- − projects/application-services/ohttp-no-git.diff
- projects/glean/config
- projects/gradle/config
- projects/uniffi-rs/config
Changes:
=====================================
projects/android-toolchain/config
=====================================
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
# FIXME: Rework this whole mess
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]'
-version: '34.0.0'
+version: 36.0.0
var:
setup: |
mkdir -p /var/tmp/dist
@@ -29,39 +29,39 @@ var:
export PATH=$PATH:$GRADLE_HOME/bin
[% END -%]
google_repo: https://dl.google.com/android/repository
- android_api_level: 34
- android_release_dir: android-14
- android_platform_revision: '03'
- android_ndk_version: 26
- android_ndk_revision: c
- android_ndk_version_build: 26.2.11394342
+ android_api_level: 36
+ android_release_dir: android-16
+ android_platform_revision: '01'
+ android_ndk_version: 28
+ android_ndk_revision: b
+ android_ndk_version_build: 28.1.13356709
# We need the following two variables for get_build_tools, used by signing
# scripts.
- build_tools_version: 34
- build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]-linux.zip'
- build_tools_sha512sum: c28dd52f8eca82996726905617f3cb4b0f0aee1334417b450d296991d7112cab1288f5fd42c48a079ba6788218079f81caa3e3e9108e4a6f27163a1eb7f32bd7
- commandlinetools_version: 11076708
- commandlinetools_version_string: 12.0
+ build_tools_version: 36
+ build_tools_filename: 'build-tools_r[% c("var/build_tools_version") %]_linux.zip'
+ build_tools_sha512sum: 277c08c2dcced3c1cc46ce0349e18adc6d6d4b8739868eab5d469f9fb4e9c6b79aa9d2a6592cfc5db0ccb8690fcc75a44db4b18b03dcf349efd0eb54025ef5ca
+ commandlinetools_version: 13114758
+ commandlinetools_version_string: 19.0
input_files:
# Hashes can be compared with https://gitlab.com/fdroid/android-sdk-transparency-log/-/blob/master/checks…
- URL: '[% c("var/google_repo") %]/commandlinetools-linux-[% c("var/commandlinetools_version") %]_latest.zip'
name: android_commandlinetools
- sha256sum: 2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258
+ sha256sum: 7ec965280a073311c339e571cd5de778b9975026cfcbe79f2b1cdcb1e15317ee
- URL: '[% c("var/google_repo") %]/android-ndk-r[% c("var/android_ndk_version") %][% c("var/android_ndk_revision") %]-linux.zip'
name: android_ndk_compiler
- sha256sum: 6d6e659834d28bb24ba7ae66148ad05115ebbad7dabed1af9b3265674774fcf6
+ sha256sum: e9f2759862cecfd48c20bbb7d8cfedbb020f4d91b5f78d9a2fc106f7db3c27ed
- URL: '[% c("var/google_repo") %]/[% c("var/build_tools_filename") %]'
name: build_tools
sha512sum: '[% c("var/build_tools_sha512sum") %]'
- - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]-ext7_r[% c("var/android_platform_revision") %].zip'
+ - URL: '[% c("var/google_repo") %]/platform-[% c("var/android_api_level") %]_r[% c("var/android_platform_revision") %].zip'
name: platform
- sha256sum: 16fdb74c55e59ae3ef52def135aec713508467bd56d7dabcd8c9be31fa8b20f3
+ sha256sum: a5273f7d68de0a6a58032b26c24965634bc14ed3839e70a3a9759369f3f6c02a
# ./mach bootstrap is fetching the latest version, so it does not seem to
# matter which particular version we are using. Pin to the one fitting best to
# SDK version/build-tools version.
- URL: '[% c("var/google_repo") %]/platform-tools_r[% c("version") %]-linux.zip'
name: platform_tools
- sha256sum: 8137c2834dea05cb64c1a8bc041ea00fcd43e3a8a29429ad4f25b8ee51efebf6
+ sha256sum: 0ead642c943ffe79701fccca8f5f1c69c4ce4f43df2eefee553f6ccb27cbfbe8
steps:
# The get_build_tools step is used by tools/signing/android-signing
get_build_tools:
=====================================
projects/application-services/a-s-noop.diff
=====================================
@@ -1,3 +1,48 @@
+diff --git a/build-scripts/component-common.gradle b/build-scripts/component-common.gradle
+index a126341b0..3b3579290 100644
+--- a/build-scripts/component-common.gradle
++++ b/build-scripts/component-common.gradle
+@@ -111,16 +111,30 @@ ext.configureUniFFIBindgen = { crateName ->
+ commandLine "${mozconfig.topobjdir}/dist/host/bin/embedded-uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
+ }
+ } else {
+- def libraryPath = megazordNative.asFileTree.matching {
+- include "${nativeRustTarget}/libmegazord.*"
+- }.singleFile
+-
+- if (libraryPath == null) {
+- throw new GradleException("libmegazord dynamic library path not found")
+- }
+- exec {
+- workingDir project.rootDir
+- commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
++ if (crateName.toString().contains("places")) {
++ def libraryPath = megazordNative.asFileTree.matching {
++ include "${nativeRustTarget}/libmegazord.*"
++ }.singleFile
++
++ if (libraryPath == null) {
++ throw new GradleException("libmegazord dynamic library path not found")
++ }
++ exec {
++ workingDir project.rootDir
++ commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format'
++ }
++ } else {
++ def libraryPath = "${project.rootDir}/megazords/full/target/debug/libmegazord.so"
++ exec {
++ workingDir project.rootDir
++ def command = ["${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', '--library', libraryPath, "--crate", crateName, '--language', 'kotlin', '--out-dir', uniffiOutDir.get(), '--no-format']
++ println "Executing command: ${command.join(' ')}"
++ commandLine command
++
++ // Print both stdout and stderr to Gradle's console
++ standardOutput = System.out
++ errorOutput = System.err
++ }
+ }
+ }
+ }
diff --git a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt b/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
index 78c16dd0a..d2615fa74 100644
--- a/components/fxa-client/android/src/main/java/mozilla/appservices/fxaclient/Config.kt
@@ -9,10 +54,10 @@ index 78c16dd0a..d2615fa74 100644
+ is FxaServer.__NOOP -> ""
}
diff --git a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
-index 8c05be9cf..6bf2ec15d 100644
+index 376ef90d9..d80eea50f 100644
--- a/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
+++ b/components/nimbus/android/src/main/java/org/mozilla/experiments/nimbus/Nimbus.kt
-@@ -532,6 +532,8 @@ open class Nimbus(
+@@ -535,6 +535,8 @@ open class Nimbus(
),
)
}
@@ -22,10 +67,10 @@ index 8c05be9cf..6bf2ec15d 100644
}
}
diff --git a/megazords/full/Cargo.toml b/megazords/full/Cargo.toml
-index 75f44a812..a51c0643b 100644
+index c5e9eea19..ce899aac1 100644
--- a/megazords/full/Cargo.toml
+++ b/megazords/full/Cargo.toml
-@@ -9,21 +9,21 @@ license = "MPL-2.0"9345a6ea
+@@ -9,24 +9,24 @@ license = "MPL-2.0"
crate-type = ["cdylib"]
[dependencies]
@@ -49,6 +94,8 @@ index 75f44a812..a51c0643b 100644
-crashtest = { path = "../../components/crashtest" }
-error-support = { path = "../../components/support/error" }
-suggest = { path = "../../components/suggest" }
+-search = { path = "../../components/search" }
+-tracing-support = { path = "../../components/support/tracing" }
+# push = { path = "../../components/push" }
+# remote_settings = { path = "../../components/remote_settings" }
+# rust-log-forwarder = { path = "../../components/support/rust-log-forwarder" }
@@ -58,13 +105,16 @@ index 75f44a812..a51c0643b 100644
+# crashtest = { path = "../../components/crashtest" }
+# error-support = { path = "../../components/support/error" }
+# suggest = { path = "../../components/suggest" }
++# search = { path = "../../components/search" }
++# tracing-support = { path = "../../components/support/tracing" }
lazy_static = "1.4"
+ init_rust_components = { path = "../../components/init_rust_components" }
diff --git a/megazords/full/src/lib.rs b/megazords/full/src/lib.rs
-index 01d1be98b..a68eb647f 100644
+index 4b6ba4499..e4fde58ae 100644
--- a/megazords/full/src/lib.rs
+++ b/megazords/full/src/lib.rs
-@@ -8,20 +8,20 @@
+@@ -8,24 +8,24 @@
use std::ffi::CString;
use std::os::raw::c_char;
@@ -72,46 +122,37 @@ index 01d1be98b..a68eb647f 100644
-pub use crashtest;
-pub use error_support;
-pub use fxa_client;
+-pub use init_rust_components;
-pub use logins;
+-pub use merino;
-pub use nimbus;
+// pub use autofill;
+// pub use crashtest;
+// pub use error_support;
+// pub use fxa_client;
++// pub use init_rust_components;
+// pub use logins;
++// pub use merino;
+// pub use nimbus;
pub use places;
-pub use push;
-pub use remote_settings;
-pub use rust_log_forwarder;
+-pub use search;
-pub use suggest;
-pub use sync_manager;
-pub use tabs;
+-pub use tracing_support;
-pub use viaduct;
+// pub use push;
+// pub use remote_settings;
+// pub use rust_log_forwarder;
++// pub use search;
+// pub use suggest;
+// pub use sync_manager;
+// pub use tabs;
++// pub use tracing_support;
+// pub use viaduct;
// TODO: Uncomment this code when webext-storage component is integrated in android
// pub use webext_storage;
-diff --git a/publish.gradle b/publish.gradle
-index 71f5d55b9..659e26489 100644
---- a/publish.gradle
-+++ b/publish.gradle
-@@ -194,7 +194,11 @@ ext.configureUniFFIBindgen = { udlFilePath ->
- def uniffiGeneratedPath = "generated/source/uniffi/${variant.name}/java"
- def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
- workingDir project.rootDir
-- commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
-+ if (udlFilePath.contains("places")) {
-+ commandLine '/usr/bin/env', 'cargo', 'uniffi-bindgen', 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
-+ } else {
-+ commandLine '/usr/bin/env', "${rootProject.projectDir}/uniffi-rs/uniffi-bindgen", 'generate', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
-+ }
- outputs.dir "${buildDir}/${uniffiGeneratedPath}"
- // Re-generate if the interface definition changes.
- inputs.file "${project.projectDir}/${udlFilePath}"
=====================================
projects/application-services/bug40485-nimbus-fml-reproducibility.diff deleted
=====================================
@@ -1,48 +0,0 @@
-diff --git a/components/support/nimbus-fml/src/intermediate_representation.rs b/components/support/nimbus-fml/src/intermediate_representation.rs
-index 97d545672..249406a0c 100644
---- a/components/support/nimbus-fml/src/intermediate_representation.rs
-+++ b/components/support/nimbus-fml/src/intermediate_representation.rs
-@@ -237,10 +237,10 @@ pub struct FeatureManifest {
- pub(crate) about: AboutBlock,
-
- #[serde(default)]
-- pub(crate) imported_features: HashMap<ModuleId, BTreeSet<String>>,
-+ pub(crate) imported_features: BTreeMap<ModuleId, BTreeSet<String>>,
-
- #[serde(default)]
-- pub(crate) all_imports: HashMap<ModuleId, FeatureManifest>,
-+ pub(crate) all_imports: BTreeMap<ModuleId, FeatureManifest>,
- }
-
- impl TypeFinder for FeatureManifest {
-diff --git a/components/support/nimbus-fml/src/parser.rs b/components/support/nimbus-fml/src/parser.rs
-index 49cace525..cdf692b86 100644
---- a/components/support/nimbus-fml/src/parser.rs
-+++ b/components/support/nimbus-fml/src/parser.rs
-@@ -223,7 +223,7 @@ impl Parser {
- &self,
- current: &FilePath,
- channel: Option<&str>,
-- imports: &mut HashMap<ModuleId, FeatureManifest>,
-+ imports: &mut BTreeMap<ModuleId, FeatureManifest>,
- // includes: &mut HashSet<ModuleId>,
- ) -> Result<ModuleId> {
- let id = current.try_into()?;
-@@ -253,7 +253,7 @@ impl Parser {
- // This loop does the work of merging the default blocks back into the imported manifests.
- // We'll then attach all the manifests to the root (i.e. the one we're generating code for today), in `imports`.
- // We associate only the feature ids with the manifest we're loading in this method.
-- let mut imported_feature_id_map = HashMap::new();
-+ let mut imported_feature_id_map = BTreeMap::new();
-
- for block in &frontend.imports {
- // 1. Load the imported manifests in to the hash map.
-@@ -328,7 +328,7 @@ impl Parser {
- &self,
- channel: Option<&str>,
- ) -> Result<FeatureManifest, FMLError> {
-- let mut manifests = HashMap::new();
-+ let mut manifests = BTreeMap::new();
- let id = self.load_imports(&self.source, channel, &mut manifests)?;
- let mut fm = manifests
- .remove(&id)
=====================================
projects/application-services/build
=====================================
@@ -6,8 +6,8 @@
gradle_tarfile => c("input_files_by_name/gradle"),
}) %]
pushd /var/tmp/dist/android-toolchain/android-sdk-linux/build-tools/
-unzip $rootdir/'[% c("input_files_by_name/build_tools_30") %]'
-mv android-11 30.0.3
+unzip $rootdir/'[% c("input_files_by_name/build_tools_35") %]'
+mv android-15 35.0
popd
distdir=/var/tmp/dist/[% project %]
@@ -73,6 +73,19 @@ tar -xf $rootdir/[% c('input_files_by_name/uniffi-rs') %]
# latest versions of dependencies sometimes.
sed -i '$ s/$/-TORBROWSER/' version.txt
+pushd libs
+ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
+ln -s $rootdir/bug_13028.patch
+patch -p2 < $rootdir/apply-bug-13028.diff
+patch -p2 < $rootdir/no-ndk-lookup.diff
+./build-all.sh desktop
+./build-all.sh android
+popd
+
+pushd megazords/full
+NSS_DIR=$(pwd)/../../libs/desktop/linux-x86-64/nss cargo build --target-dir=$(pwd)/target
+popd
+
cp $rootdir/cargo-no-build.sh megazords/full/android/
chmod +x megazords/full/android/cargo-no-build.sh
patch -p1 < $rootdir/a-s-noop.diff
@@ -83,15 +96,6 @@ cp $builddir/uniffi-rs/uniffi-bindgen glean-core/android-native/
patch -p1 < $rootdir/glean-noop.diff
popd
-pushd libs
-ln -s $rootdir/[% c("input_files_by_name/nss") %] ./
-ln -s $rootdir/bug_13028.patch
-patch -p2 < $rootdir/apply-bug-13028.diff
-patch -p2 < $rootdir/no-ndk-lookup.diff
-./build-all.sh desktop
-./build-all.sh android
-popd
-
[% IF c('var/fetch_gradle_dependencies') %]
# XXX: `assemble` is still not enough to see all fetched dependencies via
# Gradle's --debug. See: tor-browser-build#40056.
@@ -104,8 +108,6 @@ popd
export LC_ALL=C.UTF-8
export LANG=C.UTF-8
patch -p1 < $rootdir/local-repository.diff
- patch -p1 < $rootdir/ohttp-no-git.diff
- patch -p1 < $rootdir/bug40485-nimbus-fml-reproducibility.diff
patch -p1 < $rootdir/offline-nimbus-fml.diff
patch -p1 < $rootdir/41422-disable-viaduct.diff
gradle_flags="--offline --no-daemon"
=====================================
projects/application-services/config
=====================================
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
-version: 128.0.1
-git_hash: 0e4777f4133a98f44bca164fcf0406e8f706dbe4
+version: 140.0
+git_hash: 8ee6cb6a23f96ff8e2161926441aea72d6f09249
git_url: https://github.com/mozilla/application-services
git_submodule: 1
container:
@@ -8,11 +8,11 @@ container:
var:
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 11
- gradle_version: 8.8
- glean_parser: 14.0.1
- nss_version: '3.101'
- nspr_version: '4.35'
+ gradle_dependencies_version: 12
+ gradle_version: 8.13
+ glean_parser: 17.1.0
+ nss_version: '3.110'
+ nspr_version: '4.36'
steps:
build:
@@ -21,7 +21,7 @@ steps:
# Due to some issue in application-service causing non matching
# builds when build time differ a lot, we need to do periodic rebuilds:
# https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
- rebuild_date: '2024-09-12'
+ rebuild_date: '2025-06-12'
arch_deps:
# Needed to build NSS
- gyp
@@ -43,16 +43,16 @@ steps:
- project: uniffi-rs
name: uniffi-rs
pkg_type: build
- # Only Application Services currently requires build tools 30.0.3.
+ # Only Application Services currently requires build tools 35.
# So, download them only here, rather than adding them to the shared
# toolchain.
- - URL: 'https://dl.google.com/android/repository/build-tools_r30.0.3-linux.zip'
- name: build_tools_30
- sha256sum: 24593500aa95d2f99fb4f10658aae7e65cb519be6cd33fa164f15f27f3c4a2d6
+ - URL: 'https://dl.google.com/android/repository/build-tools_r35_linux.zip'
+ name: build_tools_35
+ sha256sum: bd3a4966912eb8b30ed0d00b0cda6b6543b949d5ffe00bea54c04c81e1561d88
# NSS version ans sha256 are in libs/build-all.sh.
- URL: 'https://ftp.mozilla.org/pub/security/nss/releases/NSS_[% c("var/nss_version") | replace("\\.", "_") %]_RTM/src/nss-[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %].tar.gz'
name: nss
- sha256sum: 566faa9283ff3d9a7d6c44272df6e4330e3e06ca4e841a68840d31b27c9161c4
+ sha256sum: 96114bef9e9692dda6e7793da26fedef0dc0449c3644ebe1122464e599a39dc0
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
@@ -65,19 +65,14 @@ steps:
project: application-services
pkg_type: cargo_vendor
norec:
- sha256sum: 92ce1131b35bf78d86362670ba7e4930ecdd1117694996d7cce850e4860f90b6
+ sha256sum: 4cf0235b525b5ce1d8bcc40e9763a13fd0e79c773749b900b4d7420551cf5114
- filename: local-repository.diff
enable: '[% !c("var/fetch_gradle_dependencies") %]'
- filename: gen_gradle_deps_file.sh
enable: '[% c("var/fetch_gradle_dependencies") %]'
- filename: bug_13028.patch
- filename: apply-bug-13028.diff
- # Delete when this patch is included upstream
- - filename: bug40485-nimbus-fml-reproducibility.diff
- filename: no-ndk-lookup.diff
- # as-ohttp-client lists both the version for ohttp and a git repo + rev,
- # but this breaks the vendoring for offline builds.
- - filename: ohttp-no-git.diff
- filename: offline-nimbus-fml.diff
- filename: glean-noop.diff
- filename: a-s-noop.diff
=====================================
projects/application-services/glean-noop.diff
=====================================
@@ -1,8 +1,8 @@
diff --git a/glean-core/android-native/build.gradle b/glean-core/android-native/build.gradle
-index 48769651..ade00ec3 100644
+index 53716d523..d38af8320 100644
--- a/glean-core/android-native/build.gradle
+++ b/glean-core/android-native/build.gradle
-@@ -57,6 +57,8 @@ android {
+@@ -48,6 +48,8 @@ android {
}
cargo {
@@ -12,15 +12,15 @@ index 48769651..ade00ec3 100644
module = '../bundle-android'
diff --git a/glean-core/android/build.gradle b/glean-core/android/build.gradle
-index 3568e40b..05f28296 100644
+index 7748378b4..5af06b1c3 100644
--- a/glean-core/android/build.gradle
+++ b/glean-core/android/build.gradle
-@@ -221,7 +221,7 @@ android.libraryVariants.all { variant ->
- def udlFilePath = "../src/glean.udl"
- def t = tasks.register("generate${variant.name.capitalize()}UniFFIBindings", Exec) {
- workingDir project.rootDir
-- commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
-+ commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', "${buildDir}/${uniffiGeneratedPath}"
- outputs.dir "${buildDir}/${uniffiGeneratedPath}"
- // Re-generate if the interface definition changes.
- inputs.file "${project.projectDir}/../src/glean.udl"
+@@ -197,7 +197,7 @@ def generateUniffiBindings = tasks.register("generateUniffiBindings") {
+ doFirst {
+ exec {
+ workingDir project.rootDir
+- commandLine 'cargo', 'uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
++ commandLine '${rootDir}/glean-core/android-native/uniffi-bindgen', 'generate', '--no-format', "${project.projectDir}/${udlFilePath}", '--language', 'kotlin', '--out-dir', UNIFFI_OUT_DIR.get()
+ }
+ }
+ outputs.dir UNIFFI_OUT_DIR
=====================================
projects/application-services/gradle-dependencies-list.txt
=====================================
The diff for this file was not included because it is too large.
=====================================
projects/application-services/list_toolchain_updates_checks
=====================================
@@ -8,7 +8,7 @@ if (m/^\\s*compileSdkVersion:\\s([^"]*),/) {
}
EOF
needed=$(cat build.gradle | perl -ne "$p")
-current=34
+current='[% pc("android-toolchain", "version") %]'
check_update_needed compileSdkVersion "$needed" "$current"
@@ -48,12 +48,12 @@ current='[% c("var/nss_version") %]-with-nspr-[% c("var/nspr_version") %]'
check_update_needed nss-nspr "$needed" "$current"
# uniffi
-read -d '' p << 'EOF' || true
-if (m/^\\s*uniffi\\s*=\\s*"([^"]*)"/) {
- print $1;
- exit;
-}
-EOF
-needed=$(cat Cargo.toml | perl -ne "$p")
+p='while (<>) {
+ if (m/^\s*uniffi\s*=\s*\{[^}]*version\s*=\s*"([^"]*)"/) {
+ print $1;
+ exit;
+ }
+}'
+needed=$(cat components/autofill/Cargo.toml | perl -ne "$p")
current='[% pc("uniffi-rs", "version") %]'
check_update_needed uniffi "$needed" "$current"
=====================================
projects/application-services/local-repository.diff
=====================================
@@ -1,10 +1,10 @@
diff --git a/build.gradle b/build.gradle
-index b22a0737..d335aa5b 100644
+index bd516e58c..b30d552c9 100644
--- a/build.gradle
+++ b/build.gradle
-@@ -39,6 +39,13 @@ buildscript {
- ]
-
+@@ -14,6 +14,14 @@ buildscript {
+ }
+
repositories {
+ maven {
+ url "file:///var/tmp/dist/gradle-dependencies"
@@ -13,11 +13,12 @@ index b22a0737..d335aa5b 100644
+ mavenPom()
+ }
+ }
++
mavenCentral()
google()
- jcenter()
-@@ -88,6 +95,13 @@ apply plugin: 'de.undercouch.download'
-
+ maven {
+@@ -59,6 +67,14 @@ plugins {
+
allprojects {
repositories {
+ maven {
@@ -27,11 +28,12 @@ index b22a0737..d335aa5b 100644
+ mavenPom()
+ }
+ }
++
google()
- jcenter()
+ mavenCentral()
maven {
diff --git a/settings.gradle b/settings.gradle
-index f652bd02..8c30a368 100644
+index 4117bc0d3..f1b028dad 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,6 +1,19 @@
@@ -52,37 +54,39 @@ index f652bd02..8c30a368 100644
+}
+
import org.yaml.snakeyaml.Yaml
-
- includeBuild('tools/nimbus-gradle-plugin') {
-@@ -14,6 +27,13 @@ buildscript {
- classpath 'org.yaml:snakeyaml:2.0'
- }
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
+
+ // We prefer `appServicesRootDir` over `rootDir` to help us on the path to the monorepo.
+@@ -23,6 +36,14 @@ buildscript {
+ if (!gradle.root.hasProperty("mozconfig")) {
+ // in app-services
+ repositories {
++ maven {
++ url "file:///var/tmp/dist/gradle-dependencies"
++ metadataSources {
++ gradleMetadata()
++ mavenPom()
++ }
+ }
-+ }
- jcenter()
- }
- }
++
+ mavenCentral()
+ }
+ } else {
diff --git a/tools/nimbus-gradle-plugin/settings.gradle b/tools/nimbus-gradle-plugin/settings.gradle
-index 7db19be0..1f36b991 100644
+index 7d907f057..c0d213503 100644
--- a/tools/nimbus-gradle-plugin/settings.gradle
+++ b/tools/nimbus-gradle-plugin/settings.gradle
-@@ -8,6 +8,13 @@ buildscript {
- classpath 'org.yaml:snakeyaml:2.0'
- }
- repositories {
-+ maven {
-+ url "file:///var/tmp/dist/gradle-dependencies"
-+ metadataSources {
-+ gradleMetadata()
-+ mavenPom()
+@@ -14,6 +14,14 @@ buildscript {
+ if (!gradle.root.hasProperty("mozconfig")) {
+ // in app-services
+ repositories {
++ maven {
++ url "file:///var/tmp/dist/gradle-dependencies"
++ metadataSources {
++ gradleMetadata()
++ mavenPom()
++ }
+ }
-+ }
- jcenter()
- }
- }
++
+ mavenCentral()
+ }
+ } else {
=====================================
projects/application-services/ohttp-no-git.diff deleted
=====================================
@@ -1,15 +0,0 @@
-diff --git a/components/as-ohttp-client/Cargo.toml b/components/as-ohttp-client/Cargo.toml
-index fd45a058b..b7070fc15 100644
---- a/components/as-ohttp-client/Cargo.toml
-+++ b/components/as-ohttp-client/Cargo.toml
-@@ -19,8 +19,8 @@ rusqlite = { workspace = true, features = ["bundled"] }
- [dependencies.ohttp]
- version = "0.4"
- default-features = false
--git = "https://github.com/martinthomson/ohttp.git"
--rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
-+# git = "https://github.com/martinthomson/ohttp.git"
-+# rev = "fc3f4c787d1f6a6a87bf5194f7152cc906b02973"
- features = ["client", "server", "app-svc", "external-sqlite"]
-
- [build-dependencies]
=====================================
projects/glean/config
=====================================
@@ -19,13 +19,15 @@ var:
- torsocks
glean_wheels_sha256sum:
14.0.1: 95f01d0e158ae7968680029b7d9c2908895e1d1ec1ba4e6a044648a05af4ee0c
+ 17.1.0: d96ef1995676fc3b838efb84283294befd5060ca64eea94fb67ae1f41d422664
glean_wheels_url:
14.0.1: https://build-sources.tbb.torproject.org/glean-wheels-14.0.1.tar.xz
+ 17.1.0: https://build-sources.tbb.torproject.org/glean-wheels-17.1.0.tar.xz
steps:
create_glean_deps_tarball:
git_url: ''
- version: 14.0.1
+ version: 17.1.0
filename: 'glean-wheels-[% c("version") %].tar.xz'
build_log: '-'
container:
=====================================
projects/gradle/config
=====================================
@@ -7,6 +7,7 @@ container:
var:
gradle_sha256sum:
8.8: a4b4158601f8636cdeeab09bd76afb640030bb5b144aafe261a5e8af027dc612
+ 8.13: 20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
input_files:
- project: container-image
=====================================
projects/uniffi-rs/config
=====================================
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
-version: 0.27.1
-git_hash: bfb52effb0292f16d4c030d622887781639cbd1f
-git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs.git
+version: 0.29.0
+git_hash: c69eba9eb08b16a66aab7b25df6c55d0b60541db
+git_url: https://gitlab.torproject.org/tpo/applications/uniffi-rs
container:
use_container: 1
@@ -17,4 +17,4 @@ steps:
project: uniffi-rs
pkg_type: cargo_vendor
norec:
- sha256sum: 12a61a3dbe65a3946ed58fff3d849d11c9ade5818e2ef5771d2a2a531e25f553
+ sha256sum: 23c79da9169064f42c34b9dadfee9dcf5ed251f9843615ca3e9a0e59a49f581d
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/d…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! TB 2176: Rebrand Firefox to TorBrowser
by Pier Angelo Vendrame (@pierov) 11 Jun '25
by Pier Angelo Vendrame (@pierov) 11 Jun '25
11 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
759ac06a by Pier Angelo Vendrame at 2025-06-11T16:02:37+02:00
fixup! TB 2176: Rebrand Firefox to TorBrowser
TB 43855: Set Android branding for l10n merging.
- - - - -
1 changed file:
- mobile/android/locales/l10n.toml
Changes:
=====================================
mobile/android/locales/l10n.toml
=====================================
@@ -124,6 +124,18 @@ exclude-multi-locale = [
reference = "mobile/android/locales/en-US/**"
l10n = "{l}mobile/android/**"
+[[paths]]
+ reference = "mobile/android/branding/tb-alpha/locales/en-US/**"
+ l10n = "{l}mobile/android/branding/tb-alpha/**"
+
+[[paths]]
+ reference = "mobile/android/branding/tb-nightly/locales/en-US/**"
+ l10n = "{l}mobile/android/branding/tb-nightly/**"
+
+[[paths]]
+ reference = "mobile/android/branding/tb-release/locales/en-US/**"
+ l10n = "{l}mobile/android/branding/tb-release/**"
+
# hand-picked paths from toolkit, keep in sync with jar.mn
[[paths]]
reference = "dom/locales/en-US/chrome/accessibility/AccessFu.properties"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/759ac06…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/759ac06…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 7 commits: Bug 41457: Set mar IDs in tor-browser-build.
by Pier Angelo Vendrame (@pierov) 11 Jun '25
by Pier Angelo Vendrame (@pierov) 11 Jun '25
11 Jun '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
b428d050 by Pier Angelo Vendrame at 2025-06-11T18:05:45+02:00
Bug 41457: Set mar IDs in tor-browser-build.
We used to have a logic to set the mar IDs in confvars.sh but, from
Firefox 137, that file can contains only key/value without any logic.
- - - - -
90cccdd8 by Pier Angelo Vendrame at 2025-06-11T19:49:57+02:00
Bug 41448: Update toolchains for ESR140 (common).
Switch to Clang 19.1.7, Rust 1.86.0, nasm 2.16.03.
- - - - -
3e26939c by Pier Angelo Vendrame at 2025-06-11T19:49:57+02:00
Bug 41448: Update toolchains for ESR140 (macOS).
macOS specific updates for Firefox 140.
- - - - -
fad83635 by Pier Angelo Vendrame at 2025-06-11T19:49:58+02:00
Bug 41448: Update toolchains for ESR140 (Windows).
Windows specific updates for Firefox 140.
- - - - -
78708705 by Pier Angelo Vendrame at 2025-06-11T19:49:58+02:00
Bug 41458: Ship geckodriver only on Linux.
Geckodriver is now a host tool for Firefox.
- - - - -
23f1ab0d by Pier Angelo Vendrame at 2025-06-11T19:49:58+02:00
Bug 41478: Include vim in our containers.
Also, clean a little bit some other dependencies.
- - - - -
ba52be71 by Nicolas Vigier at 2025-06-11T19:49:59+02:00
Bug 41448: Check for more toolchain updates
- - - - -
35 changed files:
- projects/cbindgen/config
- projects/cctools/build
- + projects/cctools/cctools.patch
- projects/cctools/config
- projects/clang/build
- projects/clang/config
- + projects/clang/gnullvm-environment.diff
- projects/common/list_toolchain_updates-common-firefox-geckoview
- projects/firefox/build
- projects/firefox/config
- projects/firefox/list_toolchain_updates_checks
- projects/firefox/mozconfig
- projects/firefox/nsis-uninstall.patch
- projects/geckoview/config
- projects/llvm-project/config
- projects/macosx-toolchain/config
- projects/macosx-toolchain/macpkg.py
- projects/mingw-w64-clang/build
- projects/mingw-w64-clang/config
- − projects/mingw-w64-clang/mingw-composition.patch
- projects/mingw-w64-clang/mingw-dwrite_3.patch
- + projects/mingw-w64-clang/mingw-foundation_redef.patch
- − projects/mingw-w64-clang/mingw-unknown.patch
- projects/mingw-w64-clang/mingw-webrtc.patch
- projects/mmdebstrap-image/config
- projects/nasm/config
- projects/node/config
- projects/rust/build
- − projects/rust/chkstk.patch
- projects/rust/config
- projects/wasi-sysroot/config
- projects/wasi-sysroot/wasi-sdk.patch
- − projects/windows-rs/build
- − projects/windows-rs/config
- rbm.conf
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
by boklm (@boklm) 11 Jun '25
by boklm (@boklm) 11 Jun '25
11 Jun '25
boklm pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
6a8e243d by Nicolas Vigier at 2025-06-11T14:08:54+02:00
Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
- - - - -
1 changed file:
- keyring/boklm.gpg
Changes:
=====================================
keyring/boklm.gpg
=====================================
Binary files a/keyring/boklm.gpg and b/keyring/boklm.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/6…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
by boklm (@boklm) 11 Jun '25
by boklm (@boklm) 11 Jun '25
11 Jun '25
boklm pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
5aaf9bba by Nicolas Vigier at 2025-06-11T14:08:04+02:00
Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
- - - - -
1 changed file:
- keyring/boklm.gpg
Changes:
=====================================
keyring/boklm.gpg
=====================================
Binary files a/keyring/boklm.gpg and b/keyring/boklm.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
by boklm (@boklm) 11 Jun '25
by boklm (@boklm) 11 Jun '25
11 Jun '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
2010ef74 by Nicolas Vigier at 2025-06-11T12:14:53+02:00
Bug 41477: Update keyring/boklm.gpg for new subkeys (2025)
- - - - -
1 changed file:
- keyring/boklm.gpg
Changes:
=====================================
keyring/boklm.gpg
=====================================
Binary files a/keyring/boklm.gpg and b/keyring/boklm.gpg differ
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! BB 42758: Fix WebRTC build errors.
by Pier Angelo Vendrame (@pierov) 11 Jun '25
by Pier Angelo Vendrame (@pierov) 11 Jun '25
11 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
81d916f0 by Pier Angelo Vendrame at 2025-06-11T08:57:46+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
5 changed files:
- media/libaom/moz.build
- third_party/abseil-cpp/absl/base/base_gn/moz.build
- third_party/abseil-cpp/absl/base/internal/thread_identity.cc
- third_party/abseil-cpp/absl/base/internal/thread_identity.h
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
Changes:
=====================================
media/libaom/moz.build
=====================================
@@ -143,6 +143,3 @@ LOCAL_INCLUDES += [
# TEST_DIRS += [
# 'test/fuzztest'
# ]
-
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
=====================================
third_party/abseil-cpp/absl/base/base_gn/moz.build
=====================================
@@ -168,7 +168,4 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["_GNU_SOURCE"] = True
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
-
Library("base_gn")
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.cc
=====================================
@@ -14,7 +14,7 @@
#include "absl/base/internal/thread_identity.h"
-#if !defined(_WIN32) || defined(__MINGW32__)
+#if !defined(_WIN32)
#include <pthread.h>
#ifndef __wasi__
// WASI does not provide this header, either way we disable use
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.h
=====================================
@@ -217,7 +217,7 @@ void ClearCurrentThreadIdentity();
#error ABSL_THREAD_IDENTITY_MODE cannot be directly set
#elif defined(ABSL_FORCE_THREAD_IDENTITY_MODE)
#define ABSL_THREAD_IDENTITY_MODE ABSL_FORCE_THREAD_IDENTITY_MODE
-#elif defined(_WIN32) && !defined(__MINGW32__)
+#elif defined(_WIN32)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
#elif defined(__APPLE__) && defined(ABSL_HAVE_THREAD_LOCAL)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
=====================================
third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
=====================================
@@ -370,7 +370,7 @@ HRESULT WgcCaptureSession::ProcessFrame() {
return hr;
}
- ComPtr<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
+ ComPtr<Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
direct3DDxgiInterfaceAccess;
hr = d3d_surface->QueryInterface(IID_PPV_ARGS(&direct3DDxgiInterfaceAccess));
if (FAILED(hr)) {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/81d916f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/81d916f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] fixup! BB 42758: Fix WebRTC build errors.
by Pier Angelo Vendrame (@pierov) 11 Jun '25
by Pier Angelo Vendrame (@pierov) 11 Jun '25
11 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
75272211 by Pier Angelo Vendrame at 2025-06-11T08:56:12+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
5 changed files:
- media/libaom/moz.build
- third_party/abseil-cpp/absl/base/base_gn/moz.build
- third_party/abseil-cpp/absl/base/internal/thread_identity.cc
- third_party/abseil-cpp/absl/base/internal/thread_identity.h
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
Changes:
=====================================
media/libaom/moz.build
=====================================
@@ -143,6 +143,3 @@ LOCAL_INCLUDES += [
# TEST_DIRS += [
# 'test/fuzztest'
# ]
-
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
=====================================
third_party/abseil-cpp/absl/base/base_gn/moz.build
=====================================
@@ -168,7 +168,4 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["_GNU_SOURCE"] = True
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
-
Library("base_gn")
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.cc
=====================================
@@ -14,7 +14,7 @@
#include "absl/base/internal/thread_identity.h"
-#if !defined(_WIN32) || defined(__MINGW32__)
+#if !defined(_WIN32)
#include <pthread.h>
#ifndef __wasi__
// WASI does not provide this header, either way we disable use
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.h
=====================================
@@ -217,7 +217,7 @@ void ClearCurrentThreadIdentity();
#error ABSL_THREAD_IDENTITY_MODE cannot be directly set
#elif defined(ABSL_FORCE_THREAD_IDENTITY_MODE)
#define ABSL_THREAD_IDENTITY_MODE ABSL_FORCE_THREAD_IDENTITY_MODE
-#elif defined(_WIN32) && !defined(__MINGW32__)
+#elif defined(_WIN32)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
#elif defined(__APPLE__) && defined(ABSL_HAVE_THREAD_LOCAL)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
=====================================
third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
=====================================
@@ -370,7 +370,7 @@ HRESULT WgcCaptureSession::ProcessFrame() {
return hr;
}
- ComPtr<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
+ ComPtr<Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
direct3DDxgiInterfaceAccess;
hr = d3d_surface->QueryInterface(IID_PPV_ARGS(&direct3DDxgiInterfaceAccess));
if (FAILED(hr)) {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7527221…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7527221…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-1] fixup! BB 42758: Fix WebRTC build errors.
by Pier Angelo Vendrame (@pierov) 11 Jun '25
by Pier Angelo Vendrame (@pierov) 11 Jun '25
11 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
623f30c0 by Pier Angelo Vendrame at 2025-06-11T08:50:46+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 440: Change abseil's thread mode.
Remove pthread again and use win32 threads also when building with
mingw.
- - - - -
5 changed files:
- media/libaom/moz.build
- third_party/abseil-cpp/absl/base/base_gn/moz.build
- third_party/abseil-cpp/absl/base/internal/thread_identity.cc
- third_party/abseil-cpp/absl/base/internal/thread_identity.h
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
Changes:
=====================================
media/libaom/moz.build
=====================================
@@ -143,6 +143,3 @@ LOCAL_INCLUDES += [
# TEST_DIRS += [
# 'test/fuzztest'
# ]
-
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
=====================================
third_party/abseil-cpp/absl/base/base_gn/moz.build
=====================================
@@ -168,7 +168,4 @@ if CONFIG["OS_TARGET"] == "Linux" and CONFIG["TARGET_CPU"] == "x86_64":
DEFINES["_GNU_SOURCE"] = True
-if CONFIG["OS_TARGET"] == "WINNT" and CONFIG["CC_TYPE"] == "clang":
- OS_LIBS += ["pthread"]
-
Library("base_gn")
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.cc
=====================================
@@ -14,7 +14,7 @@
#include "absl/base/internal/thread_identity.h"
-#if !defined(_WIN32) || defined(__MINGW32__)
+#if !defined(_WIN32)
#include <pthread.h>
#ifndef __wasi__
// WASI does not provide this header, either way we disable use
=====================================
third_party/abseil-cpp/absl/base/internal/thread_identity.h
=====================================
@@ -217,7 +217,7 @@ void ClearCurrentThreadIdentity();
#error ABSL_THREAD_IDENTITY_MODE cannot be directly set
#elif defined(ABSL_FORCE_THREAD_IDENTITY_MODE)
#define ABSL_THREAD_IDENTITY_MODE ABSL_FORCE_THREAD_IDENTITY_MODE
-#elif defined(_WIN32) && !defined(__MINGW32__)
+#elif defined(_WIN32)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
#elif defined(__APPLE__) && defined(ABSL_HAVE_THREAD_LOCAL)
#define ABSL_THREAD_IDENTITY_MODE ABSL_THREAD_IDENTITY_MODE_USE_CPP11
=====================================
third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
=====================================
@@ -370,7 +370,7 @@ HRESULT WgcCaptureSession::ProcessFrame() {
return hr;
}
- ComPtr<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
+ ComPtr<Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess>
direct3DDxgiInterfaceAccess;
hr = d3d_surface->QueryInterface(IID_PPV_ARGS(&direct3DDxgiInterfaceAccess));
if (FAILED(hr)) {
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/623…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/623…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-1] 5 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 10 Jun '25
by ma1 (@ma1) 10 Jun '25
10 Jun '25
ma1 pushed to branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
c34e1a81 by Henry Wilkes at 2025-06-10T19:01:47+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
1c46cb4e by Henry Wilkes at 2025-06-10T19:01:49+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
418e8ab4 by Henry Wilkes at 2025-06-10T19:01:51+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
87bc322d by Henry Wilkes at 2025-06-10T19:01:53+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
4fe56d8e by Henry Wilkes at 2025-06-10T19:01:55+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
17 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -63,6 +63,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPTelemetry:
"moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShortcutUtils: "resource://gre/modules/ShortcutUtils.sys.mjs",
@@ -997,6 +999,8 @@ BrowserGlue.prototype = {
lazy.WeaveService.init();
}
+ lazy.SecurityLevelRestartNotification.ready();
+
ClipboardPrivacy.startup();
lazy.BrowserUtils.callModulesFromCategory(
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -136,6 +136,7 @@ EXTRA_JS_MODULES += [
"PopupBlockerObserver.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SharingUtils.sys.mjs",
"SiteDataManager.sys.mjs",
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2348,6 +2348,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -199,14 +188,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -216,36 +199,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -254,6 +247,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -283,16 +278,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -321,24 +360,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -354,36 +375,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -437,8 +504,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -448,10 +516,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -462,6 +539,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -471,18 +556,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -123,10 +123,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -136,6 +132,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -143,6 +152,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -161,13 +180,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/50…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/50…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] 5 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 10 Jun '25
by ma1 (@ma1) 10 Jun '25
10 Jun '25
ma1 pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
a00fd3bb by Henry Wilkes at 2025-06-10T18:57:40+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
d994c066 by Henry Wilkes at 2025-06-10T18:57:52+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
44db81d7 by Henry Wilkes at 2025-06-10T18:57:54+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
0ad2b8cd by Henry Wilkes at 2025-06-10T18:58:05+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
133f9afe by Henry Wilkes at 2025-06-10T18:58:07+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
17 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -63,6 +63,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPTelemetry:
"moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShortcutUtils: "resource://gre/modules/ShortcutUtils.sys.mjs",
@@ -994,6 +996,8 @@ BrowserGlue.prototype = {
lazy.WeaveService.init();
}
+ lazy.SecurityLevelRestartNotification.ready();
+
ClipboardPrivacy.startup();
lazy.BrowserUtils.callModulesFromCategory(
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -136,6 +136,7 @@ EXTRA_JS_MODULES += [
"PopupBlockerObserver.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SharingUtils.sys.mjs",
"SiteDataManager.sys.mjs",
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2348,6 +2348,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -187,14 +176,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -204,36 +187,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -242,6 +235,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -271,16 +266,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -309,24 +348,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -342,36 +363,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -425,8 +492,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -436,10 +504,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -450,6 +527,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -459,18 +544,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -123,10 +123,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -136,6 +132,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -143,6 +152,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -161,13 +180,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/aec824…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/aec824…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 9 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 10 Jun '25
by ma1 (@ma1) 10 Jun '25
10 Jun '25
ma1 pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
7ba7899b by Henry Wilkes at 2025-06-10T15:27:16+01:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
8a3f4ef0 by Henry Wilkes at 2025-06-10T15:27:17+01:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
f0744c43 by Henry Wilkes at 2025-06-10T15:27:18+01:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
48604a71 by Henry Wilkes at 2025-06-10T15:27:19+01:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43783: Expose SecurityLevelPrefs.setSecurityLevelAndRestart to
android integration.
- - - - -
00b151ee by Henry Wilkes at 2025-06-10T15:27:20+01:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
b521b013 by Henry Wilkes at 2025-06-10T15:27:21+01:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
116c3b51 by clairehurst at 2025-06-10T15:27:22+01:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
fc2602a2 by clairehurst at 2025-06-10T15:27:23+01:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
e1670e7a by clairehurst at 2025-06-10T15:27:24+01:00
fixup! [android] TBA strings
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
37 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorSecurityLevelFragment.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/SecurityLevel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- − mobile/android/fenix/app/src/main/res/xml/tor_security_level_preferences.xml
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
- toolkit/modules/TorAndroidIntegration.sys.mjs
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f8d973…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f8d973…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 2 commits: fixup! TB 40933: Add tor-launcher functionality
by henry (@henry) 10 Jun '25
by henry (@henry) 10 Jun '25
10 Jun '25
henry pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
1036d63b by Henry Wilkes at 2025-06-10T13:54:43+01:00
fixup! TB 40933: Add tor-launcher functionality
TB 43636: Distinguish between bootstrap errors and TorProvider
initialisation errors.
- - - - -
f8d973ab by Henry Wilkes at 2025-06-10T13:54:45+01:00
fixup! TB 40597: Implement TorSettings module
TB 43636: Move to the Start stage when a bootstrap fails due to a
TorProvider initialisation error.
- - - - -
4 changed files:
- toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
- toolkit/components/tor-launcher/TorProvider.sys.mjs
- toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- toolkit/modules/TorConnect.sys.mjs
Changes:
=====================================
toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
=====================================
@@ -54,9 +54,7 @@ export class TorBootstrapRequest {
}
case lazy.TorProviderTopics.BootstrapError: {
log.info("TorBootstrapRequest: observerd TorBootstrapError", obj);
- const error = new Error(obj.summary);
- Object.assign(error, obj);
- this.#stop(error);
+ this.#stop(obj);
break;
}
}
=====================================
toolkit/components/tor-launcher/TorProvider.sys.mjs
=====================================
@@ -6,7 +6,10 @@ import { clearTimeout, setTimeout } from "resource://gre/modules/Timer.sys.mjs";
import { TorLauncherUtil } from "resource://gre/modules/TorLauncherUtil.sys.mjs";
import { TorParsers } from "resource://gre/modules/TorParsers.sys.mjs";
-import { TorProviderTopics } from "resource://gre/modules/TorProviderBuilder.sys.mjs";
+import {
+ TorBootstrapError,
+ TorProviderTopics,
+} from "resource://gre/modules/TorProviderBuilder.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
@@ -996,12 +999,11 @@ export class TorProvider {
// anymore, since the first error eligible for notification will as a
// matter of fact cancel the bootstrap.
Services.obs.notifyObservers(
- {
+ new TorBootstrapError({
phase: statusObj.TAG,
reason: statusObj.REASON,
summary: statusObj.SUMMARY,
- warning: statusObj.WARNING,
- },
+ }),
TorProviderTopics.BootstrapError
);
}
=====================================
toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
=====================================
@@ -18,6 +18,41 @@ export const TorProviderTopics = Object.freeze({
CircuitCredentialsMatched: "TorCircuitCredentialsMatched",
});
+/**
+ * Wrapper error class for errors raised during TorProvider.init.
+ */
+export class TorProviderInitError extends Error {
+ /**
+ * Create a new instance.
+ *
+ * @param {any} error - The raised error that we want to wrap.
+ */
+ constructor(error) {
+ super(error?.message, { cause: error });
+ this.name = "TorProviderInitError";
+ }
+}
+
+/**
+ * Bootstrap errors raised by the TorProvider.
+ */
+export class TorBootstrapError extends Error {
+ /**
+ * Create a new instance.
+ *
+ * @param {object} details - Details about the error.
+ * @param {string} details.summary - A summary of the error.
+ * @param {string} details.phase - The bootstrap phase when the error occured.
+ * @param {string} details.reason - The reason for the bootsrap failure.
+ */
+ constructor(details) {
+ super(details.summary);
+ this.name = "TorBootstrapError";
+ this.phase = details.phase;
+ this.reason = details.reason;
+ }
+}
+
export const TorProviders = Object.freeze({
none: 0,
tor: 1,
@@ -178,7 +213,13 @@ export class TorProviderBuilder {
(await oldProvider)?.uninit();
} catch {}
const provider = new lazy.TorProvider();
- await provider.init();
+ try {
+ await provider.init();
+ } catch (error) {
+ // Wrap in an error type for callers to know whether the error comes from
+ // initialisation or something else.
+ throw new TorProviderInitError(error);
+ }
return provider;
}
=====================================
toolkit/modules/TorConnect.sys.mjs
=====================================
@@ -10,6 +10,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
MoatRPC: "resource://gre/modules/Moat.sys.mjs",
TorBootstrapRequest: "resource://gre/modules/TorBootstrapRequest.sys.mjs",
TorProviderTopics: "resource://gre/modules/TorProviderBuilder.sys.mjs",
+ TorBootstrapError: "resource://gre/modules/TorProviderBuilder.sys.mjs",
+ TorProviderInitError: "resource://gre/modules/TorProviderBuilder.sys.mjs",
TorLauncherUtil: "resource://gre/modules/TorLauncherUtil.sys.mjs",
TorSettings: "resource://gre/modules/TorSettings.sys.mjs",
TorSettingsTopics: "resource://gre/modules/TorSettings.sys.mjs",
@@ -223,9 +225,11 @@ class BootstrapAttempt {
_timeout: 0,
bootstrap() {
this._timeout = setTimeout(() => {
- const err = new Error("Censorship simulation");
- err.phase = "conn";
- err.reason = "noroute";
+ const err = new lazy.TorBootstrapError({
+ summary: "Censorship simulation",
+ phase: "conn",
+ reason: "noroute",
+ });
this.onbootstraperror(err);
}, options.simulateDelay || 0);
},
@@ -258,9 +262,7 @@ class BootstrapAttempt {
return;
}
- this.#resolveRun({
- error: new TorConnectError(TorConnectError.BootstrapError, error),
- });
+ this.#resolveRun({ error });
};
this.#bootstrap.bootstrap();
@@ -595,12 +597,9 @@ class AutoBootstrapAttempt {
// bootstrapAttempt.
result = await this.#bootstrapAttempt.run(progressCallback, options);
} catch (error) {
- // Only re-try with the next settings *if* we have a BootstrapError.
+ // Only re-try with the next settings *if* we have a TorBootstrapError.
// Other errors will end this auto-bootstrap attempt entirely.
- if (
- error instanceof TorConnectError &&
- error.code === TorConnectError.BootstrapError
- ) {
+ if (error instanceof lazy.TorBootstrapError) {
lazy.logger.info("TorConnect setting failed", bridges, error);
// Try with the next settings.
// NOTE: We do not restore the user settings in between these runs.
@@ -1200,7 +1199,9 @@ export const TorConnect = {
// Currently it simulates the old behaviour for about:torconnect.
lazy.logger.debug("Signalling error", error);
- if (!(error instanceof TorConnectError)) {
+ if (error instanceof lazy.TorBootstrapError) {
+ error = new TorConnectError(TorConnectError.BootstrapError, error);
+ } else if (!(error instanceof TorConnectError)) {
error = new TorConnectError(TorConnectError.ExternalError, error);
}
this._errorDetails = error;
@@ -1434,6 +1435,19 @@ export const TorConnect = {
lazy.logger.info("Bootstrap attempt error", error);
this._tryAgain = true;
+ if (error instanceof lazy.TorProviderInitError) {
+ // Treat like TorProviderTopics.ProcessExited. We expect a user
+ // notification when this happens.
+ // Treat a failure as a possibly broken configuration.
+ // So, prevent quickstart at the next start.
+ Services.prefs.setBoolPref(TorConnectPrefs.prompt_at_startup, true);
+ lazy.logger.info(
+ "Starting again since the tor provider failed to initialise"
+ );
+ this._setStage(TorConnectStage.Start);
+ return;
+ }
+
if (
(beginStage === TorConnectStage.Start ||
beginStage === TorConnectStage.Offline) &&
@@ -1462,10 +1476,7 @@ export const TorConnect = {
switch (beginStage) {
case TorConnectStage.Start:
case TorConnectStage.Offline:
- if (
- error instanceof TorConnectError &&
- error.code === TorConnectError.BootstrapError
- ) {
+ if (error instanceof lazy.TorBootstrapError) {
errorStage = TorConnectStage.ChooseRegion;
}
// Else, some other unexpected error type. Skip straight to the
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/469928…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/469928…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.11.0esr-14.5-1] 5 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 10 Jun '25
by ma1 (@ma1) 10 Jun '25
10 Jun '25
ma1 pushed to branch mullvad-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
84c77940 by Henry Wilkes at 2025-06-10T12:38:13+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
2fc667c6 by Henry Wilkes at 2025-06-10T12:38:16+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
c9771be6 by Henry Wilkes at 2025-06-10T12:38:19+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
9adaa2c2 by Henry Wilkes at 2025-06-10T12:38:22+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
c9bf0837 by Henry Wilkes at 2025-06-10T12:38:24+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
17 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -82,6 +82,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPCategorization: "resource:///modules/SearchSERPTelemetry.sys.mjs",
SearchSERPTelemetry: "resource:///modules/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShellService: "resource:///modules/ShellService.sys.mjs",
@@ -1938,6 +1940,8 @@ BrowserGlue.prototype = {
lazy.DoHController.init();
+ lazy.SecurityLevelRestartNotification.ready();
+
ClipboardPrivacy.startup();
this._firstWindowTelemetry(aWindow);
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -126,6 +126,7 @@ EXTRA_JS_MODULES += [
"PermissionUI.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SiteDataManager.sys.mjs",
"SitePermissions.sys.mjs",
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2345,6 +2345,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -199,14 +188,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -216,36 +199,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -254,6 +247,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -283,16 +278,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -321,24 +360,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -354,36 +375,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -437,8 +504,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -448,10 +516,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -462,6 +539,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -471,18 +556,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -128,10 +128,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -141,6 +137,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -148,6 +157,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -166,13 +185,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/c2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/c2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-128.11.0esr-14.5-1] 5 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 10 Jun '25
by ma1 (@ma1) 10 Jun '25
10 Jun '25
ma1 pushed to branch base-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
f0e5e82c by Henry Wilkes at 2025-06-10T12:36:21+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
c60e8848 by Henry Wilkes at 2025-06-10T12:36:29+02:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
0ac7500f by Henry Wilkes at 2025-06-10T12:36:32+02:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
7aa2426e by Henry Wilkes at 2025-06-10T12:36:49+02:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
8366be53 by Henry Wilkes at 2025-06-10T12:36:51+02:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
17 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -82,6 +82,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPCategorization: "resource:///modules/SearchSERPTelemetry.sys.mjs",
SearchSERPTelemetry: "resource:///modules/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShellService: "resource:///modules/ShellService.sys.mjs",
@@ -1954,6 +1956,8 @@ BrowserGlue.prototype = {
lazy.DoHController.init();
+ lazy.SecurityLevelRestartNotification.ready();
+
ClipboardPrivacy.startup();
this._firstWindowTelemetry(aWindow);
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -126,6 +126,7 @@ EXTRA_JS_MODULES += [
"PermissionUI.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SiteDataManager.sys.mjs",
"SitePermissions.sys.mjs",
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2345,6 +2345,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -187,14 +176,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -204,36 +187,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -242,6 +235,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -271,16 +266,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -309,24 +348,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -342,36 +363,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -425,8 +492,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -436,10 +504,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -450,6 +527,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -459,18 +544,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -128,10 +128,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -141,6 +137,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -148,6 +157,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -166,13 +185,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/4d4584…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/4d4584…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-1] fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 10 Jun '25
by Pier Angelo Vendrame (@pierov) 10 Jun '25
10 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
500300ab by hackademix at 2025-06-10T11:12:21+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
1 changed file:
- browser/app/profile/001-base-profile.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/500…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/500…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] fixup! Firefox preference overrides.
by Pier Angelo Vendrame (@pierov) 10 Jun '25
by Pier Angelo Vendrame (@pierov) 10 Jun '25
10 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
aec824b3 by hackademix at 2025-06-10T11:12:00+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
1 changed file:
- browser/app/profile/001-base-profile.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/aec824b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/aec824b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 3 commits: fixup! [android] Modify build system
by Pier Angelo Vendrame (@pierov) 10 Jun '25
by Pier Angelo Vendrame (@pierov) 10 Jun '25
10 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
cdecf99e by Dan Ballard at 2025-06-10T11:10:58+02:00
fixup! [android] Modify build system
Bug 43809: allow tba-fetch-deps to download from nightlies
- - - - -
4eec3120 by Dan Ballard at 2025-06-10T11:11:07+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 43809: allow tba-fetch-deps to download nightlies
- - - - -
469928c7 by hackademix at 2025-06-10T11:11:13+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
2 changed files:
- browser/app/profile/001-base-profile.js
- mobile/android/fenix/tools/tba-fetch-deps.sh
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
=====================================
mobile/android/fenix/tools/tba-fetch-deps.sh
=====================================
@@ -1,24 +1,55 @@
#!/bin/bash
+if [ $# -eq 0 ]; then
+ echo "Usage: ./tba-fetch-deps.sh --\$MODE"
+ echo " modes:"
+ echo " --nightly Downloads the needed assets from the nightlies build server. Use when local version matches nightly build server version."
+ echo " --tbb PATH Harvest most recently built assets from PATH assuming it points to a tor-browser-build dir. Use when local version does NOT match nightly build server version."
+ exit -1
+fi
+
+TBB_BUILD_06="https://tb-build-06.torproject.org/~tb-builder/tor-browser-build/out"
+
+if [[ $1 == "--tbb" && -z $2 ]]; then
+ echo "--tbb needs path to tor-browser-build dir"
+ exit -1
+fi
+TBB_PATH=$2
+
cd "$(dirname $(realpath "$0"))/.."
if [ -z "$TOR_BROWSER_BUILD" ]; then
TOR_BROWSER_BUILD=../../../../tor-browser-build
fi
-tor_expert_bundle_aar="$(ls -1td "$TOR_BROWSER_BUILD/out/tor-expert-bundle-aar/"tor-expert-bundle-aar-* | head -1)"
-if [ -z "tor_expert_bundle_aar" ]; then
+echo "Fetching tor-expert-bundle.aar..."
+
+if [[ $1 == "--tbb" ]]; then
+ tor_expert_bundle_aar="$(ls -1td "$TOR_BROWSER_BUILD/out/tor-expert-bundle-aar/"tor-expert-bundle-aar-* | head -1)"
+ cp "$tor_expert_bundle_aar"/* app/
+else
+ tor_expert_bundle_aar_dirname="$(curl -s $TBB_BUILD_06/tor-expert-bundle-aar/ | sed -nE 's/.*href=\"(tor-expert-bundle-aar-[0-9a-z\.\-]*).*/\1/p')"
+ curl -o app/tor-expert-bundle.aar $TBB_BUILD_06/tor-expert-bundle-aar/$tor_expert_bundle_aar_dirname/tor-expert-bundle.aar
+fi
+
+if [ -z app/tor_expert_bundle.aar ]; then
echo "Cannot find Tor Expert Bundle arr artifacts!"
exit 2
fi
+echo ""
-cp "$tor_expert_bundle_aar"/* app/
+echo "Fetching noscript..."
-noscript="$(find "$TOR_BROWSER_BUILD/out/browser" -name 'noscript*.xpi' -print | sort | tail -1)"
mkdir -p "app/src/main/assets/extensions"
-if [ -f "$noscript" ]; then
- cp "$noscript" "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
+
+if [[ $1 == "--tbb" ]]; then
+ noscript="$(find "$TOR_BROWSER_BUILD/out/browser" -name 'noscript*.xpi' -print | sort | tail -1)"
+ cp "$noscript" "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
+else
+ noscript_fname="$(curl -s $TBB_BUILD_06/browser/ | sed -nE 's/.*href=\"(noscript-[0-9a-z\.\-]*).*/\1/p')"
+ curl -o "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" $TBB_BUILD_06/browser/$noscript_fname
fi
+echo ""
if [ -z "$GRADLE_MAVEN_REPOSITORIES" ]; then
GRADLE_MAVEN_REPOSITORIES="$HOME/.m2/repository"
@@ -47,7 +78,18 @@ if [ "$os" = "unsupported" ] || [ "$arch" = "unsupported" ]; then
exit 2
fi
-app_services="$(ls -1t "$TOR_BROWSER_BUILD/out/application-services/"application-services*.tar.zst | head -1)"
+echo "Fetching application-services..."
+
+if [[ $1 == "--tbb" ]]; then
+ app_services="$(ls -1t "$TOR_BROWSER_BUILD/out/application-services/"application-services*.tar.zst | head -1)"
+ tar -C /tmp -xf "$app_services"
+else
+ app_services_fname="$(curl -s $TBB_BUILD_06/application-services/ | sed -nE 's/.*href=\"(application-services-[0-9a-z\.\-]*).*/\1/p')"
+ app_services=/tmp/$app_services_fname
+ curl -o $app_services $TBB_BUILD_06/application-services/$app_services_fname
+ tar -C /tmp -xf "$app_services"
+ rm "$app_services"
+fi
mkdir -p "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
if [ -f "$app_services" ]; then
tar -C /tmp -xf "$app_services"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/7ff9d2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/7ff9d2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Update rbm for rbm#40084
by boklm (@boklm) 09 Jun '25
by boklm (@boklm) 09 Jun '25
09 Jun '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
269e782c by Nicolas Vigier at 2025-06-09T19:02:07+02:00
Update rbm for rbm#40084
- - - - -
1 changed file:
- rbm
Changes:
=====================================
rbm
=====================================
@@ -1 +1 @@
-Subproject commit f04c4f217ad8dbd0caa87d45713a6de576cf0534
+Subproject commit 263693c984a467d971bb7b2c1cdeb6f1800eab2f
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/rbm][main] Bug 40084: Always use bash for the debug terminal
by boklm (@boklm) 09 Jun '25
by boklm (@boklm) 09 Jun '25
09 Jun '25
boklm pushed to branch main at The Tor Project / Applications / RBM
Commits:
263693c9 by Beatriz Rizental at 2025-06-09T15:16:11+02:00
Bug 40084: Always use bash for the debug terminal
- - - - -
1 changed file:
- lib/RBM.pm
Changes:
=====================================
lib/RBM.pm
=====================================
@@ -1291,9 +1291,10 @@ sub build_run {
if (project_config($project, 'debug', $options)) {
print STDERR $error, "\nOpening debug shell\n";
print STDERR "Warning: build files will be removed when you exit this shell.\n";
+ my $original_term = shell_quote($ENV{TERM} || 'dumb');
my $cmd = project_config($project, "remote_exec", {
%$options,
- exec_cmd => "cd $remote_tmp_src; PS1='debug-$project\$ ' \${SHELL-/bin/bash}",
+ exec_cmd => "cd $remote_tmp_src; TERM=$original_term PS1='debug-$project\$ ' /bin/bash",
exec_name => "debug-$s",
exec_as_root => $scripts_root{$s},
interactive => 1,
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/263693c984a467d…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/rbm/-/commit/263693c984a467d…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-140.0a1-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed new tag mullvad-browser-140.0a1-15.0-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-140.0a1-15.0-1] 32 commits: MB 38: Mullvad Browser configuration
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed to branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
Commits:
f2f8c7b0 by Pier Angelo Vendrame at 2025-06-09T14:34:33+02:00
MB 38: Mullvad Browser configuration
- - - - -
fe36d578 by Pier Angelo Vendrame at 2025-06-09T14:34:36+02:00
fixup! MB 38: Mullvad Browser configuration
TB 43653: Remove the unused spoofOsInUserAgentHeader pref.
- - - - -
81d8c579 by Pier Angelo Vendrame at 2025-06-09T14:34:36+02:00
MB 1: Mullvad Browser branding
See also:
mullvad-browser#5: Product name and directory customization
mullvad-browser#12: Create new branding directories and integrate Mullvad icons+branding
mullvad-browser#14: Remove Default Built-in bookmarks
mullvad-browser#35: Add custom PDF icons for Windows builds
mullvad-browser#48: Replace Mozilla copyright and legal trademarks in mullvadbrowser.exe metadata
mullvad-browser#51: Update trademark string
mullvad-browser#104: Update shipped dll metadata copyright/licensing info
mullvad-browser#107: Add alpha and nightly icons
- - - - -
dd91f446 by Henry Wilkes at 2025-06-09T14:34:37+02:00
fixup! MB 1: Mullvad Browser branding
MB 411: Set startup.homepage_override_url on mb-nightly to be used
instead of app.releaseNotesURL.aboutDialog.
- - - - -
00c95c6c by Henry Wilkes at 2025-06-09T14:34:37+02:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
64d807af by Pier Angelo Vendrame at 2025-06-09T14:34:37+02:00
MB 20: Allow packaged-addons in PBM.
We install a few addons from the distribution directory, but they are
not automatically enabled for PBM mode.
This commit modifies the code that installs them to also add the PBM
permission to the known ones.
- - - - -
4092c498 by Pier Angelo Vendrame at 2025-06-09T14:34:38+02:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
7a37de83 by Pier Angelo Vendrame at 2025-06-09T14:46:01+02:00
MB 37: Customization for the about dialog
- - - - -
27402bca by Henry Wilkes at 2025-06-09T14:46:04+02:00
MB 39: Add home page about:mullvad-browser
- - - - -
93cb2b3f by Henry Wilkes at 2025-06-09T14:46:04+02:00
fixup! MB 39: Add home page about:mullvad-browser
MB 411: Use the same update URL in about:mullvad-browser as the about
dialog.
- - - - -
67ea76c6 by hackademix at 2025-06-09T14:46:04+02:00
MB 97: Remove UI cues to install new extensions.
- - - - -
02795f60 by hackademix at 2025-06-09T14:46:05+02:00
MB 47: uBlock Origin customization
- - - - -
ffe7343a by Pier Angelo Vendrame at 2025-06-09T14:46:05+02:00
MB 21: Disable the password manager
This commit disables the about:login page and removes the "Login and
Password" section of about:preferences.
We do not do anything to the real password manager of Firefox, that is
in toolkit: it contains C++ parts that make it difficult to actually
prevent it from being built..
Finally, we modify the the function that opens about:login to report an
error in the console so that we can quickly get a backtrace to the code
that tries to use it.
- - - - -
4296e61b by Pier Angelo Vendrame at 2025-06-09T14:46:06+02:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
12d78c5e by Henry Wilkes at 2025-06-09T14:46:06+02:00
fixup! MB 112: Updater customization for Mullvad Browser
MB 411: Drop mullvadbrowser.post_update.url.
Also, no longer require an override page to be set to open
about:mullvad-browser after an update.
- - - - -
6044fcd4 by Nicolas Vigier at 2025-06-09T14:46:07+02:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
4d8a26d3 by Pier Angelo Vendrame at 2025-06-09T14:46:07+02:00
MB 34: Hide unsafe and unwanted preferences UI
about:preferences allow to override some of our defaults, that could
be fingeprintable or have some other unwanted consequences.
- - - - -
28633dd0 by Pier Angelo Vendrame at 2025-06-09T14:46:08+02:00
MB 160: Disable the cookie exceptions button
Besides disabling the "Delete on close checkbox", disable also the
"Manage Exceptions" button when always using PBM.
- - - - -
edce653e by hackademix at 2025-06-09T14:46:08+02:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
abc0b3cc by Richard Pospesel at 2025-06-09T14:46:08+02:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
1411471a by Morgan at 2025-06-09T14:46:09+02:00
fixup! MB 188: Customize Gitlab Issue and Merge templates
- - - - -
5d5ab465 by rui hildt at 2025-06-09T14:47:34+02:00
MB 213: Customize the search engines list
MB 328: Refactor the search engine patch.
Upstream switched to a completely different search engine configuration
between ESR 115 and ESR 128.
We moved our configuration to a couple of JSON files that do not follow
upstream's schemas, as they are overcomplicated for our needs.
Also, we keep the old search engine extensions for now, as upstream
also kept them, and planned of removing them with Bug 1885953.
- - - - -
7c27497e by hackademix at 2025-06-09T14:47:37+02:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
22abb47b by Pier Angelo Vendrame at 2025-06-09T14:47:38+02:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
e60746ec by Pier Angelo Vendrame at 2025-06-09T14:47:38+02:00
MB 320: Temporarily disable WebRTC and WDBA on Windows.
WebRTC should be re-enabled when tor-browser#42758 is resolved, and and
the default browser agent when in general we make this feature work
again.
- - - - -
db7dd12a by Henry Wilkes at 2025-06-09T14:47:38+02:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
182438d7 by Henry Wilkes at 2025-06-09T14:47:39+02:00
Add CI for Mullvad Browser
- - - - -
44371309 by Henry Wilkes at 2025-06-09T14:47:39+02:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
71158a0f by Pier Angelo Vendrame at 2025-06-09T14:47:40+02:00
fixup! MB 1: Mullvad Browser branding
TB 43776: Mark branding files for l10n merge.
- - - - -
c3f5e9a6 by Pier Angelo Vendrame at 2025-06-09T14:47:40+02:00
fixup! MB 80: Enable Mullvad Browser as a default browser
Comment a definition since mingw now defines it as well.
- - - - -
878c58b5 by Pier Angelo Vendrame at 2025-06-09T14:47:40+02:00
fixup! MB 39: Add home page about:mullvad-browser
Drop the unnecessary font CSP directive.
Debug builds complain about this, and they crash with a failed
assertion.
- - - - -
3ebd9dbf by Pier Angelo Vendrame at 2025-06-09T15:31:41+02:00
fixup! Base Browser strings
BB 43849: Remove a useless lint exclusion.
Probably it was a rebase error.
- - - - -
271 changed files:
- .gitlab/ci/jobs/update-translations.yml
- .gitlab/issue_templates/000 Bug Report.md
- .gitlab/issue_templates/010 Proposal.md
- .gitlab/issue_templates/020 Web Compatibility.md
- .gitlab/issue_templates/030 Test.md
- .gitlab/issue_templates/040 Feature.md
- .gitlab/issue_templates/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/063 Rebase - Rapid.md
- .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Rapid.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- .gitlab/merge_request_templates/Default.md
- + .gitlab/merge_request_templates/Rebase.md
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/module.ver
- browser/app/firefox.exe.manifest → browser/app/mullvadbrowser.exe.manifest
- + browser/app/profile/000-mullvad-browser.js
- browser/app/profile/001-base-profile.js
- browser/base/content/aboutDialog.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser.js
- browser/base/content/default-bookmarks.html
- browser/base/content/nsContextMenu.sys.mjs
- browser/base/content/overrides/app-license.html
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/utilityOverlay.js
- browser/branding/branding-common.mozbuild
- + browser/branding/mb-alpha/VisualElements_150.png
- + browser/branding/mb-alpha/VisualElements_70.png
- + browser/branding/mb-alpha/configure.sh
- + browser/branding/mb-alpha/content/about-logo.png
- + browser/branding/mb-alpha/content/about-logo.svg
- + browser/branding/mb-alpha/content/about-logo(a)2x.png
- + browser/branding/mb-alpha/content/about-wordmark.svg
- + browser/branding/mb-alpha/content/about.png
- + browser/branding/mb-alpha/content/aboutDialog.css
- + browser/branding/mb-alpha/content/firefox-wordmark.svg
- + browser/branding/mb-alpha/content/icon128.png
- + browser/branding/mb-alpha/content/icon16.png
- + browser/branding/mb-alpha/content/icon256.png
- + browser/branding/mb-alpha/content/icon32.png
- + browser/branding/mb-alpha/content/icon48.png
- + browser/branding/mb-alpha/content/icon64.png
- + browser/branding/mb-alpha/content/jar.mn
- + browser/branding/mb-alpha/content/moz.build
- + browser/branding/mb-alpha/content/mullvad-branding.css
- + browser/branding/mb-alpha/default128.png
- + browser/branding/mb-alpha/default16.png
- + browser/branding/mb-alpha/default22.png
- + browser/branding/mb-alpha/default24.png
- + browser/branding/mb-alpha/default256.png
- + browser/branding/mb-alpha/default32.png
- + browser/branding/mb-alpha/default48.png
- + browser/branding/mb-alpha/default64.png
- + browser/branding/mb-alpha/document.icns
- + browser/branding/mb-alpha/document.ico
- + browser/branding/mb-alpha/document_pdf.ico
- + browser/branding/mb-alpha/firefox.icns
- + browser/branding/mb-alpha/firefox.ico
- + browser/branding/mb-alpha/firefox.svg
- + browser/branding/mb-alpha/locales/en-US/brand.ftl
- + browser/branding/mb-alpha/locales/en-US/brand.properties
- + browser/branding/mb-alpha/locales/jar.mn
- + browser/branding/mb-alpha/locales/moz.build
- + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-alpha/moz.build
- + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-alpha/newtab.ico
- + browser/branding/mb-alpha/newwindow.ico
- + browser/branding/mb-alpha/pbmode.ico
- + browser/branding/mb-alpha/pref/firefox-branding.js
- + browser/branding/mb-nightly/VisualElements_150.png
- + browser/branding/mb-nightly/VisualElements_70.png
- + browser/branding/mb-nightly/configure.sh
- + browser/branding/mb-nightly/content/about-logo.png
- + browser/branding/mb-nightly/content/about-logo.svg
- + browser/branding/mb-nightly/content/about-logo(a)2x.png
- + browser/branding/mb-nightly/content/about-wordmark.svg
- + browser/branding/mb-nightly/content/about.png
- + browser/branding/mb-nightly/content/aboutDialog.css
- + browser/branding/mb-nightly/content/firefox-wordmark.svg
- + browser/branding/mb-nightly/content/icon128.png
- + browser/branding/mb-nightly/content/icon16.png
- + browser/branding/mb-nightly/content/icon256.png
- + browser/branding/mb-nightly/content/icon32.png
- + browser/branding/mb-nightly/content/icon48.png
- + browser/branding/mb-nightly/content/icon64.png
- + browser/branding/mb-nightly/content/jar.mn
- + browser/branding/mb-nightly/content/moz.build
- + browser/branding/mb-nightly/content/mullvad-branding.css
- + browser/branding/mb-nightly/default128.png
- + browser/branding/mb-nightly/default16.png
- + browser/branding/mb-nightly/default22.png
- + browser/branding/mb-nightly/default24.png
- + browser/branding/mb-nightly/default256.png
- + browser/branding/mb-nightly/default32.png
- + browser/branding/mb-nightly/default48.png
- + browser/branding/mb-nightly/default64.png
- + browser/branding/mb-nightly/document.icns
- + browser/branding/mb-nightly/document.ico
- + browser/branding/mb-nightly/document_pdf.ico
- + browser/branding/mb-nightly/firefox.icns
- + browser/branding/mb-nightly/firefox.ico
- + browser/branding/mb-nightly/firefox.svg
- + browser/branding/mb-nightly/locales/en-US/brand.ftl
- + browser/branding/mb-nightly/locales/en-US/brand.properties
- + browser/branding/mb-nightly/locales/jar.mn
- + browser/branding/mb-nightly/locales/moz.build
- + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-nightly/moz.build
- + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-nightly/newtab.ico
- + browser/branding/mb-nightly/newwindow.ico
- + browser/branding/mb-nightly/pbmode.ico
- + browser/branding/mb-nightly/pref/firefox-branding.js
- + browser/branding/mb-release/VisualElements_150.png
- + browser/branding/mb-release/VisualElements_70.png
- + browser/branding/mb-release/configure.sh
- + browser/branding/mb-release/content/about-logo.png
- + browser/branding/mb-release/content/about-logo.svg
- + browser/branding/mb-release/content/about-logo(a)2x.png
- + browser/branding/mb-release/content/about-wordmark.svg
- + browser/branding/mb-release/content/about.png
- + browser/branding/mb-release/content/aboutDialog.css
- + browser/branding/mb-release/content/firefox-wordmark.svg
- + browser/branding/mb-release/content/icon128.png
- + browser/branding/mb-release/content/icon16.png
- + browser/branding/mb-release/content/icon256.png
- + browser/branding/mb-release/content/icon32.png
- + browser/branding/mb-release/content/icon48.png
- + browser/branding/mb-release/content/icon64.png
- + browser/branding/mb-release/content/jar.mn
- + browser/branding/mb-release/content/moz.build
- + browser/branding/mb-release/content/mullvad-branding.css
- + browser/branding/mb-release/default128.png
- + browser/branding/mb-release/default16.png
- + browser/branding/mb-release/default22.png
- + browser/branding/mb-release/default24.png
- + browser/branding/mb-release/default256.png
- + browser/branding/mb-release/default32.png
- + browser/branding/mb-release/default48.png
- + browser/branding/mb-release/default64.png
- + browser/branding/mb-release/document.icns
- + browser/branding/mb-release/document.ico
- + browser/branding/mb-release/document_pdf.ico
- + browser/branding/mb-release/firefox.icns
- + browser/branding/mb-release/firefox.ico
- + browser/branding/mb-release/firefox.svg
- + browser/branding/mb-release/locales/en-US/brand.ftl
- + browser/branding/mb-release/locales/en-US/brand.properties
- + browser/branding/mb-release/locales/jar.mn
- + browser/branding/mb-release/locales/moz.build
- + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-release/moz.build
- + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-release/newtab.ico
- + browser/branding/mb-release/newwindow.ico
- + browser/branding/mb-release/pbmode.ico
- + browser/branding/mb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/moz.build
- + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs
- + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs
- + browser/components/mullvad-browser/content/2728-sparkles.svg
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.css
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.html
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.js
- + browser/components/mullvad-browser/jar.mn
- + browser/components/mullvad-browser/moz.build
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/search.inc.xhtml
- + browser/components/search/extensions/brave/favicon.svg
- + browser/components/search/extensions/brave/manifest.json
- + browser/components/search/extensions/ddg-html/favicon.ico
- + browser/components/search/extensions/ddg-html/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/metager/favicon.ico
- + browser/components/search/extensions/metager/manifest.json
- + browser/components/search/extensions/mojeek/favicon.ico
- + browser/components/search/extensions/mojeek/manifest.json
- + browser/components/search/extensions/mullvad-leta/favicon.svg
- + browser/components/search/extensions/mullvad-leta/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/updater_append.ini
- browser/locales/l10n.toml
- browser/modules/HomePage.sys.mjs
- browser/moz.build
- browser/moz.configure
- config/create_rc.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/aboutdebugging/src/components/sidebar/Sidebar.js
- devtools/client/jar.mn
- devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
- devtools/client/themes/images/aboutdebugging-firefox-beta.svg
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
- devtools/client/themes/images/aboutdebugging-firefox-release.svg
- + devtools/client/themes/images/aboutdebugging-mullvadbrowser-logo.svg
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- moz.configure
- mozconfig-linux-aarch64
- mozconfig-linux-aarch64-dev
- mozconfig-linux-x86_64
- mozconfig-linux-x86_64-asan
- mozconfig-linux-x86_64-dev
- mozconfig-macos
- mozconfig-macos-dev
- mozconfig-windows-x86_64
- + other-licenses/nsis/Contrib/ApplicationID/Makefile
- other-licenses/nsis/Contrib/ApplicationID/Set.cpp
- + other-licenses/nsis/Contrib/CityHash/Makefile
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/metager.ico
- + toolkit/components/search/content/mojeek.ico
- + toolkit/components/search/content/mullvad-leta.svg
- + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
- + toolkit/components/search/content/mullvadBrowserSearchEngines.json
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/content/aboutRightsMullvad.xhtml
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.css
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- + toolkit/themes/shared/icons/mullvadbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/xre/nsAppRunner.cpp
- tools/lint/fluent-lint/exclusions.yml
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/fe…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/fe…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-140.0a1-15.0-1] fixup! Base Browser strings
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed to branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
31278d7b by Pier Angelo Vendrame at 2025-06-09T15:33:02+02:00
fixup! Base Browser strings
BB 43849: Remove a useless lint exclusion.
Probably it was a rebase error.
- - - - -
1 changed file:
- tools/lint/fluent-lint/exclusions.yml
Changes:
=====================================
tools/lint/fluent-lint/exclusions.yml
=====================================
@@ -84,9 +84,6 @@ ID01:
- unknownProtocolFound-title
- unknownSocketType-title
- unsafeContentType-title
-
- # toolkit/locales/en-US/toolkit/global/base-browser.ftl
- - basebrowser-about-dialog-version
files:
# policies-descriptions.ftl
# These IDs are generated programmatically from policy names.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/31278d7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/31278d7…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] fixup! Base Browser strings
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
7ff9d211 by Pier Angelo Vendrame at 2025-06-09T15:10:39+02:00
fixup! Base Browser strings
BB 43849: Remove a useless lint exclusion.
Probably it was a rebase error.
- - - - -
1 changed file:
- tools/lint/fluent-lint/exclusions.yml
Changes:
=====================================
tools/lint/fluent-lint/exclusions.yml
=====================================
@@ -84,9 +84,6 @@ ID01:
- unknownProtocolFound-title
- unknownSocketType-title
- unsafeContentType-title
-
- # toolkit/locales/en-US/toolkit/global/base-browser.ftl
- - basebrowser-about-dialog-version
files:
# policies-descriptions.ftl
# These IDs are generated programmatically from policy names.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7ff9d21…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/7ff9d21…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-140.0a1-15.0-1
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed new branch mullvad-browser-140.0a1-15.0-1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag FIREFOX_NIGHTLY_140_END
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed new tag FIREFOX_NIGHTLY_140_END at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/FIREF…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-140.0a1-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 09 Jun '25
by Pier Angelo Vendrame (@pierov) 09 Jun '25
09 Jun '25
Pier Angelo Vendrame pushed new tag base-browser-140.0a1-15.0-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Temporarily disable artifact generation for macos and windows
by boklm (@boklm) 09 Jun '25
by boklm (@boklm) 09 Jun '25
09 Jun '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
95699a34 by Nicolas Vigier at 2025-06-06T09:01:42+02:00
Bug 41444: Temporarily disable artifact generation for macos and windows
- - - - -
2 changed files:
- projects/browser/build
- projects/firefox/build
Changes:
=====================================
projects/browser/build
=====================================
@@ -429,7 +429,7 @@ cd $distdir
popd
[% END %]
-[% IF c("var/nightly") -%]
+[% IF c("var/nightly") && c("var/linux") -%]
mkdir -p "$OUTDIR"/artifacts
cp -r $rootdir/[% c('input_files_by_name/firefox') %]/artifacts "$OUTDIR"
[% END %]
=====================================
projects/firefox/build
=====================================
@@ -128,7 +128,7 @@ echo "Starting ./mach build $(date)"
./mach build stage-package
[% END -%]
-[% IF c("var/nightly") -%]
+[% IF c("var/nightly") && c("var/linux") -%]
echo "Building development artifacts"
./mach package
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] 3 commits: fixup! TB 40026 [android]: Implement Security Level settings on Android.
by Dan Ballard (@dan) 05 Jun '25
by Dan Ballard (@dan) 05 Jun '25
05 Jun '25
Dan Ballard pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
1f3d54f3 by clairehurst at 2025-06-04T12:43:41+02:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
4c264ede by clairehurst at 2025-06-04T12:43:41+02:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
80613d52 by clairehurst at 2025-06-04T12:43:42+02:00
fixup! [android] TBA strings
TB 43786: Add new UX flow for changing security level (Android)
- - - - -
18 changed files:
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorSecurityLevelFragment.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/SecurityLevel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- − mobile/android/fenix/app/src/main/res/xml/tor_security_level_preferences.xml
Changes:
=====================================
mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
=====================================
@@ -1335,9 +1335,7 @@ class GeckoEngine(
override var torSecurityLevel: Int
get() = runtime.settings.torSecurityLevel
set(value) {
- value.let {
- runtime.settings.torSecurityLevel = it
- }
+ runtime.settings.torSecurityLevel = value
}
override var spoofEnglish: Boolean
=====================================
mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
=====================================
@@ -254,6 +254,12 @@ abstract class Settings {
/**
* Setting to control the current security level
+ *
+ * 4 -> STANDARD
+ *
+ * 2 -> SAFER
+ *
+ * 1 -> SAFEST
*/
open var torSecurityLevel: Int by UnsupportedSetting()
=====================================
mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
=====================================
@@ -76,12 +76,7 @@ class SearchUseCases(
flags: EngineSession.LoadUrlFlags = EngineSession.LoadUrlFlags.none(),
additionalHeaders: Map<String, String>? = null,
) {
- var securityLevel: Int
- try {
- securityLevel = settings?.torSecurityLevel ?: 0
- } catch (e: UnsupportedSettingException) {
- securityLevel = 0
- }
+ val securityLevel : Int = settings!!.torSecurityLevel
val searchUrl = searchEngine?.let {
searchEngine.buildSearchUrl(searchTerms, securityLevel)
} ?: store.state.search.selectedOrDefaultSearchEngine?.buildSearchUrl(searchTerms, securityLevel)
@@ -172,12 +167,7 @@ class SearchUseCases(
flags: EngineSession.LoadUrlFlags = EngineSession.LoadUrlFlags.none(),
additionalHeaders: Map<String, String>? = null,
) {
- var securityLevel: Int
- try {
- securityLevel = settings?.torSecurityLevel ?: 0
- } catch (e: UnsupportedSettingException) {
- securityLevel = 0
- }
+ val securityLevel : Int = settings!!.torSecurityLevel
val searchUrl = searchEngine?.let {
searchEngine.buildSearchUrl(searchTerms, securityLevel)
} ?: store.state.search.selectedOrDefaultSearchEngine?.buildSearchUrl(searchTerms, securityLevel)
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
=====================================
@@ -1439,6 +1439,15 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorAn
private const val PWA_RECENTLY_USED_THRESHOLD = DateUtils.DAY_IN_MILLIS * 30L
}
+ fun restartApplication() {
+ startActivity(
+ Intent(applicationContext, HomeActivity::class.java).addFlags(
+ Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK,
+ ),
+ )
+ shutDown()
+ }
+
fun shutDown() : Nothing {
finishAndRemoveTask()
exitProcess(0)
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
=====================================
@@ -157,7 +157,7 @@ class Core(
cookieBannerHandlingGlobalRules = context.settings().shouldEnableCookieBannerGlobalRules,
cookieBannerHandlingGlobalRulesSubFrames = context.settings().shouldEnableCookieBannerGlobalRulesSubFrame,
emailTrackerBlockingPrivateBrowsing = false,
- torSecurityLevel = context.settings().torSecurityLevel().intRepresentation,
+ torSecurityLevel = context.settings().torSecurityLevel,
spoofEnglish = context.settings().spoofEnglish,
)
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
=====================================
@@ -13,6 +13,7 @@ import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
+import android.util.Log
import android.view.LayoutInflater
import android.view.WindowManager
import android.widget.Toast
@@ -67,7 +68,7 @@ import org.mozilla.fenix.ext.showToolbar
import org.mozilla.fenix.nimbus.FxNimbus
import org.mozilla.fenix.perf.ProfilerViewModel
import org.mozilla.fenix.settings.account.AccountUiView
-import org.mozilla.fenix.tor.SecurityLevel
+import org.mozilla.fenix.tor.TorSecurityLevel
import org.mozilla.fenix.tor.QuickstartViewModel
import org.mozilla.fenix.utils.Settings
import kotlin.system.exitProcess
@@ -353,7 +354,7 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
SettingsFragmentDirections.actionSettingsFragmentToPrivateBrowsingFragment()
}
- resources.getString(R.string.pref_key_tor_security_level_settings) -> {
+ resources.getString(R.string.pref_key_tor_security_level) -> {
SettingsFragmentDirections.actionSettingsFragmentToTorSecurityLevelFragment()
}
@@ -852,14 +853,14 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
@VisibleForTesting
internal fun setupSecurityLevelPreference() {
val securityLevelPreference =
- requirePreference<Preference>(R.string.pref_key_tor_security_level_settings)
- securityLevelPreference.summary = context?.settings()?.torSecurityLevel()?.let {
- when (it) {
- SecurityLevel.STANDARD -> getString(R.string.tor_security_level_standard_option)
- SecurityLevel.SAFER -> getString(R.string.tor_security_level_safer_option)
- SecurityLevel.SAFEST -> getString(R.string.tor_security_level_safest_option)
+ requirePreference<Preference>(R.string.pref_key_tor_security_level)
+ securityLevelPreference.summary =
+ when (requireContext().settings().torSecurityLevel) {
+ TorSecurityLevel.STANDARD.level -> getString(R.string.tor_security_level_standard)
+ TorSecurityLevel.SAFER.level -> getString(R.string.tor_security_level_safer)
+ TorSecurityLevel.SAFEST.level -> getString(R.string.tor_security_level_safest)
+ else -> throw Exception("Unexpected TorSecurityLevel of ${requireContext().settings().torSecurityLevel}")
}
- }
}
@VisibleForTesting
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorSecurityLevelFragment.kt deleted
=====================================
@@ -1,81 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.fenix.settings
-
-import android.os.Bundle
-import androidx.preference.PreferenceFragmentCompat
-import org.mozilla.fenix.R
-import org.mozilla.fenix.ext.components
-import org.mozilla.fenix.ext.settings
-import org.mozilla.fenix.ext.showToolbar
-import org.mozilla.fenix.tor.SecurityLevel
-import org.mozilla.fenix.tor.SecurityLevelUtil
-import org.mozilla.fenix.utils.view.GroupableRadioButton
-import org.mozilla.fenix.utils.view.addToRadioGroup
-import org.mozilla.fenix.utils.view.uncheckAll
-
-/**
- * Lets the user choose their security level
- */
-@Suppress("SpreadOperator")
-class TorSecurityLevelFragment : PreferenceFragmentCompat() {
- private val securityLevelRadioGroups = mutableListOf<GroupableRadioButton>()
- private var previousSecurityLevel: SecurityLevel? = null
-
- override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
- setPreferencesFromResource(R.xml.tor_security_level_preferences, rootKey)
-
- val currentLevel: SecurityLevel? = context?.components?.let {
- try {
- SecurityLevelUtil.getSecurityLevelFromInt(
- it.core.engine.settings.torSecurityLevel
- )
- } catch (e: IllegalStateException) {
- // The default state is 0. If we get an invalid state then
- // default to Standard (4).
- SecurityLevel.STANDARD
- }
- }
-
- if (currentLevel == null) {
- throw IllegalStateException("context or Components is null.")
- }
-
- val radioSafer = bindSecurityLevelRadio(SecurityLevel.SAFER)
- val radioSafest = bindSecurityLevelRadio(SecurityLevel.SAFEST)
- val radioStandard = bindSecurityLevelRadio(SecurityLevel.STANDARD)
-
- securityLevelRadioGroups.addAll(mutableListOf(radioSafer, radioSafest, radioStandard))
- // `*` is Kotlin's "spread" operator, for expanding an Array as a vararg.
- addToRadioGroup(*securityLevelRadioGroups.toTypedArray())
-
- securityLevelRadioGroups.uncheckAll()
- val securityLevelRadioButton = requirePreference<RadioButtonPreference>(currentLevel.preferenceKey)
- // Cache this for later comparison in the OnPreferenceChangeListener
- previousSecurityLevel = currentLevel
- securityLevelRadioButton.setCheckedWithoutClickListener(true)
- }
-
- private fun bindSecurityLevelRadio(
- level: SecurityLevel
- ): RadioButtonPreference {
- val radio = requirePreference<RadioButtonPreference>(level.preferenceKey)
-
- radio.summary = getString(level.contentDescriptionRes)
-
- radio.apply {
- setOnPreferenceChangeListener<Boolean> { preference, isChecked ->
- if (isChecked && (previousSecurityLevel!! != level)) {
- preference.context.components.core.engine.settings.torSecurityLevel =
- level.intRepresentation
- previousSecurityLevel = level
- }
- true
- }
- }
-
- return radio
- }
-}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/SecurityLevel.kt deleted
=====================================
@@ -1,53 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-package org.mozilla.fenix.tor
-
-import android.os.Parcelable
-import androidx.annotation.StringRes
-import kotlinx.parcelize.Parcelize
-import org.mozilla.fenix.R
-
-
-const val SECURITY_LEVEL_STANDARD = 4
-const val SECURITY_LEVEL_SAFER = 2
-const val SECURITY_LEVEL_SAFEST = 1
-
-@Parcelize
-enum class SecurityLevel(
- @StringRes val preferenceKey: Int,
- @StringRes val contentDescriptionRes: Int,
- val intRepresentation: Int
-) : Parcelable {
-
- STANDARD(
- preferenceKey = R.string.pref_key_tor_security_level_standard_option,
- contentDescriptionRes = R.string.tor_security_level_standard_description,
- intRepresentation = SECURITY_LEVEL_STANDARD
- ),
- SAFER(
- preferenceKey = R.string.pref_key_tor_security_level_safer_option,
- contentDescriptionRes = R.string.tor_security_level_safer_description,
- intRepresentation = SECURITY_LEVEL_SAFER
- ),
- SAFEST(
- preferenceKey = R.string.pref_key_tor_security_level_safest_option,
- contentDescriptionRes = R.string.tor_security_level_safest_description,
- intRepresentation = SECURITY_LEVEL_SAFEST
- );
-
-
-
-}
-
-object SecurityLevelUtil {
- fun getSecurityLevelFromInt(level: Int): SecurityLevel {
- return when (level) {
- SECURITY_LEVEL_STANDARD -> SecurityLevel.STANDARD
- SECURITY_LEVEL_SAFER -> SecurityLevel.SAFER
- SECURITY_LEVEL_SAFEST -> SecurityLevel.SAFEST
- else -> throw IllegalStateException("Security Level $level is not valid")
- }
- }
-}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
=====================================
@@ -343,7 +343,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
if (screen.torBootstrapButton2ShouldOpenSettings) {
openTorConnectionSettings()
} else if (screen.torBootstrapButton2ShouldRestartApp) {
- restartApplication()
+ (requireActivity() as HomeActivity).restartApplication()
} else {
torConnectionAssistViewModel.cancelTorBootstrap()
}
@@ -404,15 +404,6 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler {
openSettings(requireContext().getString(R.string.pref_key_connection))
}
- private fun restartApplication() {
- startActivity(
- Intent(requireContext(), HomeActivity::class.java).addFlags(
- Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK,
- ),
- )
- Runtime.getRuntime().exit(0)
- }
-
override fun onBackPressed(): Boolean {
torConnectionAssistViewModel.handleBackButtonPressed(requireActivity() as HomeActivity)
return true
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevel.kt
=====================================
@@ -0,0 +1,13 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.fenix.tor
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+enum class TorSecurityLevel(val level: Int) : Parcelable {
+ STANDARD(4), SAFER(2), SAFEST(1)
+}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorSecurityLevelFragment.kt
=====================================
@@ -0,0 +1,144 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.fenix.tor
+
+import android.content.Context
+import android.os.Bundle
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.Toast
+import androidx.appcompat.content.res.AppCompatResources
+import androidx.fragment.app.Fragment
+import org.mozilla.fenix.HomeActivity
+import org.mozilla.fenix.R
+import org.mozilla.fenix.ext.components
+import org.mozilla.fenix.databinding.FragmentTorSecurityLevelPreferencesBinding
+import androidx.core.content.edit
+
+class TorSecurityLevelFragment : Fragment() {
+ private var _binding: FragmentTorSecurityLevelPreferencesBinding? = null
+ private val binding get() = _binding!!
+
+ private val tag = "TorSecurityLevelFrag"
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?,
+ ): View {
+ _binding = FragmentTorSecurityLevelPreferencesBinding.inflate(
+ inflater, container, false,
+ )
+
+ return binding.root
+ }
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ binding.description.text = getString(R.string.tor_security_level_warning, getString(R.string.app_name))
+
+ updateSaveAndRestartButtonUI()
+
+ val currentLevel: Int = requireContext().components.core.engine.settings.torSecurityLevel
+
+ when (currentLevel) {
+ TorSecurityLevel.STANDARD.level -> {
+ binding.standardPreference.text =
+ getString(R.string.tor_security_level_standard_current_level)
+ binding.securityLevelRadioGroup.check(binding.standardPreference.id)
+ }
+
+ TorSecurityLevel.SAFER.level -> {
+ binding.saferPreference.text =
+ getString(R.string.tor_security_level_safer_current_level)
+ binding.securityLevelRadioGroup.check(binding.saferPreference.id)
+ }
+
+ TorSecurityLevel.SAFEST.level -> {
+ binding.safestPreference.text =
+ getString(R.string.tor_security_level_safest_current_level)
+ binding.securityLevelRadioGroup.check(binding.safestPreference.id)
+ }
+ }
+
+ binding.securityLevelRadioGroup.setOnCheckedChangeListener { _, checkedId ->
+ binding.saveAndRestartButton.isEnabled = when (checkedId) {
+ binding.standardPreference.id -> currentLevel != TorSecurityLevel.STANDARD.level
+ binding.saferPreference.id -> currentLevel != TorSecurityLevel.SAFER.level
+ binding.safestPreference.id -> currentLevel != TorSecurityLevel.SAFEST.level
+ else -> throw Exception("unexpected checkedID of $checkedId")
+ }
+
+ updateSaveAndRestartButtonUI()
+ }
+
+ binding.saveAndRestartButton.setOnClickListener {
+
+ Toast.makeText(
+ requireContext(),
+ R.string.tor_security_level_restarting,
+ Toast.LENGTH_SHORT,
+ ).show()
+
+ val selectedSecurityLevel: Int =
+ when (binding.securityLevelRadioGroup.checkedRadioButtonId) {
+ binding.standardPreference.id -> TorSecurityLevel.STANDARD.level
+ binding.saferPreference.id -> TorSecurityLevel.SAFER.level
+ binding.safestPreference.id -> TorSecurityLevel.SAFEST.level
+ else -> throw Exception("Unexpected checkedRadioButtonId of ${binding.securityLevelRadioGroup.checkedRadioButtonId}")
+ }
+
+ requireContext().components.core.geckoRuntime.settings.torSecurityLevel = selectedSecurityLevel
+
+ requireActivity().getSharedPreferences("fenix_preferences", Context.MODE_PRIVATE).edit(
+ commit = true,
+ ) {
+ putInt(
+ requireContext().getString(R.string.pref_key_tor_security_level),
+ selectedSecurityLevel,
+ )
+ }
+
+ Thread.sleep(1000)
+
+ (requireActivity() as HomeActivity).restartApplication()
+ }
+
+ binding.cancelButton.setOnClickListener {
+ requireActivity().onBackPressed()
+ }
+ }
+
+ private fun updateSaveAndRestartButtonUI() {
+ binding.saveAndRestartButton.apply {
+ if (binding.saveAndRestartButton.isEnabled) {
+ backgroundTintList = AppCompatResources.getColorStateList(
+ requireContext(),
+ R.color.connect_button_purple,
+ )
+ setTextColor(
+ AppCompatResources.getColorStateList(
+ requireContext(),
+ R.color.photonLightGrey05,
+ ),
+ )
+ } else {
+ backgroundTintList = AppCompatResources.getColorStateList(
+ requireContext(),
+ R.color.disabled_connect_button_purple,
+ )
+ setTextColor(
+ AppCompatResources.getColorStateList(
+ requireContext(),
+ R.color.disabled_text_gray_purple,
+ ),
+ )
+ }
+ }
+ }
+}
=====================================
mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
=====================================
@@ -52,7 +52,8 @@ import org.mozilla.fenix.settings.registerOnSharedPreferenceChangeListener
import org.mozilla.fenix.settings.sitepermissions.AUTOPLAY_BLOCK_ALL
import org.mozilla.fenix.settings.sitepermissions.AUTOPLAY_BLOCK_AUDIBLE
import org.mozilla.fenix.wallpapers.Wallpaper
-import org.mozilla.fenix.tor.SecurityLevel
+import org.mozilla.fenix.settings.SettingsFragment
+import org.mozilla.fenix.tor.TorSecurityLevel
import java.security.InvalidParameterException
import java.util.UUID
@@ -299,31 +300,55 @@ class Settings(private val appContext: Context) : PreferencesHolder {
false,
)
- var standardSecurityLevel by booleanPreference(
- appContext.getPreferenceKey(SecurityLevel.STANDARD.preferenceKey),
- default = true
+ private var oldStandardSecurityLevel by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_tor_security_level_standard_option),
+ default = false
)
- var saferSecurityLevel by booleanPreference(
- appContext.getPreferenceKey(SecurityLevel.SAFER.preferenceKey),
+ private var oldSaferSecurityLevel by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_tor_security_level_safer_option),
default = false
)
- var safestSecurityLevel by booleanPreference(
- appContext.getPreferenceKey(SecurityLevel.SAFEST.preferenceKey),
+ private var oldSafestSecurityLevel by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_tor_security_level_safest_option),
default = false
)
- // torSecurityLevel is defined as the first |true| preference,
- // beginning at the safest level.
- // If multiple preferences are true, then that is a bug and the
- // highest |true| security level is chosen.
- // Standard is the default level.
- fun torSecurityLevel(): SecurityLevel = when {
- safestSecurityLevel -> SecurityLevel.SAFEST
- saferSecurityLevel -> SecurityLevel.SAFER
- standardSecurityLevel -> SecurityLevel.STANDARD
- else -> SecurityLevel.STANDARD
+ /**
+ * Backing property that should used only for the [SettingsFragment] UI
+ *
+ * 4 -> STANDARD
+ *
+ * 2 -> SAFER
+ *
+ * 1 -> SAFEST
+ */
+ var torSecurityLevel by intPreference(
+ appContext.getPreferenceKey(R.string.pref_key_tor_security_level),
+ migrateTorSecurityLevel() ?: 4,
+ )
+
+ /**
+ * Remove in 15.0 release.
+ */
+ private fun migrateTorSecurityLevel(): Int? {
+ return when {
+ oldSafestSecurityLevel -> {
+ TorSecurityLevel.SAFEST.level
+ }
+ oldSaferSecurityLevel -> {
+ TorSecurityLevel.SAFER.level
+ }
+ oldStandardSecurityLevel -> {
+ TorSecurityLevel.STANDARD.level
+ }
+ else -> null
+ }.also {
+ oldSafestSecurityLevel = false
+ oldSaferSecurityLevel = false
+ oldStandardSecurityLevel = false
+ }
}
var spoofEnglish by booleanPreference(
=====================================
mobile/android/fenix/app/src/main/res/layout/fragment_tor_security_level_preferences.xml
=====================================
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?><!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <TextView
+ android:id="@+id/description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:lineSpacingExtra="6dp"
+ android:paddingHorizontal="24dp"
+ android:paddingVertical="16dp"
+ android:text="@string/tor_security_level_warning"
+ android:textColor="@color/photonLightGrey40"
+ android:textSize="14sp"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <RadioGroup
+ android:id="@+id/security_level_radio_group"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginHorizontal="16dp"
+ app:layout_constraintTop_toBottomOf="@+id/description">
+
+ <RadioButton
+ android:id="@+id/standard_preference"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/tor_security_level_standard"
+ android:textColor="@color/photonLightGrey05"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/standard_preference_description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:text="@string/tor_security_level_standard_description"
+ android:textColor="@color/photonLightGrey40" />
+
+ <RadioButton
+ android:id="@+id/safer_preference"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/tor_security_level_safer"
+ android:textColor="@color/photonLightGrey05"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/safer_preference_description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:text="@string/tor_security_level_safer_description"
+ android:textColor="@color/photonLightGrey40" />
+
+ <RadioButton
+ android:id="@+id/safest_preference"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/tor_security_level_safest"
+ android:textColor="@color/photonLightGrey05"
+ android:textSize="16sp" />
+
+ <TextView
+ android:id="@+id/safest_preference_description"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="32dp"
+ android:text="@string/tor_security_level_safest_description"
+ android:textColor="@color/photonLightGrey40" />
+ </RadioGroup>
+
+ <Button
+ android:id="@+id/save_and_restart_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="24dp"
+ android:layout_marginEnd="24dp"
+ android:layout_marginBottom="8dp"
+ android:background="@drawable/rounded_corners"
+ android:backgroundTint="@color/connect_button_purple"
+ android:enabled="false"
+ android:minWidth="360dp"
+ android:text="@string/tor_security_level_save_and_restart_tor_browser"
+ android:textAlignment="center"
+ android:textAllCaps="false"
+ android:textColor="@color/photonLightGrey05"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ app:layout_constraintBottom_toTopOf="@id/cancel_button"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+
+ <Button
+ android:id="@+id/cancel_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="24dp"
+ android:layout_marginEnd="24dp"
+ android:layout_marginBottom="8dp"
+ android:background="@drawable/rounded_corners"
+ android:backgroundTint="@color/configure_connection_button_white"
+ android:minWidth="360dp"
+ android:text="@string/btn_cancel"
+ android:textAlignment="center"
+ android:textAllCaps="false"
+ android:textColor="@color/photonDarkGrey90"
+ android:textSize="14sp"
+ android:textStyle="bold"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent" />
+</androidx.constraintlayout.widget.ConstraintLayout>
=====================================
mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
=====================================
@@ -907,7 +907,7 @@
android:label="@string/preferences_customize" />
<fragment
android:id="@+id/torSecurityLevelFragment"
- android:name="org.mozilla.fenix.settings.TorSecurityLevelFragment"
+ android:name="org.mozilla.fenix.tor.TorSecurityLevelFragment"
android:label="@string/preferences_tor_security_level_options" />
<fragment
android:id="@+id/privateBrowsingFragment"
=====================================
mobile/android/fenix/app/src/main/res/values/preference_keys.xml
=====================================
@@ -406,6 +406,9 @@
<string name="pref_key_https_everywhere_removed" translatable="false">pref_key_https_everywhere_removed</string>
<!-- Security Level Settings -->
+ <string name="pref_key_tor_security_level" translatable="false">pref_key_tor_security_level</string>
+
+ <!-- Deprecated Security Level Settings -->
<string name="pref_key_tor_security_level_settings" translatable="false">pref_key_tor_security_level_settings</string>
<string name="pref_key_tor_security_level_standard_option" translatable="false">pref_key_tor_security_level_standard_option</string>
<string name="pref_key_tor_security_level_safer_option" translatable="false">pref_key_tor_security_level_safer_option</string>
=====================================
mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
=====================================
@@ -36,12 +36,19 @@
<string name="preferences_tor_security_level_options">Security Level</string>
<!-- Description of security levels -->
- <string name="tor_security_level_standard_option">Standard</string>
+ <!-- %s will be replaced with the localised application name, such as "Tor Browser". -->
+ <string name="tor_security_level_warning">You will need to restart %s to apply any changes. This will close all tabs.</string>
+ <string name="tor_security_level_standard">Standard</string>
+ <string name="tor_security_level_standard_current_level">Standard (current level)</string>
<string name="tor_security_level_standard_description">All Tor Browser and website features are enabled.</string>
- <string name="tor_security_level_safer_option">Safer</string>
+ <string name="tor_security_level_safer">Safer</string>
+ <string name="tor_security_level_safer_current_level">Safer (current level)</string>
<string name="tor_security_level_safer_description">Disable website features that are often dangerous, causing some sites to lose functionality.</string>
- <string name="tor_security_level_safest_option">Safest</string>
+ <string name="tor_security_level_safest">Safest</string>
+ <string name="tor_security_level_safest_current_level">Safest (current level)</string>
<string name="tor_security_level_safest_description">Only allow website features required for static sites and basic services. These changes affect images, media, and scripts.</string>
+ <string name="tor_security_level_save_and_restart_tor_browser">Save and restart</string>
+ <string name="tor_security_level_restarting">Restarting</string>
<string name="btn_cancel">Cancel</string>
=====================================
mobile/android/fenix/app/src/main/res/xml/preferences.xml
=====================================
@@ -103,7 +103,7 @@
android:layout="@layout/preference_category_no_icon_style">
<androidx.preference.Preference
- android:key="@string/pref_key_tor_security_level_settings"
+ android:key="@string/pref_key_tor_security_level"
app:iconSpaceReserved="false"
android:title="@string/preferences_tor_security_level_options" />
=====================================
mobile/android/fenix/app/src/main/res/xml/tor_security_level_preferences.xml deleted
=====================================
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?><!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto">
- <org.mozilla.fenix.settings.RadioButtonPreference
- android:defaultValue="true"
- android:key="@string/pref_key_tor_security_level_standard_option"
- android:summary="@string/tor_security_level_standard_description"
- android:title="@string/tor_security_level_standard_option" />
- <org.mozilla.fenix.settings.RadioButtonPreference
- android:defaultValue="false"
- android:key="@string/pref_key_tor_security_level_safer_option"
- android:summary="@string/tor_security_level_safer_description"
- android:title="@string/tor_security_level_safer_option" />
- <org.mozilla.fenix.settings.RadioButtonPreference
- android:defaultValue="false"
- android:key="@string/pref_key_tor_security_level_safest_option"
- android:summary="@string/tor_security_level_safest_description"
- android:title="@string/tor_security_level_safest_option" />
-</androidx.preference.PreferenceScreen>
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/298a04…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/298a04…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bump Firefox version to 128.11.0esr for nightly builds.
by ma1 (@ma1) 04 Jun '25
by ma1 (@ma1) 04 Jun '25
04 Jun '25
ma1 pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
7ee7d341 by hackademix at 2025-06-04T16:33:57+02:00
Bump Firefox version to 128.11.0esr for nightly builds.
- - - - -
2 changed files:
- projects/firefox/config
- projects/geckoview/config
Changes:
=====================================
projects/firefox/config
=====================================
@@ -16,7 +16,7 @@ container:
use_container: 1
var:
- firefox_platform_version: '128.10.0'
+ firefox_platform_version: '128.11.0'
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
=====================================
projects/geckoview/config
=====================================
@@ -18,7 +18,7 @@ container:
build_apk: 1
var:
- firefox_platform_version: '128.10.0'
+ firefox_platform_version: '128.11.0'
geckoview_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] 6 commits: fixup! BB 40925: Implemented the Security Level component
by ma1 (@ma1) 04 Jun '25
by ma1 (@ma1) 04 Jun '25
04 Jun '25
ma1 pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
62b83143 by Henry Wilkes at 2025-05-27T10:28:07+01:00
fixup! BB 40925: Implemented the Security Level component
TB 43783: Prompt user for a restart if their security level preferences
are not aligned at startup or mid-session.
Also handle failures to apply NoScript settings.
- - - - -
02472976 by Henry Wilkes at 2025-05-27T10:28:08+01:00
fixup! BB 40069: Add helpers for message passing with extensions
TB 43783: Allow the browser to wait for the NoScript settings to be
applied.
- - - - -
84244779 by Henry Wilkes at 2025-05-27T10:28:09+01:00
fixup! Base Browser strings
TB 43783: Add security level prompt strings.
- - - - -
7a8bfa8e by Henry Wilkes at 2025-05-27T10:28:10+01:00
fixup! TB 40026 [android]: Implement Security Level settings on Android.
TB 43783: Expose SecurityLevelPrefs.setSecurityLevelAndRestart to
android integration.
- - - - -
8d29eede by Henry Wilkes at 2025-05-28T15:35:57+01:00
fixup! Base Browser strings
TB 43782: Add strings for new security level UX flow.
- - - - -
298a0418 by Henry Wilkes at 2025-05-28T15:35:58+01:00
fixup! BB 40925: Implemented the Security Level component
TB 43782: Update security level UI for new UX flow.
In addition, we drop the distinction between the security levels in the
UI when the user has a custom security level.
I.e. we always show shield as unfilled but with a yellow dot in the
toolbar, and we just call it "Custom" rather than "Standard Custom",
etc.
- - - - -
19 changed files:
- browser/components/BrowserGlue.sys.mjs
- + browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
- browser/components/securitylevel/content/securityLevel.js
- browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelDialog.js
- + browser/components/securitylevel/content/securityLevelDialog.xhtml
- browser/components/securitylevel/content/securityLevelPanel.css
- browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- browser/components/securitylevel/content/securityLevelPreferences.css
- browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- browser/components/securitylevel/jar.mn
- browser/components/securitylevel/moz.build
- + browser/modules/SecurityLevelRestartNotification.sys.mjs
- browser/modules/moz.build
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/locales/en-US/toolkit/global/base-browser.ftl
- toolkit/modules/TorAndroidIntegration.sys.mjs
Changes:
=====================================
browser/components/BrowserGlue.sys.mjs
=====================================
@@ -82,6 +82,8 @@ ChromeUtils.defineESModuleGetters(lazy, {
ScreenshotsUtils: "resource:///modules/ScreenshotsUtils.sys.mjs",
SearchSERPCategorization: "resource:///modules/SearchSERPTelemetry.sys.mjs",
SearchSERPTelemetry: "resource:///modules/SearchSERPTelemetry.sys.mjs",
+ SecurityLevelRestartNotification:
+ "resource:///modules/SecurityLevelRestartNotification.sys.mjs",
SessionStartup: "resource:///modules/sessionstore/SessionStartup.sys.mjs",
SessionStore: "resource:///modules/sessionstore/SessionStore.sys.mjs",
ShellService: "resource:///modules/ShellService.sys.mjs",
@@ -2030,6 +2032,8 @@ BrowserGlue.prototype = {
lazy.DragDropFilter.init();
+ lazy.SecurityLevelRestartNotification.ready();
+
lazy.TorProviderBuilder.firstWindowLoaded();
lazy.TorSettingsNotification.ready();
=====================================
browser/components/securitylevel/SecurityLevelUIUtils.sys.mjs
=====================================
@@ -0,0 +1,73 @@
+/**
+ * Common methods for the desktop security level components.
+ */
+export const SecurityLevelUIUtils = {
+ /**
+ * Create an element that gives a description of the security level. To be
+ * used in the settings.
+ *
+ * @param {string} level - The security level to describe.
+ * @param {Document} doc - The document where the element will be inserted.
+ *
+ * @returns {Element} - The newly created element.
+ */
+ createDescriptionElement(level, doc) {
+ const el = doc.createElement("div");
+ el.classList.add("security-level-description");
+
+ let l10nIdSummary;
+ let bullets;
+ switch (level) {
+ case "standard":
+ l10nIdSummary = "security-level-summary-standard";
+ break;
+ case "safer":
+ l10nIdSummary = "security-level-summary-safer";
+ bullets = [
+ "security-level-preferences-bullet-https-only-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "safest":
+ l10nIdSummary = "security-level-summary-safest";
+ bullets = [
+ "security-level-preferences-bullet-disabled-javascript",
+ "security-level-preferences-bullet-limit-font-and-symbols-and-images",
+ "security-level-preferences-bullet-limit-media",
+ ];
+ break;
+ case "custom":
+ l10nIdSummary = "security-level-summary-custom";
+ break;
+ default:
+ throw Error(`Unhandled level: ${level}`);
+ }
+
+ const summaryEl = doc.createElement("div");
+ summaryEl.classList.add("security-level-summary");
+ doc.l10n.setAttributes(summaryEl, l10nIdSummary);
+
+ el.append(summaryEl);
+
+ if (!bullets) {
+ return el;
+ }
+
+ const listEl = doc.createElement("ul");
+ listEl.classList.add("security-level-description-extra");
+ // Add a mozilla styling class as well:
+ listEl.classList.add("privacy-extra-information");
+ for (const l10nId of bullets) {
+ const bulletEl = doc.createElement("li");
+ bulletEl.classList.add("security-level-description-bullet");
+
+ doc.l10n.setAttributes(bulletEl, l10nId);
+
+ listEl.append(bulletEl);
+ }
+
+ el.append(listEl);
+ return el;
+ },
+};
=====================================
browser/components/securitylevel/content/securityLevel.js
=====================================
@@ -1,9 +1,10 @@
"use strict";
-/* global AppConstants, Services, openPreferences, XPCOMUtils */
+/* global AppConstants, Services, openPreferences, XPCOMUtils, gSubDialog */
ChromeUtils.defineESModuleGetters(this, {
SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+ SecurityLevelUIUtils: "resource:///modules/SecurityLevelUIUtils.sys.mjs",
});
/*
@@ -35,12 +36,8 @@ var SecurityLevelButton = {
_anchorButton: null,
_configUIFromPrefs() {
- const level = SecurityLevelPrefs.securityLevel;
- if (!level) {
- return;
- }
- const custom = SecurityLevelPrefs.securityCustom;
- this._button.setAttribute("level", custom ? `${level}_custom` : level);
+ const level = SecurityLevelPrefs.securityLevelSummary;
+ this._button.setAttribute("level", level);
let l10nIdLevel;
switch (level) {
@@ -53,15 +50,12 @@ var SecurityLevelButton = {
case "safest":
l10nIdLevel = "security-level-toolbar-button-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-toolbar-button-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- // Don't distinguish between the different levels when in the custom
- // state. We just want to emphasise that it is custom rather than any
- // specific level.
- l10nIdLevel = "security-level-toolbar-button-custom";
- }
document.l10n.setAttributes(this._button, l10nIdLevel);
},
@@ -164,12 +158,7 @@ var SecurityLevelPanel = {
panel: document.getElementById("securityLevel-panel"),
background: document.getElementById("securityLevel-background"),
levelName: document.getElementById("securityLevel-level"),
- customName: document.getElementById("securityLevel-custom"),
summary: document.getElementById("securityLevel-summary"),
- restoreDefaultsButton: document.getElementById(
- "securityLevel-restoreDefaults"
- ),
- settingsButton: document.getElementById("securityLevel-settings"),
};
const learnMoreEl = document.getElementById("securityLevel-learnMore");
@@ -177,12 +166,11 @@ var SecurityLevelPanel = {
this.hide();
});
- this._elements.restoreDefaultsButton.addEventListener("command", () => {
- this.restoreDefaults();
- });
- this._elements.settingsButton.addEventListener("command", () => {
- this.openSecuritySettings();
- });
+ document
+ .getElementById("securityLevel-settings")
+ .addEventListener("command", () => {
+ this.openSecuritySettings();
+ });
this._elements.panel.addEventListener("popupshown", () => {
// Bring focus into the panel by focusing the default button.
@@ -199,19 +187,7 @@ var SecurityLevelPanel = {
}
// get security prefs
- const level = SecurityLevelPrefs.securityLevel;
- const custom = SecurityLevelPrefs.securityCustom;
-
- // only visible when user is using custom settings
- this._elements.customName.hidden = !custom;
- this._elements.restoreDefaultsButton.hidden = !custom;
- if (custom) {
- this._elements.settingsButton.removeAttribute("default");
- this._elements.restoreDefaultsButton.setAttribute("default", "true");
- } else {
- this._elements.settingsButton.setAttribute("default", "true");
- this._elements.restoreDefaultsButton.removeAttribute("default");
- }
+ const level = SecurityLevelPrefs.securityLevelSummary;
// Descriptions change based on security level
this._elements.background.setAttribute("level", level);
@@ -230,12 +206,13 @@ var SecurityLevelPanel = {
l10nIdLevel = "security-level-panel-level-safest";
l10nIdSummary = "security-level-summary-safest";
break;
+ case "custom":
+ l10nIdLevel = "security-level-panel-level-custom";
+ l10nIdSummary = "security-level-summary-custom";
+ break;
default:
throw Error(`Unhandled level: ${level}`);
}
- if (custom) {
- l10nIdSummary = "security-level-summary-custom";
- }
document.l10n.setAttributes(this._elements.levelName, l10nIdLevel);
document.l10n.setAttributes(this._elements.summary, l10nIdSummary);
@@ -269,13 +246,6 @@ var SecurityLevelPanel = {
this._elements.panel.hidePopup();
},
- restoreDefaults() {
- SecurityLevelPrefs.securityCustom = false;
- // Move focus to the settings button since restore defaults button will
- // become hidden.
- this._elements.settingsButton.focus();
- },
-
openSecuritySettings() {
openPreferences("privacy-securitylevel");
this.hide();
@@ -301,59 +271,64 @@ var SecurityLevelPanel = {
var SecurityLevelPreferences = {
_securityPrefsBranch: null,
+
/**
- * The notification box shown when the user has a custom security setting.
- *
- * @type {Element}
- */
- _customNotification: null,
- /**
- * The radiogroup for this preference.
- *
- * @type {Element}
- */
- _radiogroup: null,
- /**
- * A list of radio options and their containers.
+ * The element that shows the current security level.
*
- * @type {Array<object>}
+ * @type {?Element}
*/
- _radioOptions: null,
+ _currentEl: null,
_populateXUL() {
- this._customNotification = document.getElementById(
- "securityLevel-customNotification"
+ this._currentEl = document.getElementById("security-level-current");
+ const changeButton = document.getElementById("security-level-change");
+ const badgeEl = this._currentEl.querySelector(
+ ".security-level-current-badge"
);
- document
- .getElementById("securityLevel-restoreDefaults")
- .addEventListener("command", () => {
- SecurityLevelPrefs.securityCustom = false;
- });
-
- this._radiogroup = document.getElementById("securityLevel-radiogroup");
- this._radioOptions = Array.from(
- this._radiogroup.querySelectorAll(".securityLevel-radio-option"),
- container => {
- return { container, radio: container.querySelector("radio") };
- }
- );
+ for (const { level, nameId } of [
+ { level: "standard", nameId: "security-level-panel-level-standard" },
+ { level: "safer", nameId: "security-level-panel-level-safer" },
+ { level: "safest", nameId: "security-level-panel-level-safest" },
+ { level: "custom", nameId: "security-level-panel-level-custom" },
+ ]) {
+ // Classes that control visibility:
+ // security-level-current-standard
+ // security-level-current-safer
+ // security-level-current-safest
+ // security-level-current-custom
+ const visibilityClass = `security-level-current-${level}`;
+ const nameEl = document.createElement("div");
+ nameEl.classList.add("security-level-name", visibilityClass);
+ document.l10n.setAttributes(nameEl, nameId);
+
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add(visibilityClass);
+
+ this._currentEl.insertBefore(nameEl, badgeEl);
+ this._currentEl.insertBefore(descriptionEl, changeButton);
+ }
- this._radiogroup.addEventListener("select", () => {
- SecurityLevelPrefs.securityLevel = this._radiogroup.value;
+ changeButton.addEventListener("click", () => {
+ this._openDialog();
});
},
+ _openDialog() {
+ gSubDialog.open(
+ "chrome://browser/content/securitylevel/securityLevelDialog.xhtml",
+ { features: "resizable=yes" }
+ );
+ },
+
_configUIFromPrefs() {
- this._radiogroup.value = SecurityLevelPrefs.securityLevel;
- const isCustom = SecurityLevelPrefs.securityCustom;
- this._radiogroup.disabled = isCustom;
- this._customNotification.hidden = !isCustom;
- // Have the container's selection CSS class match the selection state of the
- // radio elements.
- for (const { container, radio } of this._radioOptions) {
- container.classList.toggle("selected", radio.selected);
- }
+ // Set a data-current-level attribute for showing the current security
+ // level, and hiding the rest.
+ this._currentEl.dataset.currentLevel =
+ SecurityLevelPrefs.securityLevelSummary;
},
init() {
=====================================
browser/components/securitylevel/content/securityLevelButton.css
=====================================
@@ -7,12 +7,6 @@ toolbarbutton#security-level-button[level="safer"] {
toolbarbutton#security-level-button[level="safest"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
}
-toolbarbutton#security-level-button[level="standard_custom"] {
+toolbarbutton#security-level-button[level="custom"] {
list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
}
-toolbarbutton#security-level-button[level="safer_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer_custom");
-}
-toolbarbutton#security-level-button[level="safest_custom"] {
- list-style-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest_custom");
-}
=====================================
browser/components/securitylevel/content/securityLevelDialog.js
=====================================
@@ -0,0 +1,188 @@
+"use strict";
+
+const { SecurityLevelPrefs } = ChromeUtils.importESModule(
+ "resource://gre/modules/SecurityLevel.sys.mjs"
+);
+const { SecurityLevelUIUtils } = ChromeUtils.importESModule(
+ "resource:///modules/SecurityLevelUIUtils.sys.mjs"
+);
+
+const gSecurityLevelDialog = {
+ /**
+ * The security level when this dialog was opened.
+ *
+ * @type {string}
+ */
+ _prevLevel: SecurityLevelPrefs.securityLevelSummary,
+ /**
+ * The security level currently selected.
+ *
+ * @type {string}
+ */
+ _selectedLevel: "",
+ /**
+ * The radiogroup for this preference.
+ *
+ * @type {?Element}
+ */
+ _radiogroup: null,
+ /**
+ * A list of radio options and their containers.
+ *
+ * @type {?Array<{ container: Element, radio: Element }>}
+ */
+ _radioOptions: null,
+
+ /**
+ * Initialise the dialog.
+ */
+ async init() {
+ const dialog = document.getElementById("security-level-dialog");
+ dialog.addEventListener("dialogaccept", event => {
+ if (this._acceptButton.disabled) {
+ event.preventDefault();
+ return;
+ }
+ this._commitChange();
+ });
+
+ this._acceptButton = dialog.getButton("accept");
+
+ document.l10n.setAttributes(
+ this._acceptButton,
+ "security-level-dialog-save-restart"
+ );
+
+ this._radiogroup = document.getElementById("security-level-radiogroup");
+
+ this._radioOptions = Array.from(
+ this._radiogroup.querySelectorAll(".security-level-radio-container"),
+ container => {
+ return {
+ container,
+ radio: container.querySelector(".security-level-radio"),
+ };
+ }
+ );
+
+ for (const { container, radio } of this._radioOptions) {
+ const level = radio.value;
+ radio.id = `security-level-radio-${level}`;
+ const currentEl = container.querySelector(
+ ".security-level-current-badge"
+ );
+ currentEl.id = `security-level-current-badge-${level}`;
+ const descriptionEl = SecurityLevelUIUtils.createDescriptionElement(
+ level,
+ document
+ );
+ descriptionEl.classList.add("indent");
+ descriptionEl.id = `security-level-description-${level}`;
+
+ // Wait for the full translation of the element before adding it to the
+ // DOM. In particular, we want to make sure the elements have text before
+ // we measure the maxHeight below.
+ await document.l10n.translateFragment(descriptionEl);
+ document.l10n.pauseObserving();
+ container.append(descriptionEl);
+ document.l10n.resumeObserving();
+
+ if (level === this._prevLevel) {
+ currentEl.hidden = false;
+ // When the currentEl is visible, include it in the accessible name for
+ // the radio option.
+ // NOTE: The currentEl has an accessible name which includes punctuation
+ // to help separate it's content from the security level name.
+ // E.g. "Standard (Current level)".
+ radio.setAttribute("aria-labelledby", `${radio.id} ${currentEl.id}`);
+ } else {
+ currentEl.hidden = true;
+ }
+ // We point the accessible description to the wrapping
+ // .security-level-description element, rather than its children
+ // that define the actual text content. This means that when the
+ // privacy-extra-information is shown or hidden, its text content is
+ // included or excluded from the accessible description, respectively.
+ radio.setAttribute("aria-describedby", descriptionEl.id);
+ }
+
+ // We want to reserve the maximum height of the radiogroup so that the
+ // dialog has enough height when the user switches options. So we cycle
+ // through the options and measure the height when they are selected to set
+ // a minimum height that fits all of them.
+ // NOTE: At the time of implementation, at this point the dialog may not
+ // yet have the "subdialog" attribute, which means it is missing the
+ // common.css stylesheet from its shadow root, which effects the size of the
+ // .radio-check element and the font. Therefore, we have duplicated the
+ // import of common.css in SecurityLevelDialog.xhtml to ensure it is applied
+ // at this earlier stage.
+ let maxHeight = 0;
+ for (const { container } of this._radioOptions) {
+ container.classList.add("selected");
+ maxHeight = Math.max(
+ maxHeight,
+ this._radiogroup.getBoundingClientRect().height
+ );
+ container.classList.remove("selected");
+ }
+ this._radiogroup.style.minHeight = `${maxHeight}px`;
+
+ if (this._prevLevel !== "custom") {
+ this._selectedLevel = this._prevLevel;
+ this._radiogroup.value = this._prevLevel;
+ } else {
+ this._radiogroup.selectedItem = null;
+ }
+
+ this._radiogroup.addEventListener("select", () => {
+ this._selectedLevel = this._radiogroup.value;
+ this._updateSelected();
+ });
+
+ this._updateSelected();
+ },
+
+ /**
+ * Update the UI in response to a change in selection.
+ */
+ _updateSelected() {
+ this._acceptButton.disabled =
+ !this._selectedLevel || this._selectedLevel === this._prevLevel;
+ // Have the container's `selected` CSS class match the selection state of
+ // the radio elements.
+ for (const { container, radio } of this._radioOptions) {
+ container.classList.toggle("selected", radio.selected);
+ }
+ },
+
+ /**
+ * Commit the change in security level and restart the browser.
+ */
+ _commitChange() {
+ SecurityLevelPrefs.setSecurityLevelBeforeRestart(this._selectedLevel);
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ },
+};
+
+// Initial focus is not visible, even if opened with a keyboard. We avoid the
+// default handler and manage the focus ourselves, which will paint the focus
+// ring by default.
+// NOTE: A side effect is that the focus ring will show even if the user opened
+// with a mouse event.
+// TODO: Remove this once bugzilla bug 1708261 is resolved.
+document.subDialogSetDefaultFocus = () => {
+ document.getElementById("security-level-radiogroup").focus();
+};
+
+// Delay showing and sizing the subdialog until it is fully initialised.
+document.mozSubdialogReady = new Promise(resolve => {
+ window.addEventListener(
+ "DOMContentLoaded",
+ () => {
+ gSecurityLevelDialog.init().finally(resolve);
+ },
+ { once: true }
+ );
+});
=====================================
browser/components/securitylevel/content/securityLevelDialog.xhtml
=====================================
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+
+<window
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ data-l10n-id="security-level-dialog-window"
+>
+ <dialog id="security-level-dialog" buttons="accept,cancel">
+ <linkset>
+ <html:link rel="stylesheet" href="chrome://global/skin/global.css" />
+ <!-- NOTE: We include common.css explicitly, rather than relying on
+ - the dialog's shadowroot importing it, which is late loaded in
+ - response to the dialog's "subdialog" attribute, which is set
+ - in response to DOMFrameContentLoaded.
+ - In particular, we need the .radio-check rule and font rules from
+ - common-shared.css to be in place when gSecurityLevelDialog.init is
+ - called, which will help ensure that the radio element has the correct
+ - size when we measure its bounding box. -->
+ <html:link
+ rel="stylesheet"
+ href="chrome://global/skin/in-content/common.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/preferences.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/skin/preferences/privacy.css"
+ />
+ <html:link
+ rel="stylesheet"
+ href="chrome://browser/content/securitylevel/securityLevelPreferences.css"
+ />
+
+ <html:link rel="localization" href="branding/brand.ftl" />
+ <html:link rel="localization" href="toolkit/global/base-browser.ftl" />
+ </linkset>
+
+ <script src="chrome://browser/content/securitylevel/securityLevelDialog.js" />
+
+ <description data-l10n-id="security-level-dialog-restart-description" />
+
+ <radiogroup id="security-level-radiogroup" class="highlighting-group">
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="standard"
+ data-l10n-id="security-level-preferences-level-standard"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safer"
+ data-l10n-id="security-level-preferences-level-safer"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ <html:div
+ class="security-level-radio-container security-level-grid privacy-detailedoption info-box-container"
+ >
+ <radio
+ class="security-level-radio security-level-name"
+ value="safest"
+ data-l10n-id="security-level-preferences-level-safest"
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ </html:div>
+ </radiogroup>
+ </dialog>
+</window>
=====================================
browser/components/securitylevel/content/securityLevelPanel.css
=====================================
@@ -23,7 +23,7 @@
background-position-x: right var(--background-inline-offset);
}
-#securityLevel-background[level="standard"] {
+#securityLevel-background:is([level="standard"], [level="custom"]) {
background-image: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
}
@@ -49,14 +49,6 @@
font-weight: 600;
}
-#securityLevel-custom {
- border-radius: 4px;
- background-color: var(--warning-icon-bgcolor);
- color: black;
- padding: 0.4em 0.5em;
- margin-inline-start: 1em;
-}
-
#securityLevel-summary {
padding-inline-end: 5em;
max-width: 20em;
=====================================
browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
=====================================
@@ -15,10 +15,6 @@
<vbox id="securityLevel-background" class="panel-subview-body">
<html:p id="securityLevel-subheading">
<html:span id="securityLevel-level"></html:span>
- <html:span
- id="securityLevel-custom"
- data-l10n-id="security-level-panel-custom-badge"
- ></html:span>
</html:p>
<html:p id="securityLevel-summary"></html:p>
<html:a
@@ -32,12 +28,8 @@
<button
id="securityLevel-settings"
class="footer-button"
+ default="true"
data-l10n-id="security-level-panel-open-settings-button"
/>
- <button
- id="securityLevel-restoreDefaults"
- class="footer-button"
- data-l10n-id="security-level-restore-defaults-button"
- />
</html:moz-button-group>
</panel>
=====================================
browser/components/securitylevel/content/securityLevelPreferences.css
=====================================
@@ -1,26 +1,166 @@
-#securityLevel-groupbox {
- --section-highlight-background-color: color-mix(in srgb, var(--in-content-accent-color) 20%, transparent);
+.security-level-grid {
+ display: grid;
+ grid-template:
+ "icon name badge button" min-content
+ "icon summary summary button" auto
+ "icon extra extra ." auto
+ / max-content max-content 1fr max-content;
}
-#securityLevel-customNotification {
- /* Spacing similar to #fpiIncompatibilityWarning. */
- margin-block: 16px;
+.security-level-icon {
+ grid-area: icon;
+ align-self: start;
+ width: 24px;
+ height: 24px;
+ -moz-context-properties: fill;
+ fill: var(--in-content-icon-color);
+ margin-block-start: var(--space-xsmall);
+ margin-inline-end: var(--space-large);
}
-.info-icon.securityLevel-custom-warning-icon {
- list-style-image: url("chrome://global/skin/icons/warning.svg");
+.security-level-current-badge {
+ grid-area: badge;
+ align-self: center;
+ justify-self: start;
+ white-space: nowrap;
+ background: var(--background-color-information);
+ color: inherit;
+ font-size: var(--font-size-small);
+ border-radius: var(--border-radius-circle);
+ margin-inline-start: var(--space-small);
+ padding-block: var(--space-xsmall);
+ padding-inline: var(--space-small);
}
-#securityLevel-customHeading {
+.security-level-current-badge span {
+ /* Still accessible to screen reader, but not visual.
+ * Keep inline, but with no layout width. */
+ display: inline-block;
+ width: 1px;
+ margin-inline-end: -1px;
+ clip-path: inset(50%);
+}
+
+@media (prefers-contrast) and (not (forced-colors)) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio colors. */
+ background: var(--color-accent-primary);
+ color: var(--button-text-color-primary);
+ }
+}
+
+@media (forced-colors) {
+ .security-level-current-badge {
+ /* Match the checkbox/radio/selected colors. */
+ background: SelectedItem;
+ color: SelectedItemText;
+ }
+}
+
+.security-level-name {
+ grid-area: name;
font-weight: bold;
+ align-self: center;
+ white-space: nowrap;
+}
+
+.security-level-description {
+ display: grid;
+ grid-column: summary-start / extra-end;
+ grid-row: summary-start / extra-end;
+ grid-template-rows: subgrid;
+ grid-template-columns: subgrid;
+ margin-block-start: var(--space-small);
+}
+
+.security-level-summary {
+ grid-area: summary;
+}
+
+.security-level-description-extra {
+ grid-area: extra;
+ margin-block: var(--space-medium) 0;
+ margin-inline: var(--space-large) 0;
+ padding: 0;
+}
+
+.security-level-description-bullet:not(:last-child) {
+ margin-block-end: var(--space-medium);
+}
+
+/* Tweak current security level display. */
+
+#security-level-current {
+ margin-block-start: var(--space-large);
+ background: var(--in-content-box-background);
+ border: 1px solid var(--in-content-box-border-color);
+ border-radius: var(--border-radius-small);
+ padding: var(--space-medium);
+}
+
+#security-level-change {
+ grid-area: button;
+ align-self: center;
+ margin: 0;
+ margin-inline-start: var(--space-large);
+}
+
+/* Adjust which content is visible depending on the current security level. */
+
+#security-level-current:not([data-current-level="standard"]) .security-level-current-standard {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safer"]) .security-level-current-safer {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="safest"]) .security-level-current-safest {
+ display: none;
+}
+
+#security-level-current:not([data-current-level="custom"]) .security-level-current-custom {
+ display: none;
+}
+
+#security-level-current[data-current-level="standard"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard");
+}
+
+#security-level-current[data-current-level="safer"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safer");
+}
+
+#security-level-current[data-current-level="safest"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#safest");
+}
+
+#security-level-current[data-current-level="custom"] .security-level-icon {
+ content: url("chrome://browser/content/securitylevel/securityLevelIcon.svg#standard_custom");
+}
+
+/* Tweak security level dialog. */
+
+#security-level-radiogroup {
+ margin-block: var(--space-large) var(--space-xlarge);
+}
+
+.security-level-radio-container {
+ padding-block: var(--space-large);
+}
+
+#security-level-radiogroup .security-level-radio {
+ margin: 0;
}
-#securityLevel-radiogroup[disabled] {
- opacity: 0.5;
+#security-level-radiogroup .radio-label-box {
+ /* .security-level-current-badge already has a margin. */
+ margin: 0;
}
-/* Overwrite the rule in common-shared.css so we don't get 0.25 opacity overall
- * on the radio text. */
-#securityLevel-radiogroup[disabled] radio[disabled] .radio-label-box {
- opacity: 1.0;
+#security-level-radiogroup .privacy-detailedoption.security-level-radio-container:not(.selected) .security-level-description-extra {
+ /* .privacy-detailedoption uses visibility: hidden, which does not work with
+ * our grid display (the margin is still reserved) so we use display: none
+ * instead. */
+ display: none;
}
=====================================
browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
=====================================
@@ -17,112 +17,19 @@
data-l10n-id="security-level-preferences-learn-more-link"
></html:a>
</description>
- <hbox
- id="securityLevel-customNotification"
- class="info-box-container"
- flex="1"
- >
- <hbox class="info-icon-container">
- <image class="info-icon securityLevel-custom-warning-icon"/>
- </hbox>
- <vbox flex="1">
- <label
- id="securityLevel-customHeading"
- data-l10n-id="security-level-preferences-custom-heading"
- />
- <description
- id="securityLevel-customDescription"
- data-l10n-id="security-level-summary-custom"
- flex="1"
- />
- </vbox>
- <hbox align="center">
- <button
- id="securityLevel-restoreDefaults"
- data-l10n-id="security-level-restore-defaults-button"
- />
- </hbox>
- </hbox>
- <radiogroup id="securityLevel-radiogroup">
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="standard"
- data-l10n-id="security-level-preferences-level-standard"
- aria-describedby="securityLevelSummary-standard"
- />
- <vbox id="securityLevelSummary-standard" class="indent">
- <label data-l10n-id="security-level-summary-standard" />
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <!-- NOTE: We point the accessible description to the wrapping vbox
- - rather than its first description element. This means that when the
- - privacy-extra-information is shown or hidden, its text content is
- - included or excluded from the accessible description, respectively.
- -->
- <radio
- value="safer"
- data-l10n-id="security-level-preferences-level-safer"
- aria-describedby="securityLevelSummary-safer"
- />
- <vbox id="securityLevelSummary-safer" class="indent">
- <label data-l10n-id="security-level-summary-safer" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-https-only-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- <vbox class="securityLevel-radio-option privacy-detailedoption info-box-container">
- <radio
- value="safest"
- data-l10n-id="security-level-preferences-level-safest"
- aria-describedby="securityLevelSummary-safest"
- />
- <vbox id="securityLevelSummary-safest" class="indent">
- <label data-l10n-id="security-level-summary-safest" />
- <vbox class="privacy-extra-information">
- <vbox class="indent">
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-disabled-javascript"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-font-and-symbols-and-images"
- />
- </hbox>
- <hbox class="extra-information-label">
- <label
- class="content-blocking-label"
- data-l10n-id="security-level-preferences-bullet-limit-media"
- />
- </hbox>
- </vbox>
- </vbox>
- </vbox>
- </vbox>
- </radiogroup>
+ <html:div id="security-level-current" class="security-level-grid">
+ <html:img
+ class="security-level-icon"
+ alt=""
+ />
+ <html:div
+ class="security-level-current-badge"
+ data-l10n-id="security-level-preferences-current-badge"
+ ></html:div>
+ <html:button
+ id="security-level-change"
+ data-l10n-id="security-level-preferences-change-button"
+ ></html:button>
+ </html:div>
</vbox>
</groupbox>
=====================================
browser/components/securitylevel/jar.mn
=====================================
@@ -4,3 +4,5 @@ browser.jar:
content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
content/browser/securitylevel/securityLevelIcon.svg (content/securityLevelIcon.svg)
+ content/browser/securitylevel/securityLevelDialog.xhtml (content/securityLevelDialog.xhtml)
+ content/browser/securitylevel/securityLevelDialog.js (content/securityLevelDialog.js)
=====================================
browser/components/securitylevel/moz.build
=====================================
@@ -1 +1,5 @@
JAR_MANIFESTS += ["jar.mn"]
+
+EXTRA_JS_MODULES += [
+ "SecurityLevelUIUtils.sys.mjs",
+]
=====================================
browser/modules/SecurityLevelRestartNotification.sys.mjs
=====================================
@@ -0,0 +1,72 @@
+const lazy = {};
+
+ChromeUtils.defineESModuleGetters(lazy, {
+ BrowserWindowTracker: "resource:///modules/BrowserWindowTracker.sys.mjs",
+ SecurityLevelPrefs: "resource://gre/modules/SecurityLevel.sys.mjs",
+});
+
+ChromeUtils.defineLazyGetter(lazy, "NotificationStrings", function () {
+ return new Localization([
+ "branding/brand.ftl",
+ "toolkit/global/base-browser.ftl",
+ ]);
+});
+
+/**
+ * Interface for showing the security level restart notification on desktop.
+ */
+export const SecurityLevelRestartNotification = {
+ /**
+ * Whether we have already been initialised.
+ *
+ * @type {boolean}
+ */
+ _initialized: false,
+
+ /**
+ * Called when the UI is ready to show a notification.
+ */
+ ready() {
+ if (this._initialized) {
+ return;
+ }
+ this._initialized = true;
+ lazy.SecurityLevelPrefs.setRestartNotificationHandler(this);
+ },
+
+ /**
+ * Show the restart notification, and perform the restart if the user agrees.
+ */
+ async tryRestartBrowser() {
+ const [titleText, bodyText, primaryButtonText, secondaryButtonText] =
+ await lazy.NotificationStrings.formatValues([
+ { id: "security-level-restart-prompt-title" },
+ { id: "security-level-restart-prompt-body" },
+ { id: "security-level-restart-prompt-button-restart" },
+ { id: "security-level-restart-prompt-button-ignore" },
+ ]);
+ const buttonFlags =
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_0 +
+ Services.prompt.BUTTON_TITLE_IS_STRING * Services.prompt.BUTTON_POS_1;
+
+ const propBag = await Services.prompt.asyncConfirmEx(
+ lazy.BrowserWindowTracker.getTopWindow()?.browsingContext ?? null,
+ Services.prompt.MODAL_TYPE_INTERNAL_WINDOW,
+ titleText,
+ bodyText,
+ buttonFlags,
+ primaryButtonText,
+ secondaryButtonText,
+ null,
+ null,
+ null,
+ {}
+ );
+
+ if (propBag.get("buttonNumClicked") === 0) {
+ Services.startup.quit(
+ Services.startup.eAttemptQuit | Services.startup.eRestart
+ );
+ }
+ },
+};
=====================================
browser/modules/moz.build
=====================================
@@ -126,6 +126,7 @@ EXTRA_JS_MODULES += [
"PermissionUI.sys.mjs",
"ProcessHangMonitor.sys.mjs",
"Sanitizer.sys.mjs",
+ "SecurityLevelRestartNotification.sys.mjs",
"SelectionChangedMenulist.sys.mjs",
"SiteDataManager.sys.mjs",
"SitePermissions.sys.mjs",
=====================================
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java
=====================================
@@ -49,6 +49,9 @@ public class TorAndroidIntegration implements BundleEventListener {
private static final String EVENT_SETTINGS_CHANGED = "GeckoView:Tor:SettingsChanged";
// Events we emit
+ // TODO: Integrate the security level API. tor-browser#43820
+ private static final String EVENT_SECURITY_LEVEL_GET = "GeckoView:Tor:SecurityLevelGet";
+ private static final String EVENT_SECURITY_LEVEL_SET_BEFORE_RESTART = "GeckoView:Tor:SecurityLevelSetBeforeRestart";
private static final String EVENT_SETTINGS_GET = "GeckoView:Tor:SettingsGet";
private static final String EVENT_SETTINGS_SET = "GeckoView:Tor:SettingsSet";
private static final String EVENT_BOOTSTRAP_BEGIN = "GeckoView:Tor:BootstrapBegin";
=====================================
toolkit/components/extensions/ExtensionParent.sys.mjs
=====================================
@@ -2345,6 +2345,7 @@ async function torSendExtensionMessage(extensionId, message) {
const result = await ProxyMessenger.conduit.castRuntimeMessage("messenger", {
extensionId,
holder: new StructuredCloneHolder("torSendExtensionMessage", null, message),
+ query: true,
firstResponse: true,
sender: {
id: extensionId,
=====================================
toolkit/components/securitylevel/SecurityLevel.sys.mjs
=====================================
@@ -16,6 +16,7 @@ const BrowserTopics = Object.freeze({
// The Security Settings prefs in question.
const kSliderPref = "browser.security_level.security_slider";
const kCustomPref = "browser.security_level.security_custom";
+const kNoScriptInitedPref = "browser.security_level.noscript_inited";
// __getPrefValue(prefName)__
// Returns the current value of a preference, regardless of its type.
@@ -32,11 +33,11 @@ var getPrefValue = function (prefName) {
}
};
-// __bindPref(prefName, prefHandler, init)__
+// __bindPref(prefName, prefHandler)__
// Applies prefHandler whenever the value of the pref changes.
// If init is true, applies prefHandler to the current value.
-// Returns a zero-arg function that unbinds the pref.
-var bindPref = function (prefName, prefHandler, init = false) {
+// Returns the observer that was added.
+var bindPref = function (prefName, prefHandler) {
let update = () => {
prefHandler(getPrefValue(prefName));
},
@@ -48,21 +49,9 @@ var bindPref = function (prefName, prefHandler, init = false) {
},
};
Services.prefs.addObserver(prefName, observer);
- if (init) {
- update();
- }
- return () => {
- Services.prefs.removeObserver(prefName, observer);
- };
+ return observer;
};
-// __bindPrefAndInit(prefName, prefHandler)__
-// Applies prefHandler to the current value of pref specified by prefName.
-// Re-applies prefHandler whenever the value of the pref changes.
-// Returns a zero-arg function that unbinds the pref.
-var bindPrefAndInit = (prefName, prefHandler) =>
- bindPref(prefName, prefHandler, true);
-
async function waitForExtensionMessage(extensionId, checker = () => {}) {
const { torWaitForExtensionMessage } = lazy.ExtensionParent;
if (torWaitForExtensionMessage) {
@@ -74,7 +63,7 @@ async function waitForExtensionMessage(extensionId, checker = () => {}) {
async function sendExtensionMessage(extensionId, message) {
const { torSendExtensionMessage } = lazy.ExtensionParent;
if (torSendExtensionMessage) {
- return torSendExtensionMessage(extensionId, message);
+ return await torSendExtensionMessage(extensionId, message);
}
return undefined;
}
@@ -187,14 +176,8 @@ var initializeNoScriptControl = () => {
// `browser.runtime.onMessage.addListener(...)` in NoScript's bg/main.js.
// TODO: Is there a better way?
- let sendNoScriptSettings = settings =>
- sendExtensionMessage(noscriptID, settings);
-
- // __setNoScriptSafetyLevel(safetyLevel)__.
- // Set NoScript settings according to a particular safety level
- // (security slider level): 0 = Standard, 1 = Safer, 2 = Safest
- let setNoScriptSafetyLevel = safetyLevel =>
- sendNoScriptSettings(noscriptSettings(safetyLevel));
+ let sendNoScriptSettings = async settings =>
+ await sendExtensionMessage(noscriptID, settings);
// __securitySliderToSafetyLevel(sliderState)__.
// Converts the "browser.security_level.security_slider" pref value
@@ -204,36 +187,46 @@ var initializeNoScriptControl = () => {
// Wait for the first message from NoScript to arrive, and then
// bind the security_slider pref to the NoScript settings.
- let messageListener = a => {
+ let messageListener = async a => {
try {
logger.debug("Message received from NoScript:", a);
- let noscriptPersist = Services.prefs.getBoolPref(
- "browser.security_level.noscript_persist",
- false
- );
+ const persistPref = "browser.security_level.noscript_persist";
+ let noscriptPersist = Services.prefs.getBoolPref(persistPref, false);
let noscriptInited = Services.prefs.getBoolPref(
- "browser.security_level.noscript_inited",
+ kNoScriptInitedPref,
false
);
- // Set the noscript safety level once if we have never run noscript
- // before, or if we are not allowing noscript per-site settings to be
- // persisted between browser sessions. Otherwise make sure that the
- // security slider position, if changed, will rewrite the noscript
- // settings.
- bindPref(
- kSliderPref,
- sliderState =>
- setNoScriptSafetyLevel(securitySliderToSafetyLevel(sliderState)),
- !noscriptPersist || !noscriptInited
- );
- if (!noscriptInited) {
- Services.prefs.setBoolPref(
- "browser.security_level.noscript_inited",
- true
+ // Set the noscript safety level once at startup.
+ // If a user has set noscriptPersist, then we only send this if the
+ // security level was changed in a previous session.
+ // NOTE: We do not re-send this when the security_slider preference
+ // changes mid-session because this should always require a restart.
+ if (noscriptPersist && noscriptInited) {
+ logger.warn(
+ `Not initialising NoScript since the user has set ${persistPref}`
);
+ return;
}
+ // Read the security level, even if the user has the "custom"
+ // preference.
+ const securityIndex = Services.prefs.getIntPref(kSliderPref, 0);
+ const safetyLevel = securitySliderToSafetyLevel(securityIndex);
+ // May throw if NoScript fails to apply the settings:
+ const noscriptResult = await sendNoScriptSettings(
+ noscriptSettings(safetyLevel)
+ );
+ // Mark the NoScript extension as initialised so we do not reset it
+ // at the next startup for noscript_persist users.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, true);
+ logger.info("NoScript successfully initialised.");
+ // In the future NoScript may tell us more about how it applied our
+ // settings, e.g. if user is overriding per-site permissions.
+ // Up to NoScript 12.6 noscriptResult is undefined.
+ logger.debug("NoScript response:", noscriptResult);
} catch (e) {
- logger.exception(e);
+ logger.error("Could not apply NoScript settings", e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
waitForExtensionMessage(noscriptID, a => a.__meta.name === "started").then(
@@ -242,6 +235,8 @@ var initializeNoScriptControl = () => {
logger.info("Listening for messages from NoScript.");
} catch (e) {
logger.exception(e);
+ // Treat as a custom security level for the rest of the session.
+ Services.prefs.setBoolPref(kCustomPref, true);
}
};
@@ -271,16 +266,60 @@ const kSecuritySettings = {
// ### Prefs
+/**
+ * Amend the security level index to a standard value.
+ *
+ * @param {integer} index - The input index value.
+ * @returns {integer} - A standard index value.
+ */
+function fixupIndex(index) {
+ if (!Number.isInteger(index) || index < 1 || index > 4) {
+ // Unexpected value out of range, go to the "safest" level as a fallback.
+ return 1;
+ }
+ if (index === 3) {
+ // Migrate from old medium-low (3) to new medium (2).
+ return 2;
+ }
+ return index;
+}
+
+/**
+ * A list of preference observers that should be disabled whilst we write our
+ * preference values.
+ *
+ * @type {{ prefName: string, observer: object }[]}
+ */
+const prefObservers = [];
+
// __write_setting_to_prefs(settingIndex)__.
// Take a given setting index and write the appropriate pref values
// to the pref database.
var write_setting_to_prefs = function (settingIndex) {
- Object.keys(kSecuritySettings).forEach(prefName =>
- Services.prefs.setBoolPref(
- prefName,
- kSecuritySettings[prefName][settingIndex]
- )
- );
+ settingIndex = fixupIndex(settingIndex);
+ // Don't want to trigger our internal observers when setting ourselves.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.removeObserver(prefName, observer);
+ }
+ try {
+ // Make sure noscript is re-initialised at the next startup when the
+ // security level changes.
+ Services.prefs.setBoolPref(kNoScriptInitedPref, false);
+ Services.prefs.setIntPref(kSliderPref, settingIndex);
+ // NOTE: We do not clear kCustomPref. Instead, we rely on the preference
+ // being cleared on the next startup.
+ Object.keys(kSecuritySettings).forEach(prefName =>
+ Services.prefs.setBoolPref(
+ prefName,
+ kSecuritySettings[prefName][settingIndex]
+ )
+ );
+ } finally {
+ // Re-add the observers.
+ for (const { prefName, observer } of prefObservers) {
+ Services.prefs.addObserver(prefName, observer);
+ }
+ }
};
// __read_setting_from_prefs()__.
@@ -309,24 +348,6 @@ var read_setting_from_prefs = function (prefNames) {
return null;
};
-// __watch_security_prefs(onSettingChanged)__.
-// Whenever a pref bound to the security slider changes, onSettingChanged
-// is called with the new security setting value (1,2,3,4 or null).
-// Returns a zero-arg function that ends this binding.
-var watch_security_prefs = function (onSettingChanged) {
- let prefNames = Object.keys(kSecuritySettings);
- let unbindFuncs = [];
- for (let prefName of prefNames) {
- unbindFuncs.push(
- bindPrefAndInit(prefName, () =>
- onSettingChanged(read_setting_from_prefs())
- )
- );
- }
- // Call all the unbind functions.
- return () => unbindFuncs.forEach(unbind => unbind());
-};
-
// __initialized__.
// Have we called initialize() yet?
var initializedSecPrefs = false;
@@ -342,36 +363,82 @@ var initializeSecurityPrefs = function () {
}
logger.info("Initializing security-prefs.js");
initializedSecPrefs = true;
- // When security_custom is set to false, apply security_slider setting
- // to the security-sensitive prefs.
- bindPrefAndInit(kCustomPref, function (custom) {
- if (custom === false) {
- write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref));
- }
- });
- // If security_slider is given a new value, then security_custom should
- // be set to false.
- bindPref(kSliderPref, function (prefIndex) {
+
+ const wasCustom = Services.prefs.getBoolPref(kCustomPref, false);
+ // For new profiles with no user preference, the security level should be "4"
+ // and it should not be custom.
+ let desiredIndex = Services.prefs.getIntPref(kSliderPref, 4);
+ desiredIndex = fixupIndex(desiredIndex);
+ // Make sure the user has a set preference user value.
+ Services.prefs.setIntPref(kSliderPref, desiredIndex);
+ Services.prefs.setBoolPref(kCustomPref, wasCustom);
+
+ // Make sure that the preference values at application startup match the
+ // expected values for the desired security level. See tor-browser#43783.
+
+ // NOTE: We assume that the controlled preference values that are read prior
+ // to profile-after-change do not change in value before this method is
+ // called. I.e. we expect the current preference values to match the
+ // preference values that were used during the application initialisation.
+ const effectiveIndex = read_setting_from_prefs();
+
+ if (wasCustom && effectiveIndex !== null) {
+ logger.info(`Custom startup values match index ${effectiveIndex}`);
+ // Do not consider custom any more.
+ // NOTE: This level needs to be set before it is read elsewhere. In
+ // particular, for the NoScript addon.
Services.prefs.setBoolPref(kCustomPref, false);
- write_setting_to_prefs(prefIndex);
+ Services.prefs.setIntPref(kSliderPref, effectiveIndex);
+ } else if (!wasCustom && effectiveIndex !== desiredIndex) {
+ // NOTE: We assume all our controlled preferences require a restart.
+ // In practice, only a subset of these preferences may actually require a
+ // restart, so we could switch their values. But we treat them all the same
+ // for simplicity, consistency and stability in case mozilla changes the
+ // restart requirements.
+ logger.info(`Startup values do not match for index ${desiredIndex}`);
+ SecurityLevelPrefs.requireRestart();
+ }
+
+ // Start listening for external changes to the controlled preferences.
+ prefObservers.push({
+ prefName: kCustomPref,
+ observer: bindPref(kCustomPref, custom => {
+ // Custom flag was removed mid-session. Requires a restart to apply the
+ // security level.
+ if (custom === false) {
+ logger.info("Custom flag was cleared externally");
+ SecurityLevelPrefs.requireRestart();
+ }
+ }),
});
- // If a security-sensitive pref changes, then decide if the set of pref values
- // constitutes a security_slider setting or a custom value.
- watch_security_prefs(settingIndex => {
- if (settingIndex === null) {
- Services.prefs.setBoolPref(kCustomPref, true);
- } else {
- Services.prefs.setIntPref(kSliderPref, settingIndex);
- Services.prefs.setBoolPref(kCustomPref, false);
- }
+ prefObservers.push({
+ prefName: kSliderPref,
+ observer: bindPref(kSliderPref, () => {
+ // Security level was changed mid-session. Requires a restart to apply.
+ logger.info("Security level was changed externally");
+ SecurityLevelPrefs.requireRestart();
+ }),
});
- // Migrate from old medium-low (3) to new medium (2).
- if (
- Services.prefs.getBoolPref(kCustomPref) === false &&
- Services.prefs.getIntPref(kSliderPref) === 3
- ) {
- Services.prefs.setIntPref(kSliderPref, 2);
- write_setting_to_prefs(2);
+
+ for (const prefName of Object.keys(kSecuritySettings)) {
+ prefObservers.push({
+ prefName,
+ observer: bindPref(prefName, () => {
+ logger.warn(
+ `The controlled preference ${prefName} was changed externally.` +
+ " Treating as a custom security level."
+ );
+ // Something outside of this module changed the preference value for a
+ // preference we control.
+ // Always treat as a custom security level for the rest of this session,
+ // even if the new preference values match a pre-set security level. We
+ // do this because some controlled preferences require a restart to be
+ // properly applied. See tor-browser#43783.
+ // In the case where it does match a pre-set security level, the custom
+ // flag will be cleared at the next startup.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ }),
+ });
}
logger.info("security-prefs.js initialization complete");
@@ -425,8 +492,9 @@ export class SecurityLevel {
init() {
migratePreferences();
- initializeNoScriptControl();
+ // Fixup our preferences before we pass on the security level to NoScript.
initializeSecurityPrefs();
+ initializeNoScriptControl();
}
observe(aSubject, aTopic) {
@@ -436,10 +504,19 @@ export class SecurityLevel {
}
}
+/**
+ * @typedef {object} SecurityLevelRestartNotificationHandler
+ *
+ * An object that can serve the user a restart notification.
+ *
+ * @property {Function} tryRestartBrowser - The method that should be called to
+ * ask the user to restart the browser.
+ */
+
/*
Security Level Prefs
- Getters and Setters for relevant torbutton prefs
+ Getters and Setters for relevant security level prefs
*/
export const SecurityLevelPrefs = {
SecurityLevels: Object.freeze({
@@ -450,6 +527,14 @@ export const SecurityLevelPrefs = {
security_slider_pref: "browser.security_level.security_slider",
security_custom_pref: "browser.security_level.security_custom",
+ /**
+ * The current security level preference.
+ *
+ * This ignores any custom settings the user may have changed, and just
+ * gives the underlying security level.
+ *
+ * @type {?string}
+ */
get securityLevel() {
// Set the default return value to 0, which won't match anything in
// SecurityLevels.
@@ -459,18 +544,146 @@ export const SecurityLevelPrefs = {
)?.[0];
},
- set securityLevel(level) {
- const val = this.SecurityLevels[level];
- if (val !== undefined) {
- Services.prefs.setIntPref(this.security_slider_pref, val);
- }
+ /**
+ * Set the desired security level just before a restart.
+ *
+ * The caller must restart the browser after calling this method.
+ *
+ * @param {string} level - The name of the new security level to set.
+ */
+ setSecurityLevelBeforeRestart(level) {
+ write_setting_to_prefs(this.SecurityLevels[level]);
},
+ /**
+ * Whether the user has any custom setting values that do not match a pre-set
+ * security level.
+ *
+ * @type {boolean}
+ */
get securityCustom() {
return Services.prefs.getBoolPref(this.security_custom_pref);
},
- set securityCustom(val) {
- Services.prefs.setBoolPref(this.security_custom_pref, val);
+ /**
+ * A summary of the current security level.
+ *
+ * If the user has some custom settings, this returns "custom". Otherwise
+ * returns the name of the security level.
+ *
+ * @type {string}
+ */
+ get securityLevelSummary() {
+ if (this.securityCustom) {
+ return "custom";
+ }
+ return this.securityLevel ?? "custom";
+ },
+
+ /**
+ * Whether the browser should be restarted to apply the security level.
+ *
+ * @type {boolean}
+ */
+ _needRestart: false,
+
+ /**
+ * The external handler that can show a notification to the user, if any.
+ *
+ * @type {?SecurityLevelRestartNotificationHandler}
+ */
+ _restartNotificationHandler: null,
+
+ /**
+ * Set the external handler for showing notifications to the user.
+ *
+ * This should only be called once per session once the handler is ready to
+ * show a notification, which may occur immediately during this call.
+ *
+ * @param {SecurityLevelRestartNotificationHandler} handler - The new handler
+ * to use.
+ */
+ setRestartNotificationHandler(handler) {
+ logger.info("Restart notification handler is set");
+ this._restartNotificationHandler = handler;
+ if (this._needRestart) {
+ // Show now using the new handler.
+ this._tryShowRestartNotification();
+ }
+ },
+
+ /**
+ * A promise for any ongoing notification prompt task.
+ *
+ * @type {Promise}
+ */
+ _restartNotificationPromise: null,
+
+ /**
+ * Try show a notification to the user.
+ *
+ * If no notification handler has been attached yet, this will do nothing.
+ */
+ async _tryShowRestartNotification() {
+ if (!this._restartNotificationHandler) {
+ logger.info("Missing a restart notification handler");
+ // This may be added later in the session.
+ return;
+ }
+
+ const prevPromise = this._restartNotificationPromise;
+ let resolve;
+ ({ promise: this._restartNotificationPromise, resolve } =
+ Promise.withResolvers());
+ await prevPromise;
+
+ try {
+ await this._restartNotificationHandler?.tryRestartBrowser();
+ } finally {
+ // Allow the notification to be shown again.
+ resolve();
+ }
+ },
+
+ /**
+ * Mark the session as requiring a restart to apply a change in security
+ * level.
+ *
+ * The security level will immediately be switched to "custom", and the user
+ * may be shown a notification to restart the browser.
+ */
+ requireRestart() {
+ logger.warn("The browser needs to be restarted to set the security level");
+ // Treat as a custom security level for the rest of the session.
+ // At the next startup, the custom flag may be cleared if the settings are
+ // as expected.
+ Services.prefs.setBoolPref(kCustomPref, true);
+ this._needRestart = true;
+
+ // NOTE: We need to change the controlled security level preferences in
+ // response to the desired change in security level. We could either:
+ // 1. Only change the controlled preferences after the user confirms a
+ // restart. Or
+ // 2. Change the controlled preferences and then try and ask the user to
+ // restart.
+ //
+ // We choose the latter:
+ // 1. To allow users to manually restart.
+ // 2. If the user ignores or misses the notification, they will at least be
+ // in the correct state when the browser starts again. Although they will
+ // be in a custom/undefined state in the mean time.
+ // 3. Currently Android relies on triggering the change in security level
+ // by setting the browser.security_level.security_slider preference
+ // value. So it currently uses this path. So we need to set the values
+ // now, before it preforms a restart.
+ // TODO: Have android use the `setSecurityLevelBeforeRestart` method
+ // instead of setting the security_slider preference value directly, so that
+ // it knows exactly when it can restart the browser. tor-browser#43820
+ write_setting_to_prefs(Services.prefs.getIntPref(kSliderPref, 0));
+ // NOTE: Even though we have written the preferences, the session should
+ // still be marked as "custom" because:
+ // 1. Some preferences require a browser restart to be applied.
+ // 2. NoScript has not been updated with the new settings.
+ this._tryShowRestartNotification();
},
}; /* Security Level Prefs */
=====================================
toolkit/locales/en-US/toolkit/global/base-browser.ftl
=====================================
@@ -128,10 +128,6 @@ security-level-toolbar-button-custom =
# Uses sentence case in English (US).
security-level-panel-heading = Security level
-
-security-level-panel-level-standard = Standard
-security-level-panel-level-safer = Safer
-security-level-panel-level-safest = Safest
security-level-panel-learn-more-link = Learn more
# Button to open security level settings.
security-level-panel-open-settings-button = Settings…
@@ -141,6 +137,19 @@ security-level-panel-open-settings-button = Settings…
security-level-preferences-heading = Security Level
security-level-preferences-overview = Disable certain web features that can be used to attack your security and anonymity.
security-level-preferences-learn-more-link = Learn more
+# Text for a badge that labels the currently active security level.
+# The text in between '<span>' and '</span>' should contain some kind of bracket, like '(' and ')', or other punctuation used in your language to separate out text from its surrounding context. This will not be visible, but will be use for screen readers to make it clear that the text is not part of the same sentence. For example, in US English this would be read as "(Current level)", and the full line of text would be read as "Safest (Current level)".
+security-level-preferences-current-badge = <span>(</span>Current level<span>)</span>
+security-level-preferences-change-button = Change…
+
+## Security level settings dialog.
+
+security-level-dialog-window =
+ .title = Change security level
+
+# '-brand-short-name' is the localized browser name, like "Tor Browser".
+security-level-dialog-restart-description = You will need to restart { -brand-short-name } to apply any changes. This will close all windows and tabs.
+
security-level-preferences-level-standard =
.label = Standard
security-level-preferences-level-safer =
@@ -148,6 +157,16 @@ security-level-preferences-level-safer =
security-level-preferences-level-safest =
.label = Safest
+security-level-dialog-save-restart =
+ .label = Save and restart
+
+## Security level names shown in the security panel and settings.
+
+security-level-panel-level-standard = Standard
+security-level-panel-level-safer = Safer
+security-level-panel-level-safest = Safest
+security-level-panel-level-custom = Custom
+
## Security level summaries shown in security panel and settings.
security-level-summary-standard = All browser and website features are enabled.
@@ -166,13 +185,13 @@ security-level-preferences-bullet-limit-font-and-symbols-and-images = Some fonts
## Custom security level.
## Some custom preferences configuration has placed the user outside one of the standard three levels.
-# Shown in the security level panel as an orange badge next to the expected level.
-security-level-panel-custom-badge = Custom
-# Shown in the security level settings in a warning box.
-security-level-preferences-custom-heading = Custom security level configured
# Description of custom state and recommended action.
# Shown in the security level panel and settings.
security-level-summary-custom = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
-# Button to undo custom changes to the security level and place the user in one of the standard security levels.
-# Shown in the security level panel and settings.
-security-level-restore-defaults-button = Restore defaults
+
+## Security level restart prompt.
+
+security-level-restart-prompt-title = Your security level settings require a restart
+security-level-restart-prompt-body = You must restart { -brand-short-name } for your security level settings to be applied. This will close all your windows and tabs.
+security-level-restart-prompt-button-restart = Restart
+security-level-restart-prompt-button-ignore = Ignore
=====================================
toolkit/modules/TorAndroidIntegration.sys.mjs
=====================================
@@ -11,6 +11,7 @@ ChromeUtils.defineESModuleGetters(lazy, {
TorProviderBuilder: "resource://gre/modules/TorProviderBuilder.sys.mjs",
TorProviderTopics: "resource://gre/modules/TorProviderBuilder.sys.mjs",
TorSettings: "resource://gre/modules/TorSettings.sys.mjs",
+ SecurityLevelPrefs: "resources://gre/modules/SecurityLevel.sys.mjs",
});
const Prefs = Object.freeze({
@@ -34,6 +35,8 @@ const EmittedEvents = Object.freeze({
});
const ListenedEvents = Object.freeze({
+ securityLevelGet: "GeckoView:Tor:SecurityLevelGet",
+ securityLevelSetBeforeRestart: "GeckoView:Tor:SecurityLevelSetBeforeRestart",
settingsGet: "GeckoView:Tor:SettingsGet",
// The data is passed directly to TorSettings.
settingsSet: "GeckoView:Tor:SettingsSet",
@@ -171,6 +174,20 @@ class TorAndroidIntegrationImpl {
logger.debug(`Received event ${event}`, data);
try {
switch (event) {
+ case ListenedEvents.securityLevelGet:
+ // "standard"/"safer"/"safest"
+ // TODO: Switch to securityLevelSummary to allow android to handle
+ // "custom" security level. tor-browser#43819
+ callback?.onSuccess(lazy.SecurityLevelPrefs.securityLevel);
+ break;
+ case ListenedEvents.securityLevelSetBeforeRestart:
+ lazy.SecurityLevelPrefs.setSecurityLevelBeforeRestart(data.levelName);
+ // Let the caller know that the setting is applied and the browser
+ // should be restarted now.
+ // NOTE: The caller must wait for this callback before triggering
+ // the restart.
+ callback?.onSuccess();
+ break;
case ListenedEvents.settingsGet:
callback?.onSuccess(lazy.TorSettings.getSettings());
return;
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e8925f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e8925f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Fix android artifacts path (2)
by brizental (@brizental) 03 Jun '25
by brizental (@brizental) 03 Jun '25
03 Jun '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
4727bc62 by Nicolas Vigier at 2025-06-02T08:55:42+02:00
Bug 41444: Fix android artifacts path (2)
- - - - -
1 changed file:
- projects/browser/build.android
Changes:
=====================================
projects/browser/build.android
=====================================
@@ -121,6 +121,6 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% END -%]
[% IF c("var/nightly") -%]
- mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts
+ mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts"
cp -r $rootdir/geckoview/artifacts [% dest_dir %]/[% c('filename') %]
[% END %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/4…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag base-browser-140.0a1-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 28 May '25
by Pier Angelo Vendrame (@pierov) 28 May '25
28 May '25
Pier Angelo Vendrame pushed new tag base-browser-140.0a1-15.0-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-140.0a1-15.0-1
by Pier Angelo Vendrame (@pierov) 28 May '25
by Pier Angelo Vendrame (@pierov) 28 May '25
28 May '25
Pier Angelo Vendrame pushed new branch base-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-140.0a1-15.0-1-build1
by Pier Angelo Vendrame (@pierov) 28 May '25
by Pier Angelo Vendrame (@pierov) 28 May '25
28 May '25
Pier Angelo Vendrame pushed new tag tor-browser-140.0a1-15.0-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 250 commits: BB 41454: Move focus after calling openPreferences for a sub-category.
by Pier Angelo Vendrame (@pierov) 28 May '25
by Pier Angelo Vendrame (@pierov) 28 May '25
28 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
1c62dcd0 by Henry Wilkes at 2025-05-26T17:09:46+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
6234deaa by Henry Wilkes at 2025-05-26T17:09:46+02:00
BB 43072: Add aria label and description to moz-message-bar.
Ensures that moz-message-bar, including notifications, are announced on
Orca.
This addresses upstream bugzilla bug 1895857 and should likely be
replaced when it is fixed.
- - - - -
22871bbd by Henry Wilkes at 2025-05-26T17:09:47+02:00
BB 42739: Use the brand name for profile error messages.
Some messages in profileSelection.properties use gAppData->name as
variable inputs. However, gAppData->name is still "Firefox" for our
base-browser builds, rather than the user-facing browser name. We swap
these instances with the displayed brand name instead.
- - - - -
e0b3463d by Henry Wilkes at 2025-05-26T17:09:47+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
514551af by Marco Simonelli at 2025-05-26T17:09:47+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
db0eb2d7 by Marco Simonelli at 2025-05-26T17:09:48+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
0e04f6e2 by Marco Simonelli at 2025-05-26T17:09:48+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
57ae2660 by Marco Simonelli at 2025-05-26T17:09:48+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
cb1c8f2e by Marco Simonelli at 2025-05-26T17:09:49+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
f270801c by Marco Simonelli at 2025-05-26T17:09:49+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
85b745ac by june wilde at 2025-05-26T17:09:49+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
6983b3d4 by Pier Angelo Vendrame at 2025-05-26T17:09:50+02:00
fixup! BB 42758: Fix WebRTC build errors.
MB 436: Link to pthread on mingw.
- - - - -
bf7456e3 by hackademix at 2025-05-26T17:09:50+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
77d83e7c by hackademix at 2025-05-26T17:09:50+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
c828018a by Pier Angelo Vendrame at 2025-05-26T17:09:51+02:00
BB 42220: Allow for more file types to be forced-inline.
Firefox allows to open some files in the browser without any
confirmation, but this will result in a disk leak, because the file will
be downloaded to the temporary directory first (and not deleted, in some
cases).
A preference allows PDFs to be opened without being downloaded to disk.
So, we introduce a similar one to do the same for all the files that are
set to be opened automatically in the browser.
- - - - -
7363fb2b by hackademix at 2025-05-26T17:09:51+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
6cd5e7a4 by Beatriz Rizental at 2025-05-26T17:09:51+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
18bb3759 by Gaba at 2025-05-26T17:09:52+02:00
Adding issue and merge request templates
- - - - -
4192c445 by Morgan at 2025-05-26T17:09:52+02:00
fixup! Adding issue and merge request templates
revert
- - - - -
6d00d585 by Morgan at 2025-05-26T17:09:53+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
394898ab by Morgan at 2025-05-26T17:09:53+02:00
fixup! BB 43615: Add Gitlab Issue and Merge Request templates
add new and modify existing shared Tor/Mullvad browser templates
- - - - -
fa1f6dc5 by Richard Pospesel at 2025-05-26T17:09:53+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
2a69ab71 by Henry Wilkes at 2025-05-26T17:09:54+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
2489421e by Beatriz Rizental at 2025-05-26T17:09:54+02:00
BB 43535: Enable tests
- - - - -
c4ab567d by Beatriz Rizental at 2025-05-28T15:41:31+02:00
Add CI for Base Browser
- - - - -
5d0374cb by Beatriz Rizental at 2025-05-28T15:41:44+02:00
fixup! Add CI for Base Browser
- - - - -
c0675a5c by Beatriz Rizental at 2025-05-28T15:41:44+02:00
fixup! Add CI for Base Browser
Timeout `git fetch` if takes longer than 3min.
Long fetched are very expensive and due to the amount of
parallel jobs our CI can execute at a time too many long
fetches can cause significant slowness on our Gitlab instance.
- - - - -
27f34247 by Beatriz Rizental at 2025-05-28T15:41:44+02:00
fixup! Add CI for Base Browser
- - - - -
0050e300 by Pier Angelo Vendrame at 2025-05-28T15:41:45+02:00
Base Browser's .mozconfigs.
Bug 17858: Cannot create incremental MARs for hardened builds.
Define HOST_CFLAGS, etc. to avoid compiling programs such as mbsdiff
(which is part of mar-tools and is not distributed to end-users) with
ASan.
Bug 21849: Don't allow SSL key logging.
Bug 25741 - TBA: Disable features at compile-time
Define MOZ_ANDROID_NETWORK_STATE and MOZ_ANDROID_LOCATION
Bug 27623 - Export MOZILLA_OFFICIAL during desktop builds
This fixes a problem where some preferences had the wrong default value.
Also see bug 27472 where we made a similar fix for Android.
Bug 29859: Disable HLS support for now
Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING
Bug 32493: Disable MOZ_SERVICES_HEALTHREPORT
Bug 33734: Set MOZ_NORMANDY to False
Bug 33851: Omit Parental Controls.
Bug 40252: Add --enable-rust-simd to our tor-browser mozconfig files
Bug 41584: Move some configuration options to base-browser level
- - - - -
4c25687d by Pier Angelo Vendrame at 2025-05-28T15:41:45+02:00
fixup! Base Browser's .mozconfigs.
BB 43772: Do not use official branding for BB/TB/MB.
We already pass --with-branding in our builds, no need to also pass
this option.
However, we should further audit what this option does, and try to
recall why we added it at a certain point.
- - - - -
2b316362 by Pier Angelo Vendrame at 2025-05-28T15:41:46+02:00
Tweaks to the build system
Bug 40857: Modified the fat .aar creation file
This is a workaround to build fat .aars with the compiling enviornment
disabled.
Mozilla does not use a similar configuration, but either runs a Firefox
build and discards its output, or uses artifacts build.
We might switch to artifact builds too, and drop this patch, or write a
better one to upstream. But until then we need this patch.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1763770.
Bug 41458: Prevent `mach package-multi-locale` from actually creating a package
macOS builds need some files to be moved around with
./mach package-multi-locale to create multi-locale packages.
The required command isn't exposed through any other mach command.
So, we patch package-multi-locale both to prevent it from failing when
doing official builds and to detect any future changes on it.
- - - - -
938f1225 by Beatriz Rizental at 2025-05-28T15:41:46+02:00
fixup! Tweaks to the build system
- - - - -
a822cf5d by Pier Angelo Vendrame at 2025-05-28T15:41:46+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
08268254 by Pier Angelo Vendrame at 2025-05-28T15:41:47+02:00
BB 42616: Remove VideoCaptureTest.kt.
This is a workaround to fix the GeckoView build with WebRTC disabled.
We should replace this workaround with a proper solution, that
excludes this test when MOZ_WEBRTC is undefined/False.
- - - - -
52e5b614 by Pier Angelo Vendrame at 2025-05-28T15:41:47+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
e4419bb2 by Dan Ballard at 2025-05-28T15:41:47+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
900165b8 by Henry Wilkes at 2025-05-28T15:41:48+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
ea0e01a5 by Matthew Finkel at 2025-05-28T15:41:48+02:00
BB 24796: Comment out excess permissions from GeckoView
The GeckoView AndroidManifest.xml is not preprocessed unlike Fennec's
manifest, so we can't use the ifdef preprocessor guards around the
permissions we do not want. Commenting the permissions is the
next-best-thing.
- - - - -
bc45cfff by Matthew Finkel at 2025-05-28T15:41:48+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
ddde35fe by Mike Perry at 2025-05-28T15:41:49+02:00
BB 12974: Disable NTLM and Negotiate HTTP Auth
The Mozilla bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1046421,
https://bugzilla.mozilla.org/show_bug.cgi?id=1261591, tor-browser#27602
- - - - -
49a51c04 by cypherpunks1 at 2025-05-28T15:41:49+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
9884ff20 by Georg Koppen at 2025-05-28T15:41:49+02:00
BB 16285: Exclude ClearKey system for now
In the past the ClearKey system had not been compiled when specifying
--disable-eme. But that changed and it is even bundled nowadays (see:
Mozilla's bug 1300654). We don't want to ship it right now as the use
case for it is not really visible while the code had security
vulnerabilities in the past.
- - - - -
a82e5f90 by Kathy Brade at 2025-05-28T15:41:50+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
382bf2ac by Kathy Brade at 2025-05-28T15:41:50+02:00
BB 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc.
Hide elements on about:logins that mention sync, "Firefox LockWise", and
Mozilla's LockWise mobile apps.
Disable the "Create New Login" button when security.nocertdb is true.
- - - - -
a289e7df by Alex Catarineu at 2025-05-28T15:41:50+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
e00de157 by Kathy Brade at 2025-05-28T15:41:50+02:00
BB 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
102c83ee by Morgan at 2025-05-28T15:41:51+02:00
BB 42716: Disable unwanted about: pages
- - - - -
a4f069da by Arthur Edelstein at 2025-05-28T15:41:51+02:00
BB 26353: Prevent speculative connect that violated FPI.
Connections were observed in the catch-all circuit when
the user entered an https or http URL in the URL bar, or
typed a search term.
- - - - -
7b25e93c by Alex Catarineu at 2025-05-28T15:41:51+02:00
BB 31740: Remove some unnecessary RemoteSettings instances
More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.
Avoid creating instance for 'anti-tracking-url-decoration'.
If prefs are disabling their usage, avoid creating instances for
'cert-revocations' and 'intermediates'.
Do not ship JSON dumps for collections we do not expect to need. For
the ones in the 'main' bucket, this prevents them from being synced
unnecessarily (the code in remote-settings does so for collections
in the main bucket for which a dump or local data exists). For the
collections in the other buckets, we just save some size by not
shipping their dumps.
We also clear the collections database on the v2 -> v3 migration.
- - - - -
0c62a555 by cypherpunks1 at 2025-05-28T15:41:52+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
5cbfb77b by cypherpunks1 at 2025-05-28T15:41:52+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
d7cf14d6 by Pier Angelo Vendrame at 2025-05-28T15:41:52+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
4d0ade2f by Georg Koppen at 2025-05-28T15:41:53+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
5977dd10 by Alex Catarineu at 2025-05-28T15:41:53+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
d4cd197b by Henry Wilkes at 2025-05-28T15:41:53+02:00
BB 42630: Disable LaterRun module.
- - - - -
d8994e73 by Pier Angelo Vendrame at 2025-05-28T15:41:54+02:00
BB 41599: Always return an empty string as network ID
Firefox computes an internal network ID used to detect network changes
and act consequently (e.g., to improve WebSocket UX).
However, there are a few ways to get this internal network ID, so we
patch them out, to be sure any new code will not be able to use them and
possibly link users.
We also sent a patch to Mozilla to seed the internal network ID, to
prevent any accidental leak in the future.
Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1817756
- - - - -
b2221cc1 by Pier Angelo Vendrame at 2025-05-28T15:41:54+02:00
BB 43386: Use Firefox in the UA in RFP-exempt request.
XHR requests initiated by extensions are exempt from RFP.
Therefore, they report the actual app name, instead of Firefox, and the
actual Firefox minor version.
This happens whenever the app name has been customized and does not
match a hardcoded "Firefox".
- - - - -
582fb566 by Richard Pospesel at 2025-05-28T15:41:54+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
239cda66 by Richard Pospesel at 2025-05-28T15:41:55+02:00
BB 42037: Disable about:firefoxview page
- - - - -
55ebd812 by Mike Perry at 2025-05-28T15:41:55+02:00
Firefox preference overrides.
- - - - -
67857bba by Pier Angelo Vendrame at 2025-05-28T15:41:55+02:00
fixup! Firefox preference overrides.
BB 43322: Switch from font whitelist to font visibility.
- - - - -
784e69d5 by Pier Angelo Vendrame at 2025-05-28T15:41:56+02:00
fixup! Firefox preference overrides.
This reverts commit ce4889c9f51d60761ffcbd416eac50ed6490fed9.
- - - - -
f1d2dce2 by Neel Chauhan at 2025-05-28T15:41:56+02:00
fixup! Firefox preference overrides.
- - - - -
fc07d241 by hackademix at 2025-05-28T15:41:56+02:00
fixup! Firefox preference overrides.
Disable the UITour API.
- - - - -
a8ae555a by Pier Angelo Vendrame at 2025-05-28T15:41:56+02:00
BB 43140: Tighten up fonts on Linux.
We ship a fontconfig configuration to esnure all Linux users have the
same defaults and reduce the chances of fingerprinting.
We used to add this file in tor-browser-build, but some users might
skip it by using the browser executable without the wrapper script.
Therefore, we decided to activate the file with the FontConfig API
instead of the environment variables.
Bug 41043: Hardcode the UI font on Linux
The mechanism to choose the UI font does not play well with our
fontconfig configuration. As a result, the final criterion to choose
the font for the UI was its version.
Since we hardcode Arimo as a default sans-serif on preferences, we use
it also for the UI. FontConfig will fall back to some other font for
scripts Arimo does not cover as expected (we tested with Japanese).
Bug 43141: Hardcode system-ui to Arimo.
- - - - -
99057ccc by Pier Angelo Vendrame at 2025-05-28T15:41:57+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
1f42eb59 by Pier Angelo Vendrame at 2025-05-28T15:41:57+02:00
BB 43322: Customize the font visibility lists.
Customize the lists of fonts to assign base visibility to in
base browser and derivatives.
Also, rename the files with the upstream lists, to make sure we do not
use them by mistake.
- - - - -
ee1c5ed2 by Alex Catarineu at 2025-05-28T15:41:57+02:00
BB 30605: Honor privacy.spoof_english in Android
This checks `privacy.spoof_english` whenever `setLocales` is
called from Fenix side and sets `intl.accept_languages`
accordingly.
Bug 40198: Expose privacy.spoof_english pref in GeckoView
- - - - -
b67fef89 by Pier Angelo Vendrame at 2025-05-28T15:41:58+02:00
BB 42562: Normalized the Accepted Languages on Android.
The OS language might be outside the list of actually supported
languages and it might leak the user's region.
Therefore, we force the locale reported in Accept-Language to match one
we support with translations, even when it means using a not exact
region tag.
- - - - -
1ab699e3 by Alex Catarineu at 2025-05-28T15:41:58+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
6c84558c by Alex Catarineu at 2025-05-28T15:41:58+02:00
BB 26345: Hide tracking protection UI
- - - - -
9bb2c24e by Henry Wilkes at 2025-05-28T15:41:59+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
2782538f by Henry Wilkes at 2025-05-28T15:41:59+02:00
BB 42777: Hide Website Privacy Preferences.
We hide the Website Privacy Preferences section, which controls the
"global privacy control" (GPC) and "do not track" (DNT) settings.
- - - - -
eb5cb49b by Morgan at 2025-05-28T15:41:59+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
4141c66b by Arthur Edelstein at 2025-05-28T15:42:00+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
179ad128 by Pier Angelo Vendrame at 2025-05-28T15:42:00+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
f3f33d38 by Henry Wilkes at 2025-05-28T15:42:00+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
a1e00a1d by Pier Angelo Vendrame at 2025-05-28T15:42:01+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
95c02c14 by Henry Wilkes at 2025-05-28T15:42:01+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
26edd84d by Pier Angelo Vendrame at 2025-05-28T15:42:01+02:00
BB 9173: Change the default Firefox profile directory to be relative.
This commit makes Firefox look for the default profile directory in a
directory relative to the binary path.
The directory can be specified through the --with-relative-data-dir.
This is relative to the same directory as the firefox main binary for
Linux and Windows.
On macOS, we remove Contents/MacOS from it.
Or, in other words, the directory is relative to the application
bundle.
This behavior can be overriden at runtime, by placing a file called
system-install adjacent to the firefox main binary (also on macOS).
- - - - -
10d6ffca by Pier Angelo Vendrame at 2025-05-28T15:42:02+02:00
BB 42773: Replace ~ with the original home.
In Bug 93141, Mozilla started sending users to their home when they type
~ in the URL bar.
On Linux, we change $HOME for various reason, therefore you would be
redirected to the spoofed home directory when typing ~.
So, we check if the original home directory is known, and use that,
instead.
- - - - -
0e277fe6 by Alex Catarineu at 2025-05-28T15:42:02+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
8990bdb1 by Mike Perry at 2025-05-28T15:42:02+02:00
BB 13028: Prevent potential proxy bypass cases.
It looks like these cases should only be invoked in the NSS command line
tools, and not the browser, but I decided to patch them anyway because there
literally is a maze of network function pointers being passed around, and it's
very hard to tell if some random code might not pass in the proper proxied
versions of the networking code here by accident.
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1433509
- - - - -
e12e6a5c by Pier Angelo Vendrame at 2025-05-28T15:42:03+02:00
BB 40309: Avoid using regional OS locales
Avoid regional OS locales if the pref
`intl.regional_prefs.use_os_locales` is false but RFP is enabled.
- - - - -
3afd4c53 by Matthew Finkel at 2025-05-28T15:42:03+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
8d7c6bb8 by Henry Wilkes at 2025-05-28T15:42:03+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
0ec023ac by cypherpunks1 at 2025-05-28T15:42:03+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
3d274eec by cypherpunks1 at 2025-05-28T15:42:04+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
43b9263d by Pier Angelo Vendrame at 2025-05-28T15:42:04+02:00
BB 43196: Remove the vendor name from media notifications on Linux.
Firefox shows "vendor remoteName" as a title of the "... is playing
media" notification on Linux.
However, for our browser the remote name is enough, and prepending the
vendor to it creates a string users usually never see.
- - - - -
c9deac83 by Pier Angelo Vendrame at 2025-05-28T15:42:32+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
084670ab by hackademix at 2025-05-28T15:42:41+02:00
fixup! Base Browser strings
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
f07715ed by Henry Wilkes at 2025-05-28T15:42:41+02:00
fixup! Base Browser strings
TB 43624: Tweak the string letterboxing-size-status.
NOTE: The string has not yet reached translators, so we do not need to
change the ID.
- - - - -
c5b08aae by Henry Wilkes at 2025-05-28T15:42:42+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
046a368e by Pier Angelo Vendrame at 2025-05-28T15:42:42+02:00
BB 41369: Improve Firefox language settings for multi-lingual packages
Change the language selector to be sorted by language code, rather than
name, and to display the language code to the user.
Bug 41372: Handle Japanese as a special case in preferences on macOS
Japanese is treated in a special way on macOS. However, seeing the
Japanese language tag could be confusing for users, and moreover the
language name is not localized correctly like other langs.
Bug 41378: Tell users that they can change their language at the first start
With multi-lingual builds, Tor Browser matches the user's system
language, but some users might want to change it.
So, we tell them that it is possible, but only once.
- - - - -
8db86712 by p13dz at 2025-05-28T15:42:43+02:00
BB 40283: Workaround for the file upload bug
- - - - -
0d944072 by hackademix at 2025-05-28T15:42:43+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
3934dcf8 by hackademix at 2025-05-28T15:42:43+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
8c03211d by Pier Angelo Vendrame at 2025-05-28T15:42:44+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
12d9184c by hackademix at 2025-05-28T15:42:44+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
95f4101c by hackademix at 2025-05-28T15:42:44+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
e449f16d by Pier Angelo Vendrame at 2025-05-28T15:42:45+02:00
fixup! BB 41631: Prevent weird initial window dimensions caused by subpixel computations
BB 43672: Compensate window.resizeTo truncating by ceiling newwin sizes.
- - - - -
69e20cdf by hackademix at 2025-05-28T15:42:45+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
4882e432 by hackademix at 2025-05-28T15:42:45+02:00
BB 41916: Letterboxing preferences UI
- - - - -
9785f054 by Beatriz Rizental at 2025-05-28T15:42:46+02:00
fixup! BB 41916: Letterboxing preferences UI
- - - - -
fa273e5b by hackademix at 2025-05-28T15:42:46+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
38df892c by hackademix at 2025-05-28T15:42:46+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
fb56f0fd by hackademix at 2025-05-28T15:42:46+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
542a541d by hackademix at 2025-05-28T15:42:47+02:00
fixup! BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
BB 43632: Letterboxing, always show the correct size for the active tab on resizing.
BB 43642: New tab shows letterboxing size indicator.
- - - - -
ea3b8776 by Henry Wilkes at 2025-05-28T15:42:47+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
0dcb94e1 by Henry Wilkes at 2025-05-28T15:42:47+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
bddb558b by Kathy Brade at 2025-05-28T15:42:48+02:00
BB 4234: Use the Firefox Update Process for Base Browser.
Windows: disable "runas" code path in updater (15201).
Windows: avoid writing to the registry (16236).
Also includes fixes for tickets 13047, 13301, 13356, 13594, 15406,
16014, 16909, 24476, and 25909.
Also fix bug 27221: purge the startup cache if the Base Browser
version changed (even if the Firefox version and build ID did
not change), e.g., after a minor Base Browser update.
Also fix 32616: Disable GetSecureOutputDirectoryPath() functionality.
Bug 26048: potentially confusing "restart to update" message
Within the update doorhanger, remove the misleading message that mentions
that windows will be restored after an update is applied, and replace the
"Restart and Restore" button label with an existing
"Restart to update Tor Browser" string.
Bug 28885: notify users that update is downloading
Add a "Downloading Base Browser update" item which appears in the
hamburger (app) menu while the update service is downloading a MAR
file. Before this change, the browser did not indicate to the user
that an update was in progress, which is especially confusing in
Tor Browser because downloads often take some time. If the user
clicks on the new menu item, the about dialog is opened to allow
the user to see download progress.
As part of this fix, the update service was changed to always show
update-related messages in the hamburger menu, even if the update
was started in the foreground via the about dialog or via the
"Check for Tor Browser Update" toolbar menu item. This change is
consistent with the Tor Browser goal of making sure users are
informed about the update process.
Removed #28885 parts of this patch which have been uplifted to Firefox.
- - - - -
152c980c by Pier Angelo Vendrame at 2025-05-28T15:42:48+02:00
BB 42061: Create an alpha update channel.
- - - - -
25fe6882 by Nicolas Vigier at 2025-05-28T15:42:48+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
295fba39 by Pier Angelo Vendrame at 2025-05-28T15:42:49+02:00
BB 41603: Customize the creation of MOZ_SOURCE_URL
MOZ_SOURCE_URL is created by combining MOZ_SOURCE_REPO and
MOZ_SOURCE_CHANGESET.
But the code takes for granted that it refers to a Hg instance, so it
combines them as `$MOZ_SOURCE_REPO/rev/$MOZ_SOURCE_CHANGESET`.
With this commit, we change this logic to combine them to create a URL
that is valid for GitLab.
$MOZ_SOURCE_CHANGESET needs to be a commit hash, not a branch or a tag.
If that is needed, we could use /-/tree/, instead of /-/commit/.
- - - - -
2db64d4e by Pier Angelo Vendrame at 2025-05-28T15:42:49+02:00
BB 42438: Tweaks to the migration wizard.
Remove the items not compatible with our features (such as history) from
the migration wizard.
On Linux, allow to specify an alternative home directory, since we
usually change $HOME in our startup script.
- - - - -
7fd30f3c by Alex Catarineu at 2025-05-28T15:42:49+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
7419f78d by Matthew Finkel at 2025-05-28T15:42:50+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
0930d696 by Henry Wilkes at 2025-05-28T15:42:50+02:00
BB 41581: Hide NoScript extension's toolbar button by default.
This hides it from both the toolbar and the unified extensions panel.
We also hide the unified-extension-button if the panel would be empty:
not including the NoScript button when it is hidden. As a result, this
will be hidden by default until a user installs another extension (or
shows the NoScript button and unpins it).
- - - - -
69d2ff3e by hackademix at 2025-05-28T15:42:50+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
0a681da1 by Pier Angelo Vendrame at 2025-05-28T15:42:51+02:00
BB 40925: Implemented the Security Level component
This component adds a new Security Level toolbar button which visually
indicates the current global security level via icon (as defined by the
extensions.torbutton.security_slider pref), a drop-down hanger with a
short description of the current security level, and a new section in
the about:preferences#privacy page where users can change their current
security level. In addition, the hanger and the preferences page will
show a visual warning when the user has modified prefs associated with
the security level and provide a one-click 'Restore Defaults' button to
get the user back on recommended settings.
Bug 40125: Expose Security Level pref in GeckoView
- - - - -
28e48f1b by Pier Angelo Vendrame at 2025-05-28T15:42:51+02:00
BB 40926: Implemented the New Identity feature
- - - - -
a77619cd by Pier Angelo Vendrame at 2025-05-28T15:42:51+02:00
fixup! BB 40926: Implemented the New Identity feature
Fixed oncommands
- - - - -
0aabef4d by Henry Wilkes at 2025-05-28T15:42:52+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
fe2e8642 by Pier Angelo Vendrame at 2025-05-28T15:42:52+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
6c787fd9 by Henry Wilkes at 2025-05-28T15:42:52+02:00
TB 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
f1ba33fb by Richard Pospesel at 2025-05-28T15:42:53+02:00
TB 41649: Create rebase and security backport gitlab issue templates
- - - - -
58cbfcb3 by Henry Wilkes at 2025-05-28T15:42:53+02:00
fixup! TB 41649: Create rebase and security backport gitlab issue templates
TB 43594: Add bugzilla audit issue template.
- - - - -
503530cd by Morgan at 2025-05-28T15:42:53+02:00
fixup! TB 41649: Create rebase and security backport gitlab issue templates
revert
- - - - -
023647fa by Morgan at 2025-05-28T15:42:54+02:00
TB 43616: Customize Gitlab Issue and Merge Request templates
- - - - -
a91e4c4f by Morgan at 2025-05-28T15:42:54+02:00
fixup! TB 43616: Customize Gitlab Issue and Merge Request templates
Tor Browser specific updates
- - - - -
63e24fb9 by Beatriz Rizental at 2025-05-28T15:42:54+02:00
Add CI for Tor Browser
- - - - -
594cfdbd by Richard Pospesel at 2025-05-28T15:42:55+02:00
TB 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
19c4154b by Pier Angelo Vendrame at 2025-05-28T15:42:55+02:00
fixup! TB 41089: Add tor-browser build scripts + Makefile to tor-browser
TB 43799: Updated the path where APKs are located.
- - - - -
a61bd581 by Henry Wilkes at 2025-05-28T15:42:55+02:00
TB 41803: Add some developer tools for working on tor-browser.
- - - - -
8f6c5717 by Alex Catarineu at 2025-05-28T15:42:55+02:00
Add TorStrings module for localization
- - - - -
596bf660 by Henry Wilkes at 2025-05-28T15:42:56+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
9c64773f by Henry Wilkes at 2025-05-28T15:42:56+02:00
Tor Browser localization migration scripts.
- - - - -
d72c0e5d by Mike Perry at 2025-05-28T15:42:56+02:00
TB 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
5de13b56 by Pier Angelo Vendrame at 2025-05-28T15:42:57+02:00
fixup! TB 2176: Rebrand Firefox to TorBrowser
TB 43776: Mark branding files for l10n merge.
- - - - -
2d3d397c by Henry Wilkes at 2025-05-28T15:42:57+02:00
Customize moz-toggle for tor-browser.
- - - - -
59fd27a5 by Henry Wilkes at 2025-05-28T15:42:57+02:00
TB 43087: Add onion-pattern to be used on Tor pages.
- - - - -
7d3002c8 by hackademix at 2025-05-28T15:42:58+02:00
TB 41917: Tor brand-specific styles.
- - - - -
e49b16da by Henry Wilkes at 2025-05-28T15:42:58+02:00
TB 41817: tor-browser semantic colors.
- - - - -
c6689731 by Henry Wilkes at 2025-05-28T15:42:58+02:00
TB 42110: Add TorUIUtils module for common tor component methods.
- - - - -
6dcabe60 by Henry Wilkes at 2025-05-28T15:42:59+02:00
Add purple tor version of the loading APNG.
- - - - -
df6624a8 by Henry Wilkes at 2025-05-28T15:42:59+02:00
TB 42583: Modify moz-support-link for Tor Browser.
- - - - -
d01be18b by sanketh at 2025-05-28T15:42:59+02:00
TB 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
a5e0fb06 by Mike Perry at 2025-05-28T15:43:00+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
292535dd by Henry Wilkes at 2025-05-28T15:43:00+02:00
TB 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
b5f3ac9c by Pier Angelo Vendrame at 2025-05-28T15:43:00+02:00
TB 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
3a407f20 by Pier Angelo Vendrame at 2025-05-28T15:43:01+02:00
fixup! TB 40562: Added Tor Browser preferences to 000-tor-browser.js
TB 43653: Remove spoofOsInUserAgentHeader from 000-tor-browser.js.
This pref does not do anything, as its code has been removed for
tor-browser#43189.
- - - - -
27e95cf8 by Pier Angelo Vendrame at 2025-05-28T15:43:01+02:00
TB 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
309c44c9 by Pier Angelo Vendrame at 2025-05-28T15:43:01+02:00
TB 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
cb7ba22c by Cecylia Bocovich at 2025-05-28T15:43:02+02:00
Lox integration
- - - - -
1b815495 by Beatriz Rizental at 2025-05-28T15:43:02+02:00
fixup! Lox integration
- - - - -
ce9b935e by Richard Pospesel at 2025-05-28T15:43:02+02:00
TB 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
10d546d5 by Pier Angelo Vendrame at 2025-05-28T15:43:02+02:00
fixup! TB 40597: Implement TorSettings module
Sync pt_config.json after tor-browser-build#41425.
- - - - -
7dd1049f by Caspar Schutijser at 2025-05-28T15:43:03+02:00
fixup! TB 40597: Implement TorSettings module
TB 43628: TorConnect: handle unavailability of NetworkLinkService API
Fixes TorConnect on e.g. OpenBSD.
- - - - -
a1481d3a by Arthur Edelstein at 2025-05-28T15:43:03+02:00
TB 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
b0f66c2f by Pier Angelo Vendrame at 2025-05-28T15:43:03+02:00
fixup! TB 3455: Add DomainIsolator, for isolating circuit by domain.
Fixed oncommand
- - - - -
87e5846c by Pier Angelo Vendrame at 2025-05-28T15:43:04+02:00
fixup! TB 3455: Add DomainIsolator, for isolating circuit by domain.
TB 43604: fix DomainIsolator.#clearKnownCircuits on Android.
Window type "navigator:browser" does not match GeckoView sessions.
So, in addition to that, we iterate on "navigator:geckoview" windows.
- - - - -
7f6c11f4 by Henry Wilkes at 2025-05-28T15:43:04+02:00
TB 41600: Add a tor circuit display panel.
- - - - -
7df90033 by Pier Angelo Vendrame at 2025-05-28T15:43:04+02:00
TB 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
4d8b3566 by clairehurst at 2025-05-28T15:43:05+02:00
fixup! TB 42247: Android helpers for the TorProvider
Bug 43576: Connection Assist on Android Fast Follows (Bug 41188)
Rename to regions
- - - - -
8170ea00 by hackademix at 2025-05-28T15:43:05+02:00
TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
d114ef8c by Matthew Finkel at 2025-05-28T15:43:05+02:00
TB 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
659baa84 by Pier Angelo Vendrame at 2025-05-28T15:43:06+02:00
TB 40807: Added QRCode.js to toolkit/modules
- - - - -
69a603cf by Richard Pospesel at 2025-05-28T15:43:06+02:00
TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
37ff4d91 by Beatriz Rizental at 2025-05-28T15:43:06+02:00
fixup! TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
- - - - -
63d1429a by Richard Pospesel at 2025-05-28T15:43:07+02:00
TB 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
9f4c8957 by Beatriz Rizental at 2025-05-28T15:43:07+02:00
fixup! TB 27476: Implement about:torconnect captive portal within Tor Browser
- - - - -
a0a2e68c by Pier Angelo Vendrame at 2025-05-28T15:43:07+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
665464e7 by Henry Wilkes at 2025-05-28T15:43:08+02:00
TB 43405: Show a prompt whenever we fail to apply Tor settings.
- - - - -
1d39bc12 by Henry Wilkes at 2025-05-28T15:43:08+02:00
TB 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
b098ded4 by Henry Wilkes at 2025-05-28T15:43:08+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43567: Use the same update URL in about:tor as the about dialog.
- - - - -
87ac8341 by Pier Angelo Vendrame at 2025-05-28T15:43:09+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43647: Dynamically update the survey language.
We observe the lang attribute of the document element (which normally
is set by Fluent) and we update the survey language whenever it
changes.
- - - - -
e25bfa8b by Henry Wilkes at 2025-05-28T15:43:09+02:00
fixup! TB 7494: Create local home page for TBB.
This reverts commit 2780d106d85ca2fa6d41ef08106d02293f21af2a.
- - - - -
1f642e0a by Henry Wilkes at 2025-05-28T15:43:09+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43647: Use the app locale directly from the parent actor for
setting the survey banner's language.
- - - - -
a1da6715 by Beatriz Rizental at 2025-05-28T15:43:09+02:00
fixup! TB 7494: Create local home page for TBB.
- - - - -
67c77a39 by Pier Angelo Vendrame at 2025-05-28T15:43:10+02:00
TB 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
00bf0b05 by Henry Wilkes at 2025-05-28T15:43:10+02:00
fixup! TB 41668: Tweaks to the Base Browser updater for Tor Browser
TB 43567: Drop torbrowser.post_update.url.
Also, no longer require an override page to be set to open about:tor
after an update.
- - - - -
649d7222 by Kathy Brade at 2025-05-28T15:43:10+02:00
TB 12647: Support symlinks in the updater.
- - - - -
98e4ef5e by Georg Koppen at 2025-05-28T15:43:11+02:00
TB 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
c7c61910 by Pier Angelo Vendrame at 2025-05-28T15:43:11+02:00
TB 42891: Set the bundled search engine for Tor Browser.
After upstream changes between Firefox 115 and 128, we had to
completely rework the way in which we define our search engines.
This commit replaces the old "Omnibox: Add DDG, Startpage, Disconnect,
Youtube, Twitter; remove Amazon, eBay, bing".
With that commit, we customized a list of addons IDs to ship as
built-in search engines, but then upsteam moved to using only
RemoteSettings.
The configuration has many more fields, and it would be quite long to
include it in the source code. Therefore, we use some local JSON files
and load the settings from them.
- - - - -
49c1d841 by Beatriz Rizental at 2025-05-28T15:43:11+02:00
fixup! TB 42891: Set the bundled search engine for Tor Browser.
- - - - -
402c500c by Henry Wilkes at 2025-05-28T15:43:12+02:00
TB 41906: Hide DNS over HTTPS preferences.
- - - - -
76a43a3b by Richard Pospesel at 2025-05-28T15:43:12+02:00
TB 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
f29cbd1c by Kathy Brade at 2025-05-28T15:43:12+02:00
TB 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
b966c025 by Alex Catarineu at 2025-05-28T15:43:13+02:00
TB 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
b005248b by Pier Angelo Vendrame at 2025-05-28T15:43:13+02:00
fixup! TB 21952: Implement Onion-Location
No more inline event handlers
- - - - -
acab9006 by Pier Angelo Vendrame at 2025-05-28T15:43:13+02:00
TB 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
8e30ac8b by Beatriz Rizental at 2025-05-28T15:43:14+02:00
fixup! TB 40458: Implement .tor.onion aliases
- - - - -
0fdf8196 by Pier Angelo Vendrame at 2025-05-28T15:43:14+02:00
TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
86329827 by Pier Angelo Vendrame at 2025-05-28T15:43:14+02:00
fixup! TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
Fix oncommands
- - - - -
36c02400 by Pier Angelo Vendrame at 2025-05-28T15:43:15+02:00
TB 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
12929c3d by Henry Wilkes at 2025-05-28T15:43:15+02:00
fixup! TB 41435: Add a Tor Browser migration function
TB 43567: Clear torbrowser.post_update.url.
- - - - -
db6e0c13 by Dan Ballard at 2025-05-28T15:43:15+02:00
TB 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
22e238bb by Henry Wilkes at 2025-05-28T15:43:16+02:00
TB 41736: Customize toolbar for tor-browser.
- - - - -
a9454912 by hackademix at 2025-05-28T15:43:16+02:00
TB 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
7746d2ef by Richard Pospesel at 2025-05-28T15:43:16+02:00
TB 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
a749d336 by Cecylia Bocovich at 2025-05-28T15:43:16+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
20951f51 by Pier Angelo Vendrame at 2025-05-28T15:43:17+02:00
[android] TBA strings
- - - - -
7ef3e5a5 by Dan Ballard at 2025-05-28T15:43:17+02:00
TB 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport
- - - - -
858a7828 by Dan Ballard at 2025-05-28T15:43:17+02:00
TB 43006: Disable RFP for Font Visibility on Android
- - - - -
02cf432a by Matthew Finkel at 2025-05-28T15:43:18+02:00
TB 40005: [android] Modify Default toolbar menu
Originally android-components#40005.
- - - - -
ce989cab by Alex Catarineu at 2025-05-28T15:43:18+02:00
TB 34378: [android] Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Originally, android-components#40007 and fenix#34378.
- - - - -
61b45025 by Alex Catarineu at 2025-05-28T15:43:18+02:00
TB 40002: [android] Ensure system download manager is not used
Originally, android-components#40002.
android-components#40075: Support scoped storage to enable downloads on API < 29
- in android-components!7, we blocked all usage of Scoped
Storage in an attempt to block usage of Android's
DownloadManager, which is known to cause proxy bypasses
- as of Android API 29, downloads will not work without Scoped Storage,
causing all downlaods to fail (see: fenix##40192)
- here, we enable usage of scoped storage for API >= 29, but block
calls to DownloadManager on API < 29
- - - - -
1f90164d by Alex Catarineu at 2025-05-28T15:43:19+02:00
TB 40009: [android] Change the default search engines
Originally, android-components#40009.
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
android-components#40062: Update DuckDuckGo onion search plugin
- - - - -
8553668b by hackademix at 2025-05-28T15:43:19+02:00
TB 42191: [android] Temporary StrictMode relaxation to clear the thumbnail cache.
- - - - -
b2a5bfce by hackademix at 2025-05-28T15:43:19+02:00
[android] Modify add-on support
Bug 41160: One-time ultimate switch Tor Browser Android to HTTPS-Only.
Bug 41159: Remove HTTPS-Everywhere extension from Tor Browser Android.
Bug 41094: Enable HTTPS-Only Mode by default in Tor Browser Android.
Turn shouldUseHttpsOnly's default to true.
Bug 40225: Bundled extensions don't get updated with Android Tor
Browser updates.
Bug 40030: Install NoScript addon on startup.
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
a4f1fa1a by Alex Catarineu at 2025-05-28T15:43:20+02:00
[android] Modify Addon support
android-components#40011: Hide option for disallowing addons in private mode
android-components#40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
335a1109 by Alex Catarineu at 2025-05-28T15:43:20+02:00
TB 40015: [android] Port padlock states for .onion services
Originally, android-components#40015.
- - - - -
3e08d99a by Matthew Finkel at 2025-05-28T15:43:20+02:00
[android] Modify Tracking Protection configuration
android-components#40020: Disable third-party cookies
android-components#40024: Disable tracking protection by default
- - - - -
91aa53c3 by Matthew Finkel at 2025-05-28T15:43:21+02:00
TB 40023: [android] Stop PrivateNotificationService
Originally, android-components#40023.
- - - - -
ce1d3359 by Alex Catarineu at 2025-05-28T15:43:21+02:00
TB 34439 [android]: Isolate Icon loader on Android.
Originally, android-components#34439.
- - - - -
cb14651e by Matthew Finkel at 2025-05-28T15:43:21+02:00
[android] Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
Bug 40109: Reduce requested permissions
Exclude LOCATION and NETWORK_STATE
- - - - -
cb5da90c by Beatriz Rizental at 2025-05-28T15:43:22+02:00
fixup! [android] Disable features and functionality
- - - - -
26bb3093 by Matthew Finkel at 2025-05-28T15:43:22+02:00
TB 40032 [android]: Set usesCleartextTraffic as false
Originally, fenix#40032.
- - - - -
55ec7331 by Matthew Finkel at 2025-05-28T15:43:22+02:00
[android] Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
f0a80a21 by Georg Koppen at 2025-05-28T15:43:23+02:00
[android] Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
Bug 40143: Use deterministic date in Test apk
The build config was using Date() when generating the Test apk's
versionName.
- - - - -
87693e04 by Dan Ballard at 2025-05-28T15:43:23+02:00
fixup! [android] Modify build system
Always set gradle pref for nimbusFml as tbb's env var NIMBUS_FML supercedes it
- - - - -
a124af0d by Pier Angelo Vendrame at 2025-05-28T15:43:23+02:00
fixup! [android] Modify build system
TB 43799: Update the path where apks are.
- - - - -
c98c78c5 by Matthew Finkel at 2025-05-28T15:43:23+02:00
TB 40185: [android] Use NimbusDisabled
Originally, fenix#40185.
- - - - -
2a1a49e8 by Alex Catarineu at 2025-05-28T15:43:24+02:00
TB 40087 [android]: Implement a switch for spoof English.
Originally, fenix#40087 and android-components#40019.
- - - - -
f333d9db by Matthew Finkel at 2025-05-28T15:43:24+02:00
TB 34403 [android]: Disable Normal mode by default.
Originally, fenix#34403.
- - - - -
a45c1e50 by Pier Angelo Vendrame at 2025-05-28T15:43:24+02:00
fixup! TB 34403 [android]: Disable Normal mode by default.
Import LocalContext, which has been removed upstream.
- - - - -
05dec2a8 by Matthew Finkel at 2025-05-28T15:43:25+02:00
TB 40016 [android]: Don't install WebCompat webext.
Originally, fenix#40016.
- - - - -
137a8e93 by Matthew Finkel at 2025-05-28T15:43:25+02:00
[android] Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40063: Do not sort search engines alphabetically
Bug 40141: Hide EME site permission
Bug 40166: Hide "Normal" tab (again) and Sync tab in TabTray
Bug 40167: Hide "Save to Collection" in menu
Bug 40172: Find the Quit button
Bug 40186: Hide Credit Cards in Settings
Bug 40198: Spoof English toggle now overlaps with locale list
- - - - -
6cc2f67a by Matthew Finkel at 2025-05-28T15:43:25+02:00
TB 40026 [android]: Implement Security Level settings on Android.
Originally, fenix#40026.
- - - - -
47c42970 by Dan Ballard at 2025-05-28T15:43:26+02:00
TB 41972: [android] Disable Mozilla onboarding
- - - - -
4c5c7294 by Dan Ballard at 2025-05-28T15:43:26+02:00
TB 41878: [android] Add standalone Tor Bootstrap
- - - - -
f44f0a87 by Pier Angelo Vendrame at 2025-05-28T15:43:26+02:00
fixup! TB 41878: [android] Add standalone Tor Bootstrap
TB 43611: Move Snowflake to a group of PTs on its own.
- - - - -
daf6a695 by Matthew Finkel at 2025-05-28T15:43:27+02:00
TB 40041 [android]: Implement Tor Network Settings
Originally, fenix#40041.
- - - - -
088af13c by clairehurst at 2025-05-28T15:43:27+02:00
[android] Implement Android-native Connection Assist UI
- - - - -
1cf391b7 by clairehurst at 2025-05-28T15:43:27+02:00
fixup! [android] Implement Android-native Connection Assist UI
Bug 43576: Connection Assist on Android Fast Follows (Bug 41188)
cleanup use of _torConnectScreen.value: !1426 (comment 3176147)
- - - - -
0c97e79f by clairehurst at 2025-05-28T15:43:28+02:00
fixup! [android] Implement Android-native Connection Assist UI
Bug 43565: The quit button on Android doesn't actually exit
- - - - -
893f45d5 by clairehurst at 2025-05-28T15:43:28+02:00
fixup! [android] Implement Android-native Connection Assist UI
Bug 43576: Connection Assist on Android Fast Follows (Bug 41188)
Rename to regions (Bug 43593)
- - - - -
63d38ec8 by clairehurst at 2025-05-28T15:43:28+02:00
fixup! [android] Implement Android-native Connection Assist UI
- - - - -
0da2fdb5 by clairehurst at 2025-05-28T15:43:29+02:00
fixup! [android] Implement Android-native Connection Assist UI
Bug 43576: Connection Assist on Android Fast Follows (Bug 41188)
Remove unnecessary locale change listener
- - - - -
6ccfca93 by Pier Angelo Vendrame at 2025-05-28T15:43:29+02:00
fixup! [android] Implement Android-native Connection Assist UI
TB 43633: Include regionNames.ftl in Android builds.
- - - - -
3ad9dffa by Pier Angelo Vendrame at 2025-05-28T15:43:29+02:00
fixup! [android] Implement Android-native Connection Assist UI
Fix 139 Android build errors.
BrowserToolbarView.view has been removed, so comment it for now.
- - - - -
6fad2fea by clairehurst at 2025-05-28T15:43:29+02:00
TB 42655 [android]: Implement "New circuit for this site" on Android
- - - - -
1ec37a3f by clairehurst at 2025-05-28T15:43:30+02:00
TB 42089: [android] Remove ability to submit site support requests
- - - - -
96e944da by clairehurst at 2025-05-28T15:43:30+02:00
[android] Delete unused media
- - - - -
be7e1995 by Pier Angelo Vendrame at 2025-05-28T15:43:31+02:00
fixup! [android] Delete unused media
Replace another ic_firefox with a file we do not delete.
- - - - -
d49392c6 by Beatriz Rizental at 2025-05-28T15:43:31+02:00
TB 43243: [android] Implement Android launch test
Also remove exit call from terminate function.
It causes all espresso tests to crash on exit and otherwise doesn't do anything.
- - - - -
ef1a460a by Beatriz Rizental at 2025-05-28T15:43:31+02:00
TB 42669: [android] Use custom no-op app-services
Fetch the custom built no-op application services library
from tor-browser-build when building for Android.
- - - - -
5173f924 by Beatriz Rizental at 2025-05-28T15:43:31+02:00
fixup! TB 42669: [android] Use custom no-op app-services
- - - - -
23794225 by Beatriz Rizental at 2025-05-28T15:43:32+02:00
Various Android workarounds
- - - - -
2eabe5e1 by Pier Angelo Vendrame at 2025-05-28T15:43:32+02:00
fixup! TB 40185: [android] Use NimbusDisabled
Flip pref_key_show_top_sites to false.
- - - - -
1819 changed files:
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/containers/base/Containerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/startup-test/startup-test-android.py
- + .gitlab/ci/jobs/startup-test/startup-test.py
- + .gitlab/ci/jobs/startup-test/startup-test.yml
- + .gitlab/ci/jobs/update-containers.yml
- + .gitlab/ci/jobs/update-translations.yml
- + .gitlab/ci/mixins.yml
- + .gitlab/issue_templates/000 Bug Report.md
- + .gitlab/issue_templates/010 Proposal.md
- + .gitlab/issue_templates/020 Web Compatibility.md
- + .gitlab/issue_templates/030 Test.md
- + .gitlab/issue_templates/040 Feature.md
- + .gitlab/issue_templates/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/062 Rebase - Legacy.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/070 Uplift.md
- + .gitlab/issue_templates/080 Security Backports.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/100 Release QA - Desktop.md
- + .gitlab/issue_templates/101 Release QA - Android.md
- + .gitlab/issue_templates/110 Bugzilla Triage.md
- + .gitlab/issue_templates/120 Bugzilla Audit.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- README.md
- + browser/actors/CryptoSafetyChild.sys.mjs
- + browser/actors/CryptoSafetyParent.sys.mjs
- browser/actors/moz.build
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/macbuild/Contents/MacOS-files.in
- browser/app/moz.build
- browser/app/permissions
- + browser/app/profile/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.js
- browser/base/content/browser-init.js
- browser/base/content/browser-main.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-menubar.js
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-sets.js
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/navigator-toolbox.js
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc.xhtml
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/en-US/brand.ftl
- + browser/branding/tb-alpha/locales/en-US/brand.properties
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/en-US/brand.ftl
- + browser/branding/tb-nightly/locales/en-US/brand.properties
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/en-US/brand.ftl
- + browser/branding/tb-release/locales/en-US/brand.properties
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserComponents.manifest
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/aboutlogins/AboutLoginsParent.sys.mjs
- browser/components/aboutlogins/content/aboutLogins.css
- browser/components/aboutlogins/content/aboutLogins.mjs
- browser/components/aboutlogins/content/components/fxaccounts-button.css
- + browser/components/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/customizableui/content/panelUI.js
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- + browser/components/downloads/DownloadsTorWarning.sys.mjs
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/downloads/moz.build
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutHomeStartupCache.sys.mjs
- browser/components/newtab/AboutNewTabRedirector.sys.mjs
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SERPCategorization.sys.mjs
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- + browser/components/securitylevel/content/securityLevel.js
- + browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelButton.inc.xhtml
- + browser/components/securitylevel/content/securityLevelIcon.svg
- + browser/components/securitylevel/content/securityLevelPanel.css
- + browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- + browser/components/securitylevel/content/securityLevelPreferences.css
- + browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- + browser/components/securitylevel/jar.mn
- + browser/components/securitylevel/moz.build
- browser/components/tabbrowser/content/tabbrowser.js
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- browser/components/urlbar/UrlbarProvidersManager.sys.mjs
- browser/components/urlbar/UrlbarUtils.sys.mjs
- browser/components/urlbar/moz.build
- + browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/base-browser-android
- + browser/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-browser-android
- browser/extensions/moz.build
- + browser/fonts/fonts.conf
- browser/fonts/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/locales/l10n.toml
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/TorSettingsNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build.gradle
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/rust.configure
- build/moz.configure/update-programs.configure
- build/moz.configure/windows.configure
- build/variables.py
- caps/nsScriptSecurityManager.cpp
- config/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/build/components.conf
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- eslint-file-globals.config.mjs
- eslint-ignores.config.mjs
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- js/xpconnect/src/xpc.msg
- layout/base/nsLayoutUtils.cpp
- media/libaom/moz.build
- mobile/android/android-components/components/browser/engine-gecko/build.gradle
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorage.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepository.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorageTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepositoryTest.kt
- mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- mobile/android/android-components/components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- mobile/android/android-components/components/browser/thumbnails/src/main/java/mozilla/components/browser/thumbnails/utils/ThumbnailDiskCache.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteInfoIconView.kt
- mobile/android/android-components/components/browser/toolbar/src/main/res/drawable/mozac_ic_site_info.xml
- mobile/android/android-components/components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/cookiehandling/CookieBannersStorage.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/SettingsTest.kt
- mobile/android/android-components/components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- mobile/android/android-components/components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- mobile/android/android-components/components/feature/accounts/build.gradle
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
- mobile/android/android-components/components/feature/app-links/build.gradle
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionAutocompleteProvider.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionSuggestionProvider.kt
- mobile/android/android-components/components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadsFeatureTest.kt
- mobile/android/android-components/components/feature/fxsuggest/build.gradle
- mobile/android/android-components/components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
- mobile/android/android-components/components/feature/search/build.gradle
- mobile/android/android-components/components/feature/search/src/main/assets/search/list.json
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg-onion.xml
- mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage-onion.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage.xml
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetryTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepositoryTest.kt
- mobile/android/android-components/components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
- mobile/android/android-components/components/service/nimbus/build.gradle
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
- mobile/android/android-components/components/service/sync-logins/src/main/java/mozilla/components/service/sync/logins/SyncableLoginsStorage.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/android/content/Context.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/remotesettings/src/main/java/mozilla/components/support/remotesettings/RemoteSettingsClient.kt
- mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
- + mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/TorUtils.kt
- mobile/android/android-components/components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt
- + mobile/android/android-components/components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
- mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt
- mobile/android/android-components/samples/browser/src/main/res/layout/activity_installed_add_on_details.xml
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- + mobile/android/branding/tb-alpha/configure.sh
- + mobile/android/branding/tb-alpha/content/favicon32.png
- + mobile/android/branding/tb-alpha/content/favicon64.png
- + mobile/android/branding/tb-alpha/content/jar.mn
- + mobile/android/branding/tb-alpha/content/moz.build
- + mobile/android/branding/tb-alpha/locales/en-US/brand.ftl
- + mobile/android/branding/tb-alpha/locales/en-US/brand.properties
- + mobile/android/branding/tb-alpha/locales/jar.mn
- + mobile/android/branding/tb-alpha/locales/moz.build
- + mobile/android/branding/tb-alpha/moz.build
- + mobile/android/branding/tb-nightly/configure.sh
- + mobile/android/branding/tb-nightly/content/favicon32.png
- + mobile/android/branding/tb-nightly/content/favicon64.png
- + mobile/android/branding/tb-nightly/content/jar.mn
- + mobile/android/branding/tb-nightly/content/moz.build
- + mobile/android/branding/tb-nightly/locales/en-US/brand.ftl
- + mobile/android/branding/tb-nightly/locales/en-US/brand.properties
- + mobile/android/branding/tb-nightly/locales/jar.mn
- + mobile/android/branding/tb-nightly/locales/moz.build
- + mobile/android/branding/tb-nightly/moz.build
- + mobile/android/branding/tb-release/configure.sh
- + mobile/android/branding/tb-release/content/favicon32.png
- + mobile/android/branding/tb-release/content/favicon64.png
- + mobile/android/branding/tb-release/content/jar.mn
- + mobile/android/branding/tb-release/content/moz.build
- + mobile/android/branding/tb-release/locales/en-US/brand.ftl
- + mobile/android/branding/tb-release/locales/en-US/brand.properties
- + mobile/android/branding/tb-release/locales/jar.mn
- + mobile/android/branding/tb-release/locales/moz.build
- + mobile/android/branding/tb-release/moz.build
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/.buildconfig.yml
- mobile/android/fenix/app/build.gradle
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/proguard-rules.pro
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- + mobile/android/fenix/app/src/beta/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/beta/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/beta/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/beta/res/values/static_strings.xml
- mobile/android/fenix/app/src/beta/res/xml/shortcuts.xml
- − mobile/android/fenix/app/src/debug/ic_launcher-web.webp
- + mobile/android/fenix/app/src/debug/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/debug/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/values/colors.xml
- + mobile/android/fenix/app/src/debug/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/debug/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/AndroidManifest.xml
- + mobile/android/fenix/app/src/main/assets/common/torrc-defaults
- − mobile/android/fenix/app/src/main/assets/searchplugins/reddit.xml
- − mobile/android/fenix/app/src/main/assets/searchplugins/youtube.xml
- − mobile/android/fenix/app/src/main/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NotificationManager.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/appstate/setup/checklist/ChecklistItem.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuNavigationMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserMenuSignIn.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/snackbar/Snackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/PoweredByNotification.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/dialog/DynamicDownloadDialog.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/ext/Activity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/intent/HomeDeepLinkIntentProcessor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/view/RecentSyncedTab.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/PrivateBrowsingDescriptionViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/PagerIndicator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSites.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/ui/Homepage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkItemMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyCompleted.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyHeader.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyRequestPrompt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/MarketingDataOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/UpgradeOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HttpsOnlyFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorSecurityLevelFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsInteractor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannersStorageExt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SiteSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/SaveToPDFMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shortcut/PwaOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabsList.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/ConnectAssistUiState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/SecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLog.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/trackingprotection/ProtectionsStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/NotificationBase.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt
- + mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-night/onboarding_ctd_default_browser.xml
- mobile/android/fenix/app/src/main/res/drawable-v23/splash_screen.xml
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/main/res/drawable/browser_location.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect_broken.xml
- + mobile/android/fenix/app/src/main/res/drawable/globe_broken.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account_warning.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_favorite.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_fx_accounts_avatar.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_notification_permission.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features_icons_only.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_search_widget.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_welcome.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_onion_pattern.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_pocket.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_scan.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_screenshot.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sign_in.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_signed_out.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_status_logo.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sync_disconnected.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_synced_tabs.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_config_bridge.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_network_settings.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/microsurvey_success.xml
- + mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_default_browser.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_notification.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_sync.xml
- mobile/android/fenix/app/src/main/res/drawable/progress_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/pager_dot.xml → mobile/android/fenix/app/src/main/res/drawable/rounded_corners.xml
- + mobile/android/fenix/app/src/main/res/drawable/tor_bootstrap_background_gradient.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_rounded_corners.xml
- mobile/android/fenix/app/src/main/res/layout/component_cookie_banner_details_panel.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_about.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_create_shortcut.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_locale_settings.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_connection_assist.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_turn_on_sync.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private_round.xml → mobile/android/fenix/app/src/main/res/layout/preference_quick_start.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_permissions.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_protections_panel.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v1.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v2.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_large.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_medium.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_small.xml
- mobile/android/fenix/app/src/main/res/layout/sign_in_preference.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_alternative.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round_alternative.xml
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values-night-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-night/styles.xml
- mobile/android/fenix/app/src/main/res/values-v24/styles.xml
- mobile/android/fenix/app/src/main/res/values-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values/attrs.xml
- mobile/android/fenix/app/src/main/res/values/colors.xml
- + mobile/android/fenix/app/src/main/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/styles.xml
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/logins_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_details_exceptions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/sync_problem.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_security_level_preferences.xml
- + mobile/android/fenix/app/src/nightly/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_monochrome_foreground.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/nightly/res/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/nightly/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/nightly/res/values/static_strings.xml
- mobile/android/fenix/app/src/nightly/res/xml/shortcuts.xml
- + mobile/android/fenix/app/src/release/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/release/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_background.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/release/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/release/res/values/static_strings.xml
- mobile/android/fenix/app/src/release/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/MenuNavigationMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/ext/ContextTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiDataTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/ProtectionsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragmentTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/trackingprotection/ProtectionsStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
- mobile/android/fenix/build.gradle
- + mobile/android/fenix/tools/tba-fetch-deps.sh
- + mobile/android/fenix/tools/tba-sign-devbuilds.sh
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- − mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/VideoCaptureTest.kt
- mobile/android/geckoview/src/main/AndroidManifest.xml
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorBootstrappingStatus.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStage.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStageName.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebExtensionController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/locales/filter.py
- mobile/android/locales/jar.mn
- mobile/android/locales/l10n.toml
- mobile/android/moz.configure
- mobile/android/shared-settings.gradle
- mobile/locales/filter.py
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs
- modules/libpref/Preferences.cpp
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.configure
- + mozconfig-android-aarch64
- + mozconfig-android-all
- + mozconfig-android-armv7
- + mozconfig-android-x86
- + mozconfig-android-x86_64
- + mozconfig-linux-aarch64
- + mozconfig-linux-aarch64-dev
- + mozconfig-linux-arm
- + mozconfig-linux-i686
- + mozconfig-linux-x86_64
- + mozconfig-linux-x86_64-asan
- + mozconfig-linux-x86_64-dev
- + mozconfig-macos
- + mozconfig-macos-dev
- + mozconfig-windows-i686
- + mozconfig-windows-x86_64
- netwerk/base/nsNetUtil.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpNTLMAuth.cpp
- netwerk/sctp/src/moz.build
- netwerk/sctp/src/netinet/sctp_cc_functions.c
- netwerk/sctp/src/netinet/sctp_indata.c
- netwerk/sctp/src/netinet/sctp_input.c
- netwerk/sctp/src/netinet/sctp_output.c
- netwerk/sctp/src/netinet/sctp_usrreq.c
- netwerk/sctp/src/netinet/sctputil.c
- netwerk/sctp/src/user_mbuf.c
- netwerk/sctp/src/user_socket.c
- netwerk/socket/nsSOCKSIOLayer.cpp
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- security/nss/lib/ssl/Makefile
- services/settings/Attachments.sys.mjs
- services/settings/IDBHelpers.sys.mjs
- services/settings/RemoteSettingsClient.sys.mjs
- services/settings/dumps/gen_last_modified.py
- services/settings/dumps/main/moz.build
- services/settings/remote-settings.sys.mjs
- services/settings/servicesSettings.manifest
- services/settings/static-dumps/main/moz.build
- + services/settings/static-dumps/main/query-stripping.json
- services/sync/components.conf
- testing/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/setup_development.py
- testing/mozharness/scripts/does_it_crash.py
- testing/specialpowers/api.js
- third_party/abseil-cpp/absl/base/base_gn/moz.build
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.mjs
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorParent.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/content/letterboxing.css
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/content/torBrowserSearchEngineIcons.json
- + toolkit/components/search/content/torBrowserSearchEngines.json
- + toolkit/components/search/content/wikipedia.ico
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- + toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/.eslintrc.mjs
- toolkit/content/aboutNetError.html
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/moat_countries_dev_build.json
- + toolkit/content/pt_config.json
- toolkit/content/widgets/infobar.css
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.sys.mjs
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/components.conf
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- toolkit/mozapps/update/updater/launchchild_osx.mm
- toolkit/mozapps/update/updater/moz.build
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/aboutNetError.css
- toolkit/themes/shared/desktop-jar.inc.mn
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- + toolkit/themes/shared/icons/torbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- + toolkit/themes/shared/onion-pattern.css
- + toolkit/themes/shared/onion-pattern.svg
- + toolkit/themes/shared/tor-colors.css
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- toolkit/xre/LauncherRegistryInfo.cpp
- toolkit/xre/MacLaunchHelper.h
- toolkit/xre/MacLaunchHelper.mm
- toolkit/xre/MacRunFromDmgUtils.mm
- toolkit/xre/ProfileReset.cpp
- toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp
- toolkit/xre/nsAppRunner.cpp
- toolkit/xre/nsIXREDirProvider.idl
- toolkit/xre/nsUpdateDriver.cpp
- toolkit/xre/nsXREDirProvider.cpp
- toolkit/xre/nsXREDirProvider.h
- + tools/base-browser/git-rebase-fixup-preprocessor
- + tools/base-browser/l10n/combine-translation-versions.py
- + tools/base-browser/l10n/combine/__init__.py
- + tools/base-browser/l10n/combine/combine.py
- + tools/base-browser/l10n/combine/tests/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- + tools/base-browser/tb-dev
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build-fenix.sh
- + tools/geckoview/build-geckoview.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/install-fenix.sh
- + tools/geckoview/jslint.sh
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-41820-moz-message-bar-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/l10n/migrations/bug-43531-bridge-dialog-buttons.py
- + tools/torbrowser/prepare-tests.sh
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f1e32f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/f1e32f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-update-responses][main] 7 commits: release: new version, 14.5.3 (linux-i686)
by ma1 (@ma1) 27 May '25
by ma1 (@ma1) 27 May '25
27 May '25
ma1 pushed to branch main at The Tor Project / Applications / Tor Browser update responses
Commits:
5f6d6545 by hackademix at 2025-05-27T14:37:01+02:00
release: new version, 14.5.3 (linux-i686)
- - - - -
e49ea5f5 by hackademix at 2025-05-27T14:37:01+02:00
release: new version, 14.5.3 (linux-x86_64)
- - - - -
f6cc3c2f by hackademix at 2025-05-27T14:37:01+02:00
release: new version, 14.5.3 (macos)
- - - - -
22a8b946 by hackademix at 2025-05-27T14:37:01+02:00
release: new version, 14.5.3 (windows-i686)
- - - - -
545fb926 by hackademix at 2025-05-27T14:37:02+02:00
release: new version, 14.5.3 (windows-x86_64)
- - - - -
14046914 by hackademix at 2025-05-27T14:37:02+02:00
release: new version, 14.5.3 (android)
- - - - -
cb2172c8 by hackademix at 2025-05-27T14:37:02+02:00
release: new version, 14.5.3
- - - - -
72 changed files:
- update_3/release/download-android-aarch64.json
- update_3/release/download-android-armv7.json
- update_3/release/download-android-x86.json
- update_3/release/download-android-x86_64.json
- update_3/release/download-linux-i686.json
- update_3/release/download-linux-x86_64.json
- update_3/release/download-macos.json
- update_3/release/download-windows-i686.json
- update_3/release/download-windows-x86_64.json
- update_3/release/downloads.json
- update_3/release/linux-i686/.htaccess
- − update_3/release/linux-i686/update-14.0.9-14.5.2+13.5.17-linux-i686.xml
- − update_3/release/linux-i686/update-14.5-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5-14.5.3+13.5.18-linux-i686.xml
- − update_3/release/linux-i686/update-14.5.1-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.1-14.5.3+13.5.18-linux-i686.xml
- − update_3/release/linux-i686/update-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.2-14.5.3+13.5.18-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.3+13.5.18-linux-i686.xml
- update_3/release/linux-x86_64/.htaccess
- − update_3/release/linux-x86_64/update-14.0.9-14.5.2+13.5.17-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5-14.5.3+13.5.18-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5.1-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.1-14.5.3+13.5.18-linux-x86_64.xml
- − update_3/release/linux-x86_64/update-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.2-14.5.3+13.5.18-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.3+13.5.18-linux-x86_64.xml
- update_3/release/macos/.htaccess
- − update_3/release/macos/update-13.5.15-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-13.5.15-14.5.3+13.5.18-macos.xml
- − update_3/release/macos/update-13.5.16-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-13.5.16-14.5.3+13.5.18-macos.xml
- + update_3/release/macos/update-13.5.17-14.5.3+13.5.18-macos.xml
- − update_3/release/macos/update-14.0.9-14.5.2+13.5.17-macos.xml
- − update_3/release/macos/update-14.5-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5-14.5.3+13.5.18-macos.xml
- − update_3/release/macos/update-14.5.1-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5.1-14.5.3+13.5.18-macos.xml
- − update_3/release/macos/update-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5.2-14.5.3+13.5.18-macos.xml
- + update_3/release/macos/update-14.5.3+13.5.18-macos.xml
- update_3/release/windows-i686/.htaccess
- − update_3/release/windows-i686/update-13.5.14-14.5.2+13.5.17-windows-i686.xml
- − update_3/release/windows-i686/update-13.5.15-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.15-14.5.3+13.5.18-windows-i686.xml
- − update_3/release/windows-i686/update-13.5.16-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.16-14.5.3+13.5.18-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.17-14.5.3+13.5.18-windows-i686.xml
- − update_3/release/windows-i686/update-14.0.9-14.5.2+13.5.17-windows-i686.xml
- − update_3/release/windows-i686/update-14.5-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5-14.5.3+13.5.18-windows-i686.xml
- − update_3/release/windows-i686/update-14.5.1-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.1-14.5.3+13.5.18-windows-i686.xml
- − update_3/release/windows-i686/update-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.2-14.5.3+13.5.18-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.3+13.5.18-windows-i686.xml
- update_3/release/windows-x86_64/.htaccess
- − update_3/release/windows-x86_64/update-13.5.14-14.5.2+13.5.17-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-13.5.15-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.15-14.5.3+13.5.18-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-13.5.16-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.16-14.5.3+13.5.18-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.17-14.5.3+13.5.18-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-14.0.9-14.5.2+13.5.17-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-14.5-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5-14.5.3+13.5.18-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-14.5.1-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.1-14.5.3+13.5.18-windows-x86_64.xml
- − update_3/release/windows-x86_64/update-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.2-14.5.3+13.5.18-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.3+13.5.18-windows-x86_64.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser-update-responses][main] 4 commits: release: new version, 14.5.3 (linux-x86_64)
by ma1 (@ma1) 27 May '25
by ma1 (@ma1) 27 May '25
27 May '25
ma1 pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses
Commits:
784d0d56 by hackademix at 2025-05-27T11:59:00+02:00
release: new version, 14.5.3 (linux-x86_64)
- - - - -
28796279 by hackademix at 2025-05-27T11:59:00+02:00
release: new version, 14.5.3 (macos)
- - - - -
b567de98 by hackademix at 2025-05-27T11:59:00+02:00
release: new version, 14.5.3 (windows-x86_64)
- - - - -
48ff51c9 by hackademix at 2025-05-27T11:59:00+02:00
release: new version, 14.5.3
- - - - -
31 changed files:
- update_1/release/download-linux-x86_64.json
- update_1/release/download-macos.json
- update_1/release/download-windows-x86_64.json
- update_1/release/downloads.json
- update_1/release/linux-x86_64/.htaccess
- − update_1/release/linux-x86_64/update-14.0.9-14.5.2-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5-14.5.2-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5-14.5.3-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5.1-14.5.2-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.1-14.5.3-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.2-14.5.3-linux-x86_64.xml
- − update_1/release/linux-x86_64/update-14.5.2-linux-x86_64.xml
- + update_1/release/linux-x86_64/update-14.5.3-linux-x86_64.xml
- update_1/release/macos/.htaccess
- − update_1/release/macos/update-14.0.9-14.5.2-macos.xml
- − update_1/release/macos/update-14.5-14.5.2-macos.xml
- + update_1/release/macos/update-14.5-14.5.3-macos.xml
- − update_1/release/macos/update-14.5.1-14.5.2-macos.xml
- + update_1/release/macos/update-14.5.1-14.5.3-macos.xml
- + update_1/release/macos/update-14.5.2-14.5.3-macos.xml
- − update_1/release/macos/update-14.5.2-macos.xml
- + update_1/release/macos/update-14.5.3-macos.xml
- update_1/release/windows-x86_64/.htaccess
- − update_1/release/windows-x86_64/update-14.0.9-14.5.2-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5-14.5.2-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5-14.5.3-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5.1-14.5.2-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.1-14.5.3-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.2-14.5.3-windows-x86_64.xml
- − update_1/release/windows-x86_64/update-14.5.2-windows-x86_64.xml
- + update_1/release/windows-x86_64/update-14.5.3-windows-x86_64.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Deleted tag tor-browser-115.24.0esr-13.5-1-build3
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 deleted tag tor-browser-115.24.0esr-13.5-1-build3 at The Tor Project / Applications / Tor Browser
--
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-128.11.0esr-14.5-1] fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch base-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
4d458475 by hackademix at 2025-05-27T00:19:32+02:00
fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Remove glean references.
- - - - -
1 changed file:
- netwerk/protocol/http/HttpConnectionUDP.cpp
Changes:
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,7 +19,6 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
-#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -93,16 +92,9 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
// See https://github.com/whatwg/fetch/pull/1763 for context.
if (peerAddr.IsIPAddrAny()) {
if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("blocked_requests"_ns)
- .Add(1);
LOG(("Connection refused because of 0.0.0.0 IP address\n"));
return NS_ERROR_CONNECTION_REFUSED;
}
-
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("not_blocked_requests"_ns)
- .Add(1);
}
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4d45847…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4d45847…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

26 May '25
ma1 pushed new tag mb-14.5.3-build2 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

26 May '25
ma1 pushed new tag tbb-14.5.3-build2 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Bug 41469,41470: Remove bogus glean references.
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
54139148 by hackademix at 2025-05-27T00:14:09+02:00
Bug 41469,41470: Remove bogus glean references.
- - - - -
3 changed files:
- projects/firefox/config
- projects/geckoview/config
- rbm.conf
Changes:
=====================================
projects/firefox/config
=====================================
@@ -21,7 +21,7 @@ var:
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 2
+ browser_build: 3
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
=====================================
projects/geckoview/config
=====================================
@@ -23,7 +23,7 @@ var:
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 2
+ browser_build: 3
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]'
deps:
=====================================
rbm.conf
=====================================
@@ -74,7 +74,7 @@ buildconf:
var:
torbrowser_version: '14.5.3'
- torbrowser_build: 'build1'
+ torbrowser_build: 'build2'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
browser_release_date: '2025/05/26 20:25:32'
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/5…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.11.0esr-14.5-1-build3
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed new tag mullvad-browser-128.11.0esr-14.5-1-build3 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.11.0esr-14.5-1] fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch mullvad-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
c2d76dab by hackademix at 2025-05-27T00:04:55+02:00
fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Remove glean references.
- - - - -
1 changed file:
- netwerk/protocol/http/HttpConnectionUDP.cpp
Changes:
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,7 +19,6 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
-#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -93,16 +92,9 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
// See https://github.com/whatwg/fetch/pull/1763 for context.
if (peerAddr.IsIPAddrAny()) {
if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("blocked_requests"_ns)
- .Add(1);
LOG(("Connection refused because of 0.0.0.0 IP address\n"));
return NS_ERROR_CONNECTION_REFUSED;
}
-
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("not_blocked_requests"_ns)
- .Add(1);
}
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c2d…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/c2d…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.11.0esr-14.5-1-build3
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed new tag tor-browser-128.11.0esr-14.5-1-build3 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.24.0esr-13.5-1-build3
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed new tag tor-browser-115.24.0esr-13.5-1-build3 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
e8925f63 by hackademix at 2025-05-26T23:55:18+02:00
fixup! Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Remove glean references.
- - - - -
1 changed file:
- netwerk/protocol/http/HttpConnectionUDP.cpp
Changes:
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,7 +19,6 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
-#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -93,16 +92,9 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
// See https://github.com/whatwg/fetch/pull/1763 for context.
if (peerAddr.IsIPAddrAny()) {
if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("blocked_requests"_ns)
- .Add(1);
LOG(("Connection refused because of 0.0.0.0 IP address\n"));
return NS_ERROR_CONNECTION_REFUSED;
}
-
- mozilla::glean::networking::http_ip_addr_any_count
- .Get("not_blocked_requests"_ns)
- .Add(1);
}
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e8925f6…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e8925f6…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-13.5.18-build1
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed new tag tbb-13.5.18-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41468: Prepare Tor Browser 13.5.18
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build
Commits:
e40539b8 by hackademix at 2025-05-26T23:20:38+02:00
Bug 41468: Prepare Tor Browser 13.5.18
- - - - -
6 changed files:
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/config
- projects/firefox/config
- projects/translation/config
- rbm
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,10 @@
+Tor Browser 13.5.18 - May 27 2025
+ * All Platforms
+ * Updated Firefox to 115.24.0esr
+ * Updated NoScript to 13.0.6
+ * Bug 43810: Rebase Tor Browser Legacy onto Firefox 115.24.0esr [tor-browser]
+ * Bug 43811: Backport security fixes from Firefox 139 [tor-browser]
+
Tor Browser 13.5.17 - May 18 2025
* All Platforms
* Updated Firefox to 115.23.1esr
=====================================
projects/browser/config
=====================================
@@ -103,9 +103,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.mozilla.org/firefox/downloads/file/4482368/noscript-12.6.xpi
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4495120/noscript-13.0.6.x…
name: noscript
- sha256sum: 91d9aecbccdbad8b370ec243108f45328fa638d924b74e0abe6f2ca870dd1bf6
+ sha256sum: 85066ef24c44cc839b2d6bbe4d3d08652c8e09f06515e1b86ee72ba26c406989
- URL: https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.6…
name: ublock-origin
sha256sum: e2cda9b2a1b0a7f6e5ef0da9f87f28df52f8560587ba2e51a3003121cfb81600
=====================================
projects/firefox/config
=====================================
@@ -16,12 +16,12 @@ container:
use_container: 1
var:
- firefox_platform_version: 115.23.1
+ firefox_platform_version: 115.24.0
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '13.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 1
+ browser_build: 2
branding_directory_prefix: 'tb'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
=====================================
projects/translation/config
=====================================
@@ -12,13 +12,13 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: cbb22f086f26899d8cd74ad2419535638ea84d1a
+ git_hash: 90dbac96420394aa35ce29385814742ac4942b26
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: 0145a0f66043525a0c5c85fbaa84dfb082224809
+ git_hash: 9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939
targets:
nightly:
git_hash: 'tor-browser'
=====================================
rbm
=====================================
@@ -1 +1 @@
-Subproject commit 148d8541f177f318bfd8c8abfbf9fa96f581ceb8
+Subproject commit f04c4f217ad8dbd0caa87d45713a6de576cf0534
=====================================
rbm.conf
=====================================
@@ -73,18 +73,18 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '13.5.17'
+ torbrowser_version: '13.5.18'
torbrowser_build: 'build1'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
- browser_release_date: '2025/05/17 20:24:07'
+ browser_release_date: '2025/05/26 20:58:45'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
updater_enabled: 1
build_mar: 1
torbrowser_incremental_from:
+ - 13.5.17
- 13.5.16
- 13.5.15
- - 13.5.14
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
# By default, we sort the list of installed packages. This allows sharing
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag mb-14.5.3-build1
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed new tag mb-14.5.3-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-14.5.3-build1
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed new tag tbb-14.5.3-build1 at The Tor Project / Applications / tor-browser-build
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][maint-14.5] Bug 41469,414679: Prepare Tor,Mullvad Browser 14.5.3
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed to branch maint-14.5 at The Tor Project / Applications / tor-browser-build
Commits:
7f1de994 by Morgan at 2025-05-26T20:49:17+00:00
Bug 41469,414679: Prepare Tor,Mullvad Browser 14.5.3
- - - - -
7 changed files:
- projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
- projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
- projects/browser/config
- projects/firefox/config
- projects/geckoview/config
- projects/translation/config
- rbm.conf
Changes:
=====================================
projects/browser/Bundle-Data/Docs-MB/ChangeLog.txt
=====================================
@@ -1,3 +1,10 @@
+Mullvad Browser 14.5.3 - May 26 2025
+ * All Platforms
+ * Updated Firefox to 128.11.0esr
+ * Updated NoScript to 13.0.6
+ * Bug 439: Rebase Mullvad Browser stable onto 128.11.0esr [mullvad-browser]
+ * Bug 43811: Backport security fixes from Firefox 139 [tor-browser]
+
Mullvad Browser 14.5.2 - May 18 2025
* All Platforms
* Updated Firefox to 128.10.1esr
=====================================
projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt
=====================================
@@ -1,3 +1,16 @@
+Tor Browser 14.5.3 - May 26 2025
+ * All Platforms
+ * Updated NoScript to 13.0.6
+ * Bug 43811: Backport security fixes from Firefox 139 [tor-browser]
+ * Bug 439: Rebase Mullvad Browser stable onto 128.11.0esr [mullvad-browser]
+ * Windows + macOS + Linux
+ * Updated Firefox to 128.11.0esr
+ * Android
+ * Updated GeckoView to 128.11.0esr
+ * Build System
+ * Android
+ * Bug 43809: Allow tba-fetch-deps.sh to fetch prebuilt artifacts from tor-browser-build from nightlies [tor-browser]
+
Tor Browser 14.5.2 - May 18 2025
* All Platforms
* Bug 43397: Click to play should override "Any capability blocked in the top document must be blocked in its subdocuments too" [tor-browser]
=====================================
projects/browser/config
=====================================
@@ -111,9 +111,9 @@ input_files:
enable: '[% ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.mozilla.org/firefox/downloads/file/4482368/noscript-12.6.xpi
+ - URL: https://addons.mozilla.org/firefox/downloads/file/4495120/noscript-13.0.6.x…
name: noscript
- sha256sum: 91d9aecbccdbad8b370ec243108f45328fa638d924b74e0abe6f2ca870dd1bf6
+ sha256sum: 85066ef24c44cc839b2d6bbe4d3d08652c8e09f06515e1b86ee72ba26c406989
- URL: https://addons.mozilla.org/firefox/downloads/file/4492375/ublock_origin-1.6…
name: ublock-origin
sha256sum: b9e1c868bd1ac1defcabf2e01776d1a90effba34b07fe6a21350d45f022e0e9f
=====================================
projects/firefox/config
=====================================
@@ -16,12 +16,12 @@ container:
use_container: 1
var:
- firefox_platform_version: '128.10.1'
+ firefox_platform_version: '128.11.0'
firefox_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 1
+ browser_build: 2
copyright_year: '[% exec("git show -s --format=%ci " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }).remove("-.*") %]'
nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]'
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
=====================================
projects/geckoview/config
=====================================
@@ -18,12 +18,12 @@ container:
build_apk: 1
var:
- firefox_platform_version: '128.10.1'
+ firefox_platform_version: '128.11.0'
geckoview_version: '[% c("var/firefox_platform_version") %]esr'
browser_series: '14.5'
browser_rebase: 1
browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]'
- browser_build: 1
+ browser_build: 2
gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser
git_commit: '[% exec("git rev-parse " _ c("git_hash") _ "^{commit}", { exec_noco => 1 }) %]'
deps:
=====================================
projects/translation/config
=====================================
@@ -12,13 +12,13 @@ compress_tar: 'gz'
steps:
base-browser:
base-browser: '[% INCLUDE build %]'
- git_hash: cbb22f086f26899d8cd74ad2419535638ea84d1a
+ git_hash: 90dbac96420394aa35ce29385814742ac4942b26
targets:
nightly:
git_hash: 'base-browser'
tor-browser:
tor-browser: '[% INCLUDE build %]'
- git_hash: 0145a0f66043525a0c5c85fbaa84dfb082224809
+ git_hash: 9cbc3b3d25d2c5c77f1b6b3172ba6bcad2563939
targets:
nightly:
git_hash: 'tor-browser'
=====================================
rbm.conf
=====================================
@@ -73,11 +73,11 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '14.5.2'
- torbrowser_build: 'build2'
+ torbrowser_version: '14.5.3'
+ torbrowser_build: 'build1'
# This should be the date of when the build is started. For the build
# to be reproducible, browser_release_date should always be in the past.
- browser_release_date: '2025/05/18 05:10:03'
+ browser_release_date: '2025/05/26 20:25:32'
browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]'
browser_default_channel: release
browser_platforms:
@@ -96,13 +96,13 @@ var:
updater_enabled: 1
build_mar: 1
torbrowser_incremental_from:
+ - 14.5.2
- 14.5.1
- - 14.5
- - 14.0.9
+ - '14.5'
mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]'
- torbrowser_legacy_version: 13.5.17
- torbrowser_legacy_platform_version: 115.23.1
+ torbrowser_legacy_version: 13.5.18
+ torbrowser_legacy_platform_version: 115.24.0
# By default, we sort the list of installed packages. This allows sharing
# containers with identical list of packages, even if they are not listed
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.24.0esr-13.5-1-build2
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed new tag tor-browser-115.24.0esr-13.5-1-build2 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-115.24.0esr-13.5-1] 8 commits: Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
by ma1 (@ma1) 26 May '25
by ma1 (@ma1) 26 May '25
26 May '25
ma1 pushed to branch tor-browser-115.24.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
0a4acb71 by smayya at 2025-05-22T17:18:56+02:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
02ee510f by hackademix at 2025-05-22T17:34:56+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
6186c1fe by Oskar Mansfeld at 2025-05-26T17:25:28+02:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Note: removed glean references on Tor Browser esr115 backport
Differential Revision: https://phabricator.services.mozilla.com/D239514
- - - - -
dc06e11d by Daniel Holbert at 2025-05-26T17:25:48+02:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
4f3e5d70 by Daniel Holbert at 2025-05-26T17:25:49+02:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
d5a152e4 by Daniel Holbert at 2025-05-26T17:25:50+02:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
73753ce8 by Jonathan Kew at 2025-05-26T17:25:50+02:00
Bug 1958121 - Use exchange to update the SpaceFeatures flags. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D245913
Differential Revision: https://phabricator.services.mozilla.com/D247887
- - - - -
d3e4fff1 by Gijs Kruitbosch at 2025-05-26T17:25:51+02:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
16 changed files:
- browser/app/profile/001-base-profile.js
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- gfx/thebes/gfxFont.cpp
- modules/libpref/init/StaticPrefList.yaml
- netwerk/base/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/test/unit/trr_common.js
- toolkit/components/aboutmemory/content/aboutMemory.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -482,6 +482,11 @@ pref("network.http.http2.default-hpack-buffer", 65536, locked);
pref("network.http.http2.websockets", true, locked);
pref("network.http.http2.enable-hpack-dump", false, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure)
pref("network.gio.supported-protocols", "");
=====================================
dom/svg/DOMSVGLength.cpp
=====================================
@@ -51,6 +51,7 @@ DOMSVGLength::DOMSVGLength(DOMSVGLengthList* aList, uint8_t aAttrEnum,
mListIndex(aListIndex),
mAttrEnum(aAttrEnum),
mIsAnimValItem(aIsAnimValItem),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aList, "bad arg");
MOZ_ASSERT(mAttrEnum == aAttrEnum, "bitfield too small");
@@ -63,6 +64,7 @@ DOMSVGLength::DOMSVGLength()
mListIndex(0),
mAttrEnum(0),
mIsAnimValItem(false),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {}
DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
@@ -71,6 +73,7 @@ DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
mListIndex(0),
mAttrEnum(aVal->mAttrEnum),
mIsAnimValItem(aAnimVal),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aVal, "bad arg");
MOZ_ASSERT(mAttrEnum == aVal->mAttrEnum, "bitfield too small");
@@ -88,22 +91,33 @@ void DOMSVGLength::CleanupWeakRefs() {
// Similarly, we must update the tearoff table to remove its (non-owning)
// pointer to mVal.
- if (nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner)) {
- auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
- : sBaseSVGLengthTearOffTable;
- table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ if (mIsInTearoffTable) {
+ nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner);
+ MOZ_ASSERT(svg,
+ "We need our svgElement reference in order to remove "
+ "ourselves from tearoff table...");
+ if (MOZ_LIKELY(svg)) {
+ auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
+ : sBaseSVGLengthTearOffTable;
+ table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ mIsInTearoffTable = false;
+ }
}
}
already_AddRefed<DOMSVGLength> DOMSVGLength::GetTearOff(SVGAnimatedLength* aVal,
SVGElement* aSVGElement,
bool aAnimVal) {
+ MOZ_ASSERT(aVal && aSVGElement, "Expecting non-null aVal and aSVGElement");
+ MOZ_ASSERT(aVal == aSVGElement->GetAnimatedLength(aVal->mAttrEnum),
+ "Mismatched aVal/SVGElement?");
auto& table =
aAnimVal ? sAnimSVGLengthTearOffTable : sBaseSVGLengthTearOffTable;
RefPtr<DOMSVGLength> domLength = table.GetTearoff(aVal);
if (!domLength) {
domLength = new DOMSVGLength(aVal, aSVGElement, aAnimVal);
table.AddTearoff(aVal, domLength);
+ domLength->mIsInTearoffTable = true;
}
return domLength.forget();
=====================================
dom/svg/DOMSVGLength.h
=====================================
@@ -15,7 +15,7 @@
#include "mozilla/Attributes.h"
#include "nsWrapperCache.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 22 // supports > 4 million list items
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 21 // supports > 2 million list items
namespace mozilla {
@@ -198,6 +198,13 @@ class DOMSVGLength final : public nsWrapperCache {
uint32_t mAttrEnum : 4; // supports up to 16 attributes
uint32_t mIsAnimValItem : 1;
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true after we're added to the table
+ // (unless we're an instance created via 'Copy()'; those never get added to
+ // the table). Updated to false when we're removed from the table (at which
+ // point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
+
// The following members are only used when we're not in a list:
uint32_t mUnit : 5; // can handle 31 units (the 10 SVG 1.1 units + rem, vw,
// vh, wm, calc + future additions)
=====================================
dom/svg/DOMSVGPoint.cpp
=====================================
@@ -168,6 +168,7 @@ already_AddRefed<DOMSVGPoint> DOMSVGPoint::GetTranslateTearOff(
if (!domPoint) {
domPoint = new DOMSVGPoint(aVal, aSVGSVGElement);
sSVGTranslateTearOffTable.AddTearoff(aVal, domPoint);
+ domPoint->mIsInTearoffTable = true;
}
return domPoint.forget();
@@ -204,12 +205,18 @@ void DOMSVGPoint::CleanupWeakRefs() {
pointList->mItems[mListIndex] = nullptr;
}
+ if (mIsInTearoffTable) {
+ // Similarly, we must update the tearoff table to remove its (non-owning)
+ // pointer to mVal.
+ MOZ_ASSERT(mVal && mIsTranslatePoint,
+ "Tearoff table should only be used for translate-point objects "
+ "with non-null mVal (see GetTranslateTearOff and its callers)");
+ sSVGTranslateTearOffTable.RemoveTearoff(mVal);
+ mIsInTearoffTable = false;
+ }
+
if (mVal) {
- if (mIsTranslatePoint) {
- // Similarly, we must update the tearoff table to remove its (non-owning)
- // pointer to mVal.
- sSVGTranslateTearOffTable.RemoveTearoff(mVal);
- } else {
+ if (!mIsTranslatePoint) {
// In this case we own mVal
delete mVal;
}
=====================================
dom/svg/DOMSVGPoint.h
=====================================
@@ -17,7 +17,7 @@
#include "mozilla/dom/SVGSVGElement.h"
#include "mozilla/gfx/2D.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 30
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 29
namespace mozilla::dom {
struct DOMMatrix2DInit;
@@ -51,7 +51,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(aList),
mListIndex(aListIndex),
mIsAnimValItem(aIsAnimValItem),
- mIsTranslatePoint(false) {
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// These shifts are in sync with the members.
MOZ_ASSERT(aList && aListIndex <= MaxListIndex(), "bad arg");
@@ -60,7 +61,10 @@ class DOMSVGPoint final : public nsWrapperCache {
// Constructor for unowned points and SVGSVGElement.createSVGPoint
explicit DOMSVGPoint(const Point& aPt)
- : mListIndex(0), mIsAnimValItem(false), mIsTranslatePoint(false) {
+ : mListIndex(0),
+ mIsAnimValItem(false),
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// In this case we own mVal
mVal = new SVGPoint(aPt.x, aPt.y);
}
@@ -72,7 +76,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(ToSupports(aSVGSVGElement)),
mListIndex(0),
mIsAnimValItem(false),
- mIsTranslatePoint(true) {}
+ mIsTranslatePoint(true),
+ mIsInTearoffTable(false) {}
virtual ~DOMSVGPoint() { CleanupWeakRefs(); }
@@ -178,6 +183,12 @@ class DOMSVGPoint final : public nsWrapperCache {
uint32_t mListIndex : MOZ_SVG_LIST_INDEX_BIT_COUNT;
uint32_t mIsAnimValItem : 1; // True if We're the animated value of a list
uint32_t mIsTranslatePoint : 1; // true iff our owner is a SVGSVGElement
+
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true if/when we're added to the table
+ // (not all instances are). Updated to false when we're removed from the
+ // table (at which point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
};
} // namespace mozilla::dom
=====================================
dom/svg/DOMSVGPointList.cpp
=====================================
@@ -88,9 +88,12 @@ void DOMSVGPointList::RemoveFromTearoffTable() {
//
// There are now no longer any references to us held by script or list items.
// Note we must use GetAnimValKey/GetBaseValKey here, NOT InternalList()!
- void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
- : InternalAList().GetBaseValKey();
- SVGPointListTearoffTable().RemoveTearoff(key);
+ if (mIsInTearoffTable) {
+ void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
+ : InternalAList().GetBaseValKey();
+ SVGPointListTearoffTable().RemoveTearoff(key);
+ mIsInTearoffTable = false;
+ }
}
DOMSVGPointList::~DOMSVGPointList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGPointList.h
=====================================
@@ -250,6 +250,12 @@ class DOMSVGPointList final : public nsISupports, public nsWrapperCache {
RefPtr<dom::SVGElement> mElement;
bool mIsAnimValList;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
NS_DEFINE_STATIC_IID_ACCESSOR(DOMSVGPointList, MOZILLA_DOMSVGPOINTLIST_IID)
=====================================
dom/svg/DOMSVGStringList.cpp
=====================================
@@ -91,7 +91,10 @@ already_AddRefed<DOMSVGStringList> DOMSVGStringList::GetDOMWrapper(
void DOMSVGStringList::RemoveFromTearoffTable() {
// Script no longer has any references to us.
- SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ if (mIsInTearoffTable) {
+ SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ mIsInTearoffTable = false;
+ }
}
DOMSVGStringList::~DOMSVGStringList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGStringList.h
=====================================
@@ -108,6 +108,12 @@ class DOMSVGStringList final : public nsISupports, public nsWrapperCache {
uint8_t mAttrEnum;
bool mIsConditionalProcessingAttribute;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
} // namespace dom
=====================================
gfx/thebes/gfxFont.cpp
=====================================
@@ -1293,8 +1293,12 @@ static const hb_tag_t defaultFeatures[] = {
void gfxFont::CheckForFeaturesInvolvingSpace() const {
gfxFontEntry::SpaceFeatures flags = gfxFontEntry::SpaceFeatures::None;
+ // mFontEntry->mHasSpaceFeatures is a std::atomic<>, so we set it with
+ // `exchange` to avoid a potential data race. It's ok if two threads both
+ // try to set it; they'll end up with the same value, so it doesn't matter
+ // that one will overwrite the other.
auto setFlags =
- MakeScopeExit([&]() { mFontEntry->mHasSpaceFeatures = flags; });
+ MakeScopeExit([&]() { mFontEntry->mHasSpaceFeatures.exchange(flags); });
bool log = LOG_FONTINIT_ENABLED();
TimeStamp start;
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -11735,6 +11735,13 @@
value: true
mirror: always
+# Disable requests to 0.0.0.0
+# See Bug 1889130
+- name: network.socket.ip_addr_any.disabled
+ type: RelaxedAtomicBool
+ value: @IS_EARLY_BETA_OR_EARLIER@
+ mirror: always
+
# Set true to allow resolving proxy for localhost
- name: network.proxy.allow_hijacking_localhost
type: RelaxedAtomicBool
=====================================
netwerk/base/nsIOService.cpp
=====================================
@@ -230,6 +230,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
"network.proxy.allow_hijacking_localhost",
"network.connectivity-service.",
"network.captive-portal-service.testMode",
+ "network.socket.ip_addr_any.disabled",
nullptr,
};
=====================================
netwerk/base/nsSocketTransport2.cpp
=====================================
@@ -1245,6 +1245,15 @@ nsresult nsSocketTransport::InitiateSocket() {
if (gIOService->IsNetTearingDown()) {
return NS_ERROR_ABORT;
}
+
+ // Since https://github.com/whatwg/fetch/pull/1763,
+ // we need to disable access to 0.0.0.0 for non-test purposes
+ if (StaticPrefs::network_socket_ip_addr_any_disabled() &&
+ mNetAddr.IsIPAddrAny() && !mProxyTransparentResolvesHost) {
+ SOCKET_LOG(("connection refused NS_ERROR_CONNECTION_REFUSED\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
if (gIOService->IsOffline()) {
if (StaticPrefs::network_disable_localhost_when_offline() || !isLocal) {
return NS_ERROR_OFFLINE;
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -86,6 +86,15 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
return rv;
}
+ // We are disabling 0.0.0.0 for non-test purposes.
+ // See https://github.com/whatwg/fetch/pull/1763 for context.
+ if (peerAddr.IsIPAddrAny()) {
+ if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
+ LOG(("Connection refused because of 0.0.0.0 IP address\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+ }
+
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
if (NS_FAILED(rv)) {
return rv;
=====================================
netwerk/test/unit/trr_common.js
=====================================
@@ -1025,6 +1025,7 @@ async function test_ipv4_trr_fallback() {
async function test_no_retry_without_doh() {
info("Bug 1648147 - if the TRR returns 0.0.0.0 we should not retry with DNS");
Services.prefs.setBoolPref("network.trr.fallback-on-zero-response", false);
+ Services.prefs.setBoolPref("network.socket.ip_addr_any.disabled", false);
async function test(url, ip) {
setModeAndURI(2, `doh?responseIP=${ip}`);
@@ -1071,6 +1072,8 @@ async function test_no_retry_without_doh() {
await test(`http://unknown.ipv4.stuff:666/path`, "0.0.0.0");
await test(`http://unknown.ipv6.stuff:666/path`, "::");
}
+
+ Services.prefs.clearUserPref("network.socket.ip_addr_any.disabled");
}
async function test_connection_reuse_and_cycling() {
=====================================
toolkit/components/aboutmemory/content/aboutMemory.js
=====================================
@@ -506,19 +506,11 @@ window.onload = function () {
appendElementWithText(gFooter, "div", "legend", legendText1);
appendElementWithText(gFooter, "div", "legend hiddenOnMobile", legendText2);
- // See if we're loading from a file. (Because about:memory is a non-standard
- // URL, location.search is undefined, so we have to use location.href
- // instead.)
- let search = location.href.split("?")[1];
- if (search) {
- let searchSplit = search.split("&");
- for (let s of searchSplit) {
- if (s.toLowerCase().startsWith("file=")) {
- let filename = s.substring("file=".length);
- updateAboutMemoryFromFile(decodeURIComponent(filename));
- return;
- }
- }
+ // See if we're loading from a file.
+ let { searchParams } = URL.fromURI(document.documentURIObject);
+ let fileParam = searchParams.get("file");
+ if (fileParam) {
+ updateAboutMemoryFromFile(fileParam);
}
};
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/be8b37…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/be8b37…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][base-browser-128.11.0esr-14.5-1] 7 commits: Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed to branch base-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
67609f51 by smayya at 2025-05-26T20:22:49+00:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
9135b49b by hackademix at 2025-05-26T20:22:49+00:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
3863a3bb by Oskar Mansfeld at 2025-05-26T20:22:49+00:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D239514
- - - - -
23aa8fbb by Daniel Holbert at 2025-05-26T20:22:50+00:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
a75f2376 by Daniel Holbert at 2025-05-26T20:22:50+00:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
ab86560a by Daniel Holbert at 2025-05-26T20:22:50+00:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
5ae92208 by Gijs Kruitbosch at 2025-05-26T20:22:51+00:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
15 changed files:
- browser/app/profile/001-base-profile.js
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- modules/libpref/init/StaticPrefList.yaml
- netwerk/base/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/test/unit/trr_common.js
- toolkit/components/aboutmemory/content/aboutMemory.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
=====================================
dom/svg/DOMSVGLength.cpp
=====================================
@@ -51,6 +51,7 @@ DOMSVGLength::DOMSVGLength(DOMSVGLengthList* aList, uint8_t aAttrEnum,
mListIndex(aListIndex),
mAttrEnum(aAttrEnum),
mIsAnimValItem(aIsAnimValItem),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aList, "bad arg");
MOZ_ASSERT(mAttrEnum == aAttrEnum, "bitfield too small");
@@ -63,6 +64,7 @@ DOMSVGLength::DOMSVGLength()
mListIndex(0),
mAttrEnum(0),
mIsAnimValItem(false),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {}
DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
@@ -71,6 +73,7 @@ DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
mListIndex(0),
mAttrEnum(aVal->mAttrEnum),
mIsAnimValItem(aAnimVal),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aVal, "bad arg");
MOZ_ASSERT(mAttrEnum == aVal->mAttrEnum, "bitfield too small");
@@ -88,22 +91,33 @@ void DOMSVGLength::CleanupWeakRefs() {
// Similarly, we must update the tearoff table to remove its (non-owning)
// pointer to mVal.
- if (nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner)) {
- auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
- : sBaseSVGLengthTearOffTable;
- table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ if (mIsInTearoffTable) {
+ nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner);
+ MOZ_ASSERT(svg,
+ "We need our svgElement reference in order to remove "
+ "ourselves from tearoff table...");
+ if (MOZ_LIKELY(svg)) {
+ auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
+ : sBaseSVGLengthTearOffTable;
+ table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ mIsInTearoffTable = false;
+ }
}
}
already_AddRefed<DOMSVGLength> DOMSVGLength::GetTearOff(SVGAnimatedLength* aVal,
SVGElement* aSVGElement,
bool aAnimVal) {
+ MOZ_ASSERT(aVal && aSVGElement, "Expecting non-null aVal and aSVGElement");
+ MOZ_ASSERT(aVal == aSVGElement->GetAnimatedLength(aVal->mAttrEnum),
+ "Mismatched aVal/SVGElement?");
auto& table =
aAnimVal ? sAnimSVGLengthTearOffTable : sBaseSVGLengthTearOffTable;
RefPtr<DOMSVGLength> domLength = table.GetTearoff(aVal);
if (!domLength) {
domLength = new DOMSVGLength(aVal, aSVGElement, aAnimVal);
table.AddTearoff(aVal, domLength);
+ domLength->mIsInTearoffTable = true;
}
return domLength.forget();
=====================================
dom/svg/DOMSVGLength.h
=====================================
@@ -15,7 +15,7 @@
#include "mozilla/Attributes.h"
#include "nsWrapperCache.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 22 // supports > 4 million list items
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 21 // supports > 2 million list items
namespace mozilla {
@@ -204,6 +204,13 @@ class DOMSVGLength final : public nsWrapperCache {
uint32_t mAttrEnum : 4; // supports up to 16 attributes
uint32_t mIsAnimValItem : 1;
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true after we're added to the table
+ // (unless we're an instance created via 'Copy()'; those never get added to
+ // the table). Updated to false when we're removed from the table (at which
+ // point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
+
// The following members are only used when we're not in a list:
uint32_t mUnit : 5; // can handle 31 units (the 10 SVG 1.1 units + rem, vw,
// vh, wm, calc + future additions)
=====================================
dom/svg/DOMSVGPoint.cpp
=====================================
@@ -167,6 +167,7 @@ already_AddRefed<DOMSVGPoint> DOMSVGPoint::GetTranslateTearOff(
if (!domPoint) {
domPoint = new DOMSVGPoint(aVal, aSVGSVGElement);
sSVGTranslateTearOffTable.AddTearoff(aVal, domPoint);
+ domPoint->mIsInTearoffTable = true;
}
return domPoint.forget();
@@ -203,12 +204,18 @@ void DOMSVGPoint::CleanupWeakRefs() {
pointList->mItems[mListIndex] = nullptr;
}
+ if (mIsInTearoffTable) {
+ // Similarly, we must update the tearoff table to remove its (non-owning)
+ // pointer to mVal.
+ MOZ_ASSERT(mVal && mIsTranslatePoint,
+ "Tearoff table should only be used for translate-point objects "
+ "with non-null mVal (see GetTranslateTearOff and its callers)");
+ sSVGTranslateTearOffTable.RemoveTearoff(mVal);
+ mIsInTearoffTable = false;
+ }
+
if (mVal) {
- if (mIsTranslatePoint) {
- // Similarly, we must update the tearoff table to remove its (non-owning)
- // pointer to mVal.
- sSVGTranslateTearOffTable.RemoveTearoff(mVal);
- } else {
+ if (!mIsTranslatePoint) {
// In this case we own mVal
delete mVal;
}
=====================================
dom/svg/DOMSVGPoint.h
=====================================
@@ -17,7 +17,7 @@
#include "mozilla/dom/SVGSVGElement.h"
#include "mozilla/gfx/2D.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 30
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 29
namespace mozilla::dom {
struct DOMMatrix2DInit;
@@ -51,7 +51,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(aList),
mListIndex(aListIndex),
mIsAnimValItem(aIsAnimValItem),
- mIsTranslatePoint(false) {
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// These shifts are in sync with the members.
MOZ_ASSERT(aList && aListIndex <= MaxListIndex(), "bad arg");
@@ -60,7 +61,10 @@ class DOMSVGPoint final : public nsWrapperCache {
// Constructor for unowned points and SVGSVGElement.createSVGPoint
explicit DOMSVGPoint(const Point& aPt)
- : mListIndex(0), mIsAnimValItem(false), mIsTranslatePoint(false) {
+ : mListIndex(0),
+ mIsAnimValItem(false),
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// In this case we own mVal
mVal = new SVGPoint(aPt.x, aPt.y);
}
@@ -72,7 +76,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(ToSupports(aSVGSVGElement)),
mListIndex(0),
mIsAnimValItem(false),
- mIsTranslatePoint(true) {}
+ mIsTranslatePoint(true),
+ mIsInTearoffTable(false) {}
virtual ~DOMSVGPoint() { CleanupWeakRefs(); }
@@ -178,6 +183,12 @@ class DOMSVGPoint final : public nsWrapperCache {
uint32_t mListIndex : MOZ_SVG_LIST_INDEX_BIT_COUNT;
uint32_t mIsAnimValItem : 1; // True if We're the animated value of a list
uint32_t mIsTranslatePoint : 1; // true iff our owner is a SVGSVGElement
+
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true if/when we're added to the table
+ // (not all instances are). Updated to false when we're removed from the
+ // table (at which point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
};
} // namespace mozilla::dom
=====================================
dom/svg/DOMSVGPointList.cpp
=====================================
@@ -90,9 +90,12 @@ void DOMSVGPointList::RemoveFromTearoffTable() {
//
// There are now no longer any references to us held by script or list items.
// Note we must use GetAnimValKey/GetBaseValKey here, NOT InternalList()!
- void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
- : InternalAList().GetBaseValKey();
- SVGPointListTearoffTable().RemoveTearoff(key);
+ if (mIsInTearoffTable) {
+ void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
+ : InternalAList().GetBaseValKey();
+ SVGPointListTearoffTable().RemoveTearoff(key);
+ mIsInTearoffTable = false;
+ }
}
DOMSVGPointList::~DOMSVGPointList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGPointList.h
=====================================
@@ -251,6 +251,12 @@ class DOMSVGPointList final : public nsISupports, public nsWrapperCache {
RefPtr<dom::SVGElement> mElement;
bool mIsAnimValList;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
NS_DEFINE_STATIC_IID_ACCESSOR(DOMSVGPointList, MOZILLA_DOMSVGPOINTLIST_IID)
=====================================
dom/svg/DOMSVGStringList.cpp
=====================================
@@ -91,7 +91,10 @@ already_AddRefed<DOMSVGStringList> DOMSVGStringList::GetDOMWrapper(
void DOMSVGStringList::RemoveFromTearoffTable() {
// Script no longer has any references to us.
- SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ if (mIsInTearoffTable) {
+ SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ mIsInTearoffTable = false;
+ }
}
DOMSVGStringList::~DOMSVGStringList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGStringList.h
=====================================
@@ -108,6 +108,12 @@ class DOMSVGStringList final : public nsISupports, public nsWrapperCache {
uint8_t mAttrEnum;
bool mIsConditionalProcessingAttribute;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
} // namespace dom
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -12175,6 +12175,13 @@
value: true
mirror: always
+# Disable requests to 0.0.0.0
+# See Bug 1889130
+- name: network.socket.ip_addr_any.disabled
+ type: RelaxedAtomicBool
+ value: @IS_EARLY_BETA_OR_EARLIER@
+ mirror: always
+
# Set true to allow resolving proxy for localhost
- name: network.proxy.allow_hijacking_localhost
type: RelaxedAtomicBool
=====================================
netwerk/base/nsIOService.cpp
=====================================
@@ -239,6 +239,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
"network.proxy.allow_hijacking_localhost",
"network.connectivity-service.",
"network.captive-portal-service.testMode",
+ "network.socket.ip_addr_any.disabled",
nullptr,
};
=====================================
netwerk/base/nsSocketTransport2.cpp
=====================================
@@ -1241,6 +1241,15 @@ nsresult nsSocketTransport::InitiateSocket() {
if (gIOService->IsNetTearingDown()) {
return NS_ERROR_ABORT;
}
+
+ // Since https://github.com/whatwg/fetch/pull/1763,
+ // we need to disable access to 0.0.0.0 for non-test purposes
+ if (StaticPrefs::network_socket_ip_addr_any_disabled() &&
+ mNetAddr.IsIPAddrAny() && !mProxyTransparentResolvesHost) {
+ SOCKET_LOG(("connection refused NS_ERROR_CONNECTION_REFUSED\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
if (gIOService->IsOffline()) {
if (StaticPrefs::network_disable_localhost_when_offline() || !isLocal) {
return NS_ERROR_OFFLINE;
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,6 +19,7 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
+#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -88,6 +89,22 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
return rv;
}
+ // We are disabling 0.0.0.0 for non-test purposes.
+ // See https://github.com/whatwg/fetch/pull/1763 for context.
+ if (peerAddr.IsIPAddrAny()) {
+ if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("blocked_requests"_ns)
+ .Add(1);
+ LOG(("Connection refused because of 0.0.0.0 IP address\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("not_blocked_requests"_ns)
+ .Add(1);
+ }
+
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
if (NS_FAILED(rv)) {
return rv;
=====================================
netwerk/test/unit/trr_common.js
=====================================
@@ -1027,6 +1027,7 @@ async function test_ipv4_trr_fallback() {
async function test_no_retry_without_doh() {
info("Bug 1648147 - if the TRR returns 0.0.0.0 we should not retry with DNS");
Services.prefs.setBoolPref("network.trr.fallback-on-zero-response", false);
+ Services.prefs.setBoolPref("network.socket.ip_addr_any.disabled", false);
async function test(url, ip) {
setModeAndURI(2, `doh?responseIP=${ip}`);
@@ -1073,6 +1074,8 @@ async function test_no_retry_without_doh() {
await test(`http://unknown.ipv4.stuff:666/path`, "0.0.0.0");
await test(`http://unknown.ipv6.stuff:666/path`, "::");
}
+
+ Services.prefs.clearUserPref("network.socket.ip_addr_any.disabled");
}
async function test_connection_reuse_and_cycling() {
=====================================
toolkit/components/aboutmemory/content/aboutMemory.js
=====================================
@@ -508,19 +508,11 @@ window.onload = function () {
appendElementWithText(gFooter, "div", "legend", legendText1);
appendElementWithText(gFooter, "div", "legend hiddenOnMobile", legendText2);
- // See if we're loading from a file. (Because about:memory is a non-standard
- // URL, location.search is undefined, so we have to use location.href
- // instead.)
- let search = location.href.split("?")[1];
- if (search) {
- let searchSplit = search.split("&");
- for (let s of searchSplit) {
- if (s.toLowerCase().startsWith("file=")) {
- let filename = s.substring("file=".length);
- updateAboutMemoryFromFile(decodeURIComponent(filename));
- return;
- }
- }
+ // See if we're loading from a file.
+ let { searchParams } = URL.fromURI(document.documentURIObject);
+ let fileParam = searchParams.get("file");
+ if (fileParam) {
+ updateAboutMemoryFromFile(fileParam);
}
};
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/6a2fa0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/6a2fa0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.11.0esr-14.5-1-build2
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed new tag mullvad-browser-128.11.0esr-14.5-1-build2 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.11.0esr-14.5-1] 7 commits: Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed to branch mullvad-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
d3f83daa by smayya at 2025-05-26T20:03:31+00:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
f13fc799 by hackademix at 2025-05-26T20:03:31+00:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
557f124b by Oskar Mansfeld at 2025-05-26T20:03:32+00:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D239514
- - - - -
493492d2 by Daniel Holbert at 2025-05-26T20:03:32+00:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
e486547a by Daniel Holbert at 2025-05-26T20:03:32+00:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
c1566bd8 by Daniel Holbert at 2025-05-26T20:03:32+00:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
d686ade4 by Gijs Kruitbosch at 2025-05-26T20:03:33+00:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
15 changed files:
- browser/app/profile/001-base-profile.js
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- modules/libpref/init/StaticPrefList.yaml
- netwerk/base/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/test/unit/trr_common.js
- toolkit/components/aboutmemory/content/aboutMemory.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
=====================================
dom/svg/DOMSVGLength.cpp
=====================================
@@ -51,6 +51,7 @@ DOMSVGLength::DOMSVGLength(DOMSVGLengthList* aList, uint8_t aAttrEnum,
mListIndex(aListIndex),
mAttrEnum(aAttrEnum),
mIsAnimValItem(aIsAnimValItem),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aList, "bad arg");
MOZ_ASSERT(mAttrEnum == aAttrEnum, "bitfield too small");
@@ -63,6 +64,7 @@ DOMSVGLength::DOMSVGLength()
mListIndex(0),
mAttrEnum(0),
mIsAnimValItem(false),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {}
DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
@@ -71,6 +73,7 @@ DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
mListIndex(0),
mAttrEnum(aVal->mAttrEnum),
mIsAnimValItem(aAnimVal),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aVal, "bad arg");
MOZ_ASSERT(mAttrEnum == aVal->mAttrEnum, "bitfield too small");
@@ -88,22 +91,33 @@ void DOMSVGLength::CleanupWeakRefs() {
// Similarly, we must update the tearoff table to remove its (non-owning)
// pointer to mVal.
- if (nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner)) {
- auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
- : sBaseSVGLengthTearOffTable;
- table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ if (mIsInTearoffTable) {
+ nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner);
+ MOZ_ASSERT(svg,
+ "We need our svgElement reference in order to remove "
+ "ourselves from tearoff table...");
+ if (MOZ_LIKELY(svg)) {
+ auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
+ : sBaseSVGLengthTearOffTable;
+ table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ mIsInTearoffTable = false;
+ }
}
}
already_AddRefed<DOMSVGLength> DOMSVGLength::GetTearOff(SVGAnimatedLength* aVal,
SVGElement* aSVGElement,
bool aAnimVal) {
+ MOZ_ASSERT(aVal && aSVGElement, "Expecting non-null aVal and aSVGElement");
+ MOZ_ASSERT(aVal == aSVGElement->GetAnimatedLength(aVal->mAttrEnum),
+ "Mismatched aVal/SVGElement?");
auto& table =
aAnimVal ? sAnimSVGLengthTearOffTable : sBaseSVGLengthTearOffTable;
RefPtr<DOMSVGLength> domLength = table.GetTearoff(aVal);
if (!domLength) {
domLength = new DOMSVGLength(aVal, aSVGElement, aAnimVal);
table.AddTearoff(aVal, domLength);
+ domLength->mIsInTearoffTable = true;
}
return domLength.forget();
=====================================
dom/svg/DOMSVGLength.h
=====================================
@@ -15,7 +15,7 @@
#include "mozilla/Attributes.h"
#include "nsWrapperCache.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 22 // supports > 4 million list items
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 21 // supports > 2 million list items
namespace mozilla {
@@ -204,6 +204,13 @@ class DOMSVGLength final : public nsWrapperCache {
uint32_t mAttrEnum : 4; // supports up to 16 attributes
uint32_t mIsAnimValItem : 1;
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true after we're added to the table
+ // (unless we're an instance created via 'Copy()'; those never get added to
+ // the table). Updated to false when we're removed from the table (at which
+ // point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
+
// The following members are only used when we're not in a list:
uint32_t mUnit : 5; // can handle 31 units (the 10 SVG 1.1 units + rem, vw,
// vh, wm, calc + future additions)
=====================================
dom/svg/DOMSVGPoint.cpp
=====================================
@@ -167,6 +167,7 @@ already_AddRefed<DOMSVGPoint> DOMSVGPoint::GetTranslateTearOff(
if (!domPoint) {
domPoint = new DOMSVGPoint(aVal, aSVGSVGElement);
sSVGTranslateTearOffTable.AddTearoff(aVal, domPoint);
+ domPoint->mIsInTearoffTable = true;
}
return domPoint.forget();
@@ -203,12 +204,18 @@ void DOMSVGPoint::CleanupWeakRefs() {
pointList->mItems[mListIndex] = nullptr;
}
+ if (mIsInTearoffTable) {
+ // Similarly, we must update the tearoff table to remove its (non-owning)
+ // pointer to mVal.
+ MOZ_ASSERT(mVal && mIsTranslatePoint,
+ "Tearoff table should only be used for translate-point objects "
+ "with non-null mVal (see GetTranslateTearOff and its callers)");
+ sSVGTranslateTearOffTable.RemoveTearoff(mVal);
+ mIsInTearoffTable = false;
+ }
+
if (mVal) {
- if (mIsTranslatePoint) {
- // Similarly, we must update the tearoff table to remove its (non-owning)
- // pointer to mVal.
- sSVGTranslateTearOffTable.RemoveTearoff(mVal);
- } else {
+ if (!mIsTranslatePoint) {
// In this case we own mVal
delete mVal;
}
=====================================
dom/svg/DOMSVGPoint.h
=====================================
@@ -17,7 +17,7 @@
#include "mozilla/dom/SVGSVGElement.h"
#include "mozilla/gfx/2D.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 30
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 29
namespace mozilla::dom {
struct DOMMatrix2DInit;
@@ -51,7 +51,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(aList),
mListIndex(aListIndex),
mIsAnimValItem(aIsAnimValItem),
- mIsTranslatePoint(false) {
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// These shifts are in sync with the members.
MOZ_ASSERT(aList && aListIndex <= MaxListIndex(), "bad arg");
@@ -60,7 +61,10 @@ class DOMSVGPoint final : public nsWrapperCache {
// Constructor for unowned points and SVGSVGElement.createSVGPoint
explicit DOMSVGPoint(const Point& aPt)
- : mListIndex(0), mIsAnimValItem(false), mIsTranslatePoint(false) {
+ : mListIndex(0),
+ mIsAnimValItem(false),
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// In this case we own mVal
mVal = new SVGPoint(aPt.x, aPt.y);
}
@@ -72,7 +76,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(ToSupports(aSVGSVGElement)),
mListIndex(0),
mIsAnimValItem(false),
- mIsTranslatePoint(true) {}
+ mIsTranslatePoint(true),
+ mIsInTearoffTable(false) {}
virtual ~DOMSVGPoint() { CleanupWeakRefs(); }
@@ -178,6 +183,12 @@ class DOMSVGPoint final : public nsWrapperCache {
uint32_t mListIndex : MOZ_SVG_LIST_INDEX_BIT_COUNT;
uint32_t mIsAnimValItem : 1; // True if We're the animated value of a list
uint32_t mIsTranslatePoint : 1; // true iff our owner is a SVGSVGElement
+
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true if/when we're added to the table
+ // (not all instances are). Updated to false when we're removed from the
+ // table (at which point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
};
} // namespace mozilla::dom
=====================================
dom/svg/DOMSVGPointList.cpp
=====================================
@@ -90,9 +90,12 @@ void DOMSVGPointList::RemoveFromTearoffTable() {
//
// There are now no longer any references to us held by script or list items.
// Note we must use GetAnimValKey/GetBaseValKey here, NOT InternalList()!
- void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
- : InternalAList().GetBaseValKey();
- SVGPointListTearoffTable().RemoveTearoff(key);
+ if (mIsInTearoffTable) {
+ void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
+ : InternalAList().GetBaseValKey();
+ SVGPointListTearoffTable().RemoveTearoff(key);
+ mIsInTearoffTable = false;
+ }
}
DOMSVGPointList::~DOMSVGPointList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGPointList.h
=====================================
@@ -251,6 +251,12 @@ class DOMSVGPointList final : public nsISupports, public nsWrapperCache {
RefPtr<dom::SVGElement> mElement;
bool mIsAnimValList;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
NS_DEFINE_STATIC_IID_ACCESSOR(DOMSVGPointList, MOZILLA_DOMSVGPOINTLIST_IID)
=====================================
dom/svg/DOMSVGStringList.cpp
=====================================
@@ -91,7 +91,10 @@ already_AddRefed<DOMSVGStringList> DOMSVGStringList::GetDOMWrapper(
void DOMSVGStringList::RemoveFromTearoffTable() {
// Script no longer has any references to us.
- SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ if (mIsInTearoffTable) {
+ SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ mIsInTearoffTable = false;
+ }
}
DOMSVGStringList::~DOMSVGStringList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGStringList.h
=====================================
@@ -108,6 +108,12 @@ class DOMSVGStringList final : public nsISupports, public nsWrapperCache {
uint8_t mAttrEnum;
bool mIsConditionalProcessingAttribute;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
} // namespace dom
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -12175,6 +12175,13 @@
value: true
mirror: always
+# Disable requests to 0.0.0.0
+# See Bug 1889130
+- name: network.socket.ip_addr_any.disabled
+ type: RelaxedAtomicBool
+ value: @IS_EARLY_BETA_OR_EARLIER@
+ mirror: always
+
# Set true to allow resolving proxy for localhost
- name: network.proxy.allow_hijacking_localhost
type: RelaxedAtomicBool
=====================================
netwerk/base/nsIOService.cpp
=====================================
@@ -239,6 +239,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
"network.proxy.allow_hijacking_localhost",
"network.connectivity-service.",
"network.captive-portal-service.testMode",
+ "network.socket.ip_addr_any.disabled",
nullptr,
};
=====================================
netwerk/base/nsSocketTransport2.cpp
=====================================
@@ -1241,6 +1241,15 @@ nsresult nsSocketTransport::InitiateSocket() {
if (gIOService->IsNetTearingDown()) {
return NS_ERROR_ABORT;
}
+
+ // Since https://github.com/whatwg/fetch/pull/1763,
+ // we need to disable access to 0.0.0.0 for non-test purposes
+ if (StaticPrefs::network_socket_ip_addr_any_disabled() &&
+ mNetAddr.IsIPAddrAny() && !mProxyTransparentResolvesHost) {
+ SOCKET_LOG(("connection refused NS_ERROR_CONNECTION_REFUSED\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
if (gIOService->IsOffline()) {
if (StaticPrefs::network_disable_localhost_when_offline() || !isLocal) {
return NS_ERROR_OFFLINE;
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,6 +19,7 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
+#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -88,6 +89,22 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
return rv;
}
+ // We are disabling 0.0.0.0 for non-test purposes.
+ // See https://github.com/whatwg/fetch/pull/1763 for context.
+ if (peerAddr.IsIPAddrAny()) {
+ if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("blocked_requests"_ns)
+ .Add(1);
+ LOG(("Connection refused because of 0.0.0.0 IP address\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("not_blocked_requests"_ns)
+ .Add(1);
+ }
+
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
if (NS_FAILED(rv)) {
return rv;
=====================================
netwerk/test/unit/trr_common.js
=====================================
@@ -1027,6 +1027,7 @@ async function test_ipv4_trr_fallback() {
async function test_no_retry_without_doh() {
info("Bug 1648147 - if the TRR returns 0.0.0.0 we should not retry with DNS");
Services.prefs.setBoolPref("network.trr.fallback-on-zero-response", false);
+ Services.prefs.setBoolPref("network.socket.ip_addr_any.disabled", false);
async function test(url, ip) {
setModeAndURI(2, `doh?responseIP=${ip}`);
@@ -1073,6 +1074,8 @@ async function test_no_retry_without_doh() {
await test(`http://unknown.ipv4.stuff:666/path`, "0.0.0.0");
await test(`http://unknown.ipv6.stuff:666/path`, "::");
}
+
+ Services.prefs.clearUserPref("network.socket.ip_addr_any.disabled");
}
async function test_connection_reuse_and_cycling() {
=====================================
toolkit/components/aboutmemory/content/aboutMemory.js
=====================================
@@ -508,19 +508,11 @@ window.onload = function () {
appendElementWithText(gFooter, "div", "legend", legendText1);
appendElementWithText(gFooter, "div", "legend hiddenOnMobile", legendText2);
- // See if we're loading from a file. (Because about:memory is a non-standard
- // URL, location.search is undefined, so we have to use location.href
- // instead.)
- let search = location.href.split("?")[1];
- if (search) {
- let searchSplit = search.split("&");
- for (let s of searchSplit) {
- if (s.toLowerCase().startsWith("file=")) {
- let filename = s.substring("file=".length);
- updateAboutMemoryFromFile(decodeURIComponent(filename));
- return;
- }
- }
+ // See if we're loading from a file.
+ let { searchParams } = URL.fromURI(document.documentURIObject);
+ let fileParam = searchParams.get("file");
+ if (fileParam) {
+ updateAboutMemoryFromFile(fileParam);
}
};
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6c…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6c…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.11.0esr-14.5-1-build2
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed new tag tor-browser-128.11.0esr-14.5-1-build2 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] Deleted 1 commit: Merge branch 'tb43811_sb128' into 'tor-browser-128.11.0esr-14.5-1'
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
WARNING: The push did not contain any new commits, but force pushed to delete the commits and changes below.
Deleted commits:
ab178f3e by morgan at 2025-05-26T15:45:37+00:00
Merge branch 'tb43811_sb128' into 'tor-browser-128.11.0esr-14.5-1'
BB 43811 (esr128): Backport security fixes from Firefox 139
See merge request ma1/tor-browser-confidential!19
- - - - -
0 changed files:
Changes:
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ab178f3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ab178f3…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Deleted tag tor-browser-128.11.0esr-14.5-1-build2
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan deleted tag tor-browser-128.11.0esr-14.5-1-build2 at The Tor Project / Applications / Tor Browser
--
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.11.0esr-14.5-1-build2
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed new tag tor-browser-128.11.0esr-14.5-1-build2 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] 8 commits: Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
by morgan (@morgan) 26 May '25
by morgan (@morgan) 26 May '25
26 May '25
morgan pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
cf2ad16e by smayya at 2025-05-23T15:19:13+02:00
Bug 1889130 - block http requests on 0.0.0.0 address. r=necko-reviewers,valentin,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D219041
- - - - -
cfce6bf9 by hackademix at 2025-05-23T15:32:07+02:00
fixup! Firefox preference overrides.
BB 43811: Block 0.0.0.0
- - - - -
35fdd814 by Oskar Mansfeld at 2025-05-23T15:32:20+02:00
Bug 1914583 - Block IPAddrAny on H3 code path. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D239514
- - - - -
43f9f11c by Daniel Holbert at 2025-05-23T15:32:21+02:00
Bug 1742738 part 1: Tighten up tearoff-table removal for DOMSVGPointList and DOMSVGStringList. r=firefox-svg-reviewers,longsonr
Differential Revision: https://phabricator.services.mozilla.com/D246062
- - - - -
52f4b900 by Daniel Holbert at 2025-05-23T15:32:22+02:00
Bug 1742738 part 2: Tighten up tearoff-table removal for DOMSVGLength. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246063
- - - - -
bec689db by Daniel Holbert at 2025-05-23T15:32:22+02:00
Bug 1742738 part 3: Tighten up tearoff-table removal for DOMSVGPoint. r=firefox-svg-reviewers,longsonr
I'm doing this one in its own patch since it's slightly more subtle than the
others, due to the existence of multiple instance-creation codepaths, some of
which generate instances that never end up in the tearoff table.
Differential Revision: https://phabricator.services.mozilla.com/D246065
- - - - -
bdc25770 by Gijs Kruitbosch at 2025-05-23T16:01:30+02:00
Bug 1959298 - use search params in about:memory, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D245049
- - - - -
ab178f3e by morgan at 2025-05-26T15:45:37+00:00
Merge branch 'tb43811_sb128' into 'tor-browser-128.11.0esr-14.5-1'
BB 43811 (esr128): Backport security fixes from Firefox 139
See merge request ma1/tor-browser-confidential!19
- - - - -
15 changed files:
- browser/app/profile/001-base-profile.js
- dom/svg/DOMSVGLength.cpp
- dom/svg/DOMSVGLength.h
- dom/svg/DOMSVGPoint.cpp
- dom/svg/DOMSVGPoint.h
- dom/svg/DOMSVGPointList.cpp
- dom/svg/DOMSVGPointList.h
- dom/svg/DOMSVGStringList.cpp
- dom/svg/DOMSVGStringList.h
- modules/libpref/init/StaticPrefList.yaml
- netwerk/base/nsIOService.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/protocol/http/HttpConnectionUDP.cpp
- netwerk/test/unit/trr_common.js
- toolkit/components/aboutmemory/content/aboutMemory.js
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -536,6 +536,11 @@ pref("network.proxy.failover_direct", false, locked);
// alters content load order in a page. See tor-browser#24686
pref("network.http.tailing.enabled", true, locked);
+// Block 0.0.0.0
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1889130
+// tor-browser#43811
+pref("network.socket.ip_addr_any.disabled", true);
+
// tor-browser#23044: Make sure we don't have any GIO supported protocols
// (defense in depth measure).
// As of Firefox 118 (Bug 1843763), upstream does not add any protocol by
=====================================
dom/svg/DOMSVGLength.cpp
=====================================
@@ -51,6 +51,7 @@ DOMSVGLength::DOMSVGLength(DOMSVGLengthList* aList, uint8_t aAttrEnum,
mListIndex(aListIndex),
mAttrEnum(aAttrEnum),
mIsAnimValItem(aIsAnimValItem),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aList, "bad arg");
MOZ_ASSERT(mAttrEnum == aAttrEnum, "bitfield too small");
@@ -63,6 +64,7 @@ DOMSVGLength::DOMSVGLength()
mListIndex(0),
mAttrEnum(0),
mIsAnimValItem(false),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {}
DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
@@ -71,6 +73,7 @@ DOMSVGLength::DOMSVGLength(SVGAnimatedLength* aVal, SVGElement* aSVGElement,
mListIndex(0),
mAttrEnum(aVal->mAttrEnum),
mIsAnimValItem(aAnimVal),
+ mIsInTearoffTable(false),
mUnit(SVGLength_Binding::SVG_LENGTHTYPE_NUMBER) {
MOZ_ASSERT(aVal, "bad arg");
MOZ_ASSERT(mAttrEnum == aVal->mAttrEnum, "bitfield too small");
@@ -88,22 +91,33 @@ void DOMSVGLength::CleanupWeakRefs() {
// Similarly, we must update the tearoff table to remove its (non-owning)
// pointer to mVal.
- if (nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner)) {
- auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
- : sBaseSVGLengthTearOffTable;
- table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ if (mIsInTearoffTable) {
+ nsCOMPtr<SVGElement> svg = do_QueryInterface(mOwner);
+ MOZ_ASSERT(svg,
+ "We need our svgElement reference in order to remove "
+ "ourselves from tearoff table...");
+ if (MOZ_LIKELY(svg)) {
+ auto& table = mIsAnimValItem ? sAnimSVGLengthTearOffTable
+ : sBaseSVGLengthTearOffTable;
+ table.RemoveTearoff(svg->GetAnimatedLength(mAttrEnum));
+ mIsInTearoffTable = false;
+ }
}
}
already_AddRefed<DOMSVGLength> DOMSVGLength::GetTearOff(SVGAnimatedLength* aVal,
SVGElement* aSVGElement,
bool aAnimVal) {
+ MOZ_ASSERT(aVal && aSVGElement, "Expecting non-null aVal and aSVGElement");
+ MOZ_ASSERT(aVal == aSVGElement->GetAnimatedLength(aVal->mAttrEnum),
+ "Mismatched aVal/SVGElement?");
auto& table =
aAnimVal ? sAnimSVGLengthTearOffTable : sBaseSVGLengthTearOffTable;
RefPtr<DOMSVGLength> domLength = table.GetTearoff(aVal);
if (!domLength) {
domLength = new DOMSVGLength(aVal, aSVGElement, aAnimVal);
table.AddTearoff(aVal, domLength);
+ domLength->mIsInTearoffTable = true;
}
return domLength.forget();
=====================================
dom/svg/DOMSVGLength.h
=====================================
@@ -15,7 +15,7 @@
#include "mozilla/Attributes.h"
#include "nsWrapperCache.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 22 // supports > 4 million list items
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 21 // supports > 2 million list items
namespace mozilla {
@@ -204,6 +204,13 @@ class DOMSVGLength final : public nsWrapperCache {
uint32_t mAttrEnum : 4; // supports up to 16 attributes
uint32_t mIsAnimValItem : 1;
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true after we're added to the table
+ // (unless we're an instance created via 'Copy()'; those never get added to
+ // the table). Updated to false when we're removed from the table (at which
+ // point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
+
// The following members are only used when we're not in a list:
uint32_t mUnit : 5; // can handle 31 units (the 10 SVG 1.1 units + rem, vw,
// vh, wm, calc + future additions)
=====================================
dom/svg/DOMSVGPoint.cpp
=====================================
@@ -167,6 +167,7 @@ already_AddRefed<DOMSVGPoint> DOMSVGPoint::GetTranslateTearOff(
if (!domPoint) {
domPoint = new DOMSVGPoint(aVal, aSVGSVGElement);
sSVGTranslateTearOffTable.AddTearoff(aVal, domPoint);
+ domPoint->mIsInTearoffTable = true;
}
return domPoint.forget();
@@ -203,12 +204,18 @@ void DOMSVGPoint::CleanupWeakRefs() {
pointList->mItems[mListIndex] = nullptr;
}
+ if (mIsInTearoffTable) {
+ // Similarly, we must update the tearoff table to remove its (non-owning)
+ // pointer to mVal.
+ MOZ_ASSERT(mVal && mIsTranslatePoint,
+ "Tearoff table should only be used for translate-point objects "
+ "with non-null mVal (see GetTranslateTearOff and its callers)");
+ sSVGTranslateTearOffTable.RemoveTearoff(mVal);
+ mIsInTearoffTable = false;
+ }
+
if (mVal) {
- if (mIsTranslatePoint) {
- // Similarly, we must update the tearoff table to remove its (non-owning)
- // pointer to mVal.
- sSVGTranslateTearOffTable.RemoveTearoff(mVal);
- } else {
+ if (!mIsTranslatePoint) {
// In this case we own mVal
delete mVal;
}
=====================================
dom/svg/DOMSVGPoint.h
=====================================
@@ -17,7 +17,7 @@
#include "mozilla/dom/SVGSVGElement.h"
#include "mozilla/gfx/2D.h"
-#define MOZ_SVG_LIST_INDEX_BIT_COUNT 30
+#define MOZ_SVG_LIST_INDEX_BIT_COUNT 29
namespace mozilla::dom {
struct DOMMatrix2DInit;
@@ -51,7 +51,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(aList),
mListIndex(aListIndex),
mIsAnimValItem(aIsAnimValItem),
- mIsTranslatePoint(false) {
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// These shifts are in sync with the members.
MOZ_ASSERT(aList && aListIndex <= MaxListIndex(), "bad arg");
@@ -60,7 +61,10 @@ class DOMSVGPoint final : public nsWrapperCache {
// Constructor for unowned points and SVGSVGElement.createSVGPoint
explicit DOMSVGPoint(const Point& aPt)
- : mListIndex(0), mIsAnimValItem(false), mIsTranslatePoint(false) {
+ : mListIndex(0),
+ mIsAnimValItem(false),
+ mIsTranslatePoint(false),
+ mIsInTearoffTable(false) {
// In this case we own mVal
mVal = new SVGPoint(aPt.x, aPt.y);
}
@@ -72,7 +76,8 @@ class DOMSVGPoint final : public nsWrapperCache {
mOwner(ToSupports(aSVGSVGElement)),
mListIndex(0),
mIsAnimValItem(false),
- mIsTranslatePoint(true) {}
+ mIsTranslatePoint(true),
+ mIsInTearoffTable(false) {}
virtual ~DOMSVGPoint() { CleanupWeakRefs(); }
@@ -178,6 +183,12 @@ class DOMSVGPoint final : public nsWrapperCache {
uint32_t mListIndex : MOZ_SVG_LIST_INDEX_BIT_COUNT;
uint32_t mIsAnimValItem : 1; // True if We're the animated value of a list
uint32_t mIsTranslatePoint : 1; // true iff our owner is a SVGSVGElement
+
+ // Tracks whether we're in the tearoff table. Initialized to false in the
+ // ctor, but then immediately set to true if/when we're added to the table
+ // (not all instances are). Updated to false when we're removed from the
+ // table (at which point we're being destructed or soon-to-be destructed).
+ uint32_t mIsInTearoffTable : 1;
};
} // namespace mozilla::dom
=====================================
dom/svg/DOMSVGPointList.cpp
=====================================
@@ -90,9 +90,12 @@ void DOMSVGPointList::RemoveFromTearoffTable() {
//
// There are now no longer any references to us held by script or list items.
// Note we must use GetAnimValKey/GetBaseValKey here, NOT InternalList()!
- void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
- : InternalAList().GetBaseValKey();
- SVGPointListTearoffTable().RemoveTearoff(key);
+ if (mIsInTearoffTable) {
+ void* key = mIsAnimValList ? InternalAList().GetAnimValKey()
+ : InternalAList().GetBaseValKey();
+ SVGPointListTearoffTable().RemoveTearoff(key);
+ mIsInTearoffTable = false;
+ }
}
DOMSVGPointList::~DOMSVGPointList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGPointList.h
=====================================
@@ -251,6 +251,12 @@ class DOMSVGPointList final : public nsISupports, public nsWrapperCache {
RefPtr<dom::SVGElement> mElement;
bool mIsAnimValList;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
NS_DEFINE_STATIC_IID_ACCESSOR(DOMSVGPointList, MOZILLA_DOMSVGPOINTLIST_IID)
=====================================
dom/svg/DOMSVGStringList.cpp
=====================================
@@ -91,7 +91,10 @@ already_AddRefed<DOMSVGStringList> DOMSVGStringList::GetDOMWrapper(
void DOMSVGStringList::RemoveFromTearoffTable() {
// Script no longer has any references to us.
- SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ if (mIsInTearoffTable) {
+ SVGStringListTearoffTable().RemoveTearoff(&InternalList());
+ mIsInTearoffTable = false;
+ }
}
DOMSVGStringList::~DOMSVGStringList() { RemoveFromTearoffTable(); }
=====================================
dom/svg/DOMSVGStringList.h
=====================================
@@ -108,6 +108,12 @@ class DOMSVGStringList final : public nsISupports, public nsWrapperCache {
uint8_t mAttrEnum;
bool mIsConditionalProcessingAttribute;
+
+ // Tracks whether we're in the tearoff table. Initialized to true, since all
+ // new instances are added to the table right after construction. Updated to
+ // false when we're removed from the table (at which point we're being
+ // destructed or soon-to-be destructed).
+ bool mIsInTearoffTable = true;
};
} // namespace dom
=====================================
modules/libpref/init/StaticPrefList.yaml
=====================================
@@ -12183,6 +12183,13 @@
value: true
mirror: always
+# Disable requests to 0.0.0.0
+# See Bug 1889130
+- name: network.socket.ip_addr_any.disabled
+ type: RelaxedAtomicBool
+ value: @IS_EARLY_BETA_OR_EARLIER@
+ mirror: always
+
# Set true to allow resolving proxy for localhost
- name: network.proxy.allow_hijacking_localhost
type: RelaxedAtomicBool
=====================================
netwerk/base/nsIOService.cpp
=====================================
@@ -239,6 +239,7 @@ static const char* gCallbackPrefsForSocketProcess[] = {
"network.proxy.allow_hijacking_localhost",
"network.connectivity-service.",
"network.captive-portal-service.testMode",
+ "network.socket.ip_addr_any.disabled",
nullptr,
};
=====================================
netwerk/base/nsSocketTransport2.cpp
=====================================
@@ -1247,6 +1247,15 @@ nsresult nsSocketTransport::InitiateSocket() {
if (gIOService->IsNetTearingDown()) {
return NS_ERROR_ABORT;
}
+
+ // Since https://github.com/whatwg/fetch/pull/1763,
+ // we need to disable access to 0.0.0.0 for non-test purposes
+ if (StaticPrefs::network_socket_ip_addr_any_disabled() &&
+ mNetAddr.IsIPAddrAny() && !mProxyTransparentResolvesHost) {
+ SOCKET_LOG(("connection refused NS_ERROR_CONNECTION_REFUSED\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
if (gIOService->IsOffline()) {
if (StaticPrefs::network_disable_localhost_when_offline() || !isLocal) {
return NS_ERROR_OFFLINE;
=====================================
netwerk/protocol/http/HttpConnectionUDP.cpp
=====================================
@@ -19,6 +19,7 @@
#include "ASpdySession.h"
#include "mozilla/StaticPrefs_network.h"
+#include "mozilla/glean/NetwerkMetrics.h"
#include "mozilla/Telemetry.h"
#include "HttpConnectionUDP.h"
#include "nsHttpHandler.h"
@@ -88,6 +89,22 @@ nsresult HttpConnectionUDP::Init(nsHttpConnectionInfo* info,
return rv;
}
+ // We are disabling 0.0.0.0 for non-test purposes.
+ // See https://github.com/whatwg/fetch/pull/1763 for context.
+ if (peerAddr.IsIPAddrAny()) {
+ if (StaticPrefs::network_socket_ip_addr_any_disabled()) {
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("blocked_requests"_ns)
+ .Add(1);
+ LOG(("Connection refused because of 0.0.0.0 IP address\n"));
+ return NS_ERROR_CONNECTION_REFUSED;
+ }
+
+ mozilla::glean::networking::http_ip_addr_any_count
+ .Get("not_blocked_requests"_ns)
+ .Add(1);
+ }
+
mSocket = do_CreateInstance("@mozilla.org/network/udp-socket;1", &rv);
if (NS_FAILED(rv)) {
return rv;
=====================================
netwerk/test/unit/trr_common.js
=====================================
@@ -1027,6 +1027,7 @@ async function test_ipv4_trr_fallback() {
async function test_no_retry_without_doh() {
info("Bug 1648147 - if the TRR returns 0.0.0.0 we should not retry with DNS");
Services.prefs.setBoolPref("network.trr.fallback-on-zero-response", false);
+ Services.prefs.setBoolPref("network.socket.ip_addr_any.disabled", false);
async function test(url, ip) {
setModeAndURI(2, `doh?responseIP=${ip}`);
@@ -1073,6 +1074,8 @@ async function test_no_retry_without_doh() {
await test(`http://unknown.ipv4.stuff:666/path`, "0.0.0.0");
await test(`http://unknown.ipv6.stuff:666/path`, "::");
}
+
+ Services.prefs.clearUserPref("network.socket.ip_addr_any.disabled");
}
async function test_connection_reuse_and_cycling() {
=====================================
toolkit/components/aboutmemory/content/aboutMemory.js
=====================================
@@ -508,19 +508,11 @@ window.onload = function () {
appendElementWithText(gFooter, "div", "legend", legendText1);
appendElementWithText(gFooter, "div", "legend hiddenOnMobile", legendText2);
- // See if we're loading from a file. (Because about:memory is a non-standard
- // URL, location.search is undefined, so we have to use location.href
- // instead.)
- let search = location.href.split("?")[1];
- if (search) {
- let searchSplit = search.split("&");
- for (let s of searchSplit) {
- if (s.toLowerCase().startsWith("file=")) {
- let filename = s.substring("file=".length);
- updateAboutMemoryFromFile(decodeURIComponent(filename));
- return;
- }
- }
+ // See if we're loading from a file.
+ let { searchParams } = URL.fromURI(document.documentURIObject);
+ let fileParam = searchParams.get("file");
+ if (fileParam) {
+ updateAboutMemoryFromFile(fileParam);
}
};
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/33b39b…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/33b39b…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 10 commits: Revert "Bug 1967673 - [devtools] Don't omit valid safe getter undefined values...
by Pier Angelo Vendrame (@pierov) 26 May '25
by Pier Angelo Vendrame (@pierov) 26 May '25
26 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
04d5ed8b by Cristian Tuns at 2025-05-25T10:25:19+00:00
Revert "Bug 1967673 - [devtools] Don't omit valid safe getter undefined values in _findSafeGetterValues. r=devtools-reviewers,jdescottes" for causing failures with "1 not in success codes: [0] "
This reverts commit f73f8eabd8fa3ac6eda50c66cca3b397de343861.
- - - - -
e2e0c44c by Nicolas Chevobbe at 2025-05-25T10:56:48+00:00
Bug 1967673 - [devtools] Don't omit valid safe getter undefined values in _findSafeGetterValues. r=devtools-reviewers,jdescottes DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250613
- - - - -
e44cf8eb by Emilio Cobos Álvarez at 2025-05-25T12:31:48+00:00
Bug 1967551 - Remove native tabbox support. r=desktop-theme-reviewers,mac-reviewers,win-reviewers,tabbrowser-reviewers,gstoll,mstange,dao
Eventually I want to simplify a lot of how the theming code deals with
overriding border / padding, and this helps with that.
Since bug 1765076 this isn't used anywhere, so I think simplifying this
is the right trade-off. Thunderbird also doesn't use it.
Differential Revision: https://phabricator.services.mozilla.com/D250314
- - - - -
6888f3ba by Release Engineering Landoscript at 2025-05-25T18:55:06+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a27e2491a9387a8146c3ff72960639f1f2c7591d
af -> a27e2491a9387a8146c3ff72960639f1f2c7591d
an -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ar -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ast -> a27e2491a9387a8146c3ff72960639f1f2c7591d
az -> a27e2491a9387a8146c3ff72960639f1f2c7591d
be -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bg -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
br -> a27e2491a9387a8146c3ff72960639f1f2c7591d
brx -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ca -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ca-valencia -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cak -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ckb -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cy -> a27e2491a9387a8146c3ff72960639f1f2c7591d
da -> a27e2491a9387a8146c3ff72960639f1f2c7591d
de -> a27e2491a9387a8146c3ff72960639f1f2c7591d
dsb -> a27e2491a9387a8146c3ff72960639f1f2c7591d
el -> a27e2491a9387a8146c3ff72960639f1f2c7591d
en-CA -> a27e2491a9387a8146c3ff72960639f1f2c7591d
en-GB -> a27e2491a9387a8146c3ff72960639f1f2c7591d
eo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-AR -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-CL -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-ES -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-MX -> a27e2491a9387a8146c3ff72960639f1f2c7591d
et -> a27e2491a9387a8146c3ff72960639f1f2c7591d
eu -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fa -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ff -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fi -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fur -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fy-NL -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ga-IE -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gd -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gu-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
he -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hi-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hsb -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hu -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hy-AM -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hye -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ia -> a27e2491a9387a8146c3ff72960639f1f2c7591d
id -> a27e2491a9387a8146c3ff72960639f1f2c7591d
is -> a27e2491a9387a8146c3ff72960639f1f2c7591d
it -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ja -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ja-JP-mac -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ka -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kab -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
km -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ko -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lij -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lt -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ltg -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lv -> a27e2491a9387a8146c3ff72960639f1f2c7591d
meh -> a27e2491a9387a8146c3ff72960639f1f2c7591d
mk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ml -> a27e2491a9387a8146c3ff72960639f1f2c7591d
mr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ms -> a27e2491a9387a8146c3ff72960639f1f2c7591d
my -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nb-NO -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ne-NP -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nn-NO -> a27e2491a9387a8146c3ff72960639f1f2c7591d
oc -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pa-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pt-BR -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pt-PT -> a27e2491a9387a8146c3ff72960639f1f2c7591d
rm -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ro -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ru -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sat -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sc -> a27e2491a9387a8146c3ff72960639f1f2c7591d
scn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sco -> a27e2491a9387a8146c3ff72960639f1f2c7591d
si -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
skr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
son -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sq -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sv-SE -> a27e2491a9387a8146c3ff72960639f1f2c7591d
szl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ta -> a27e2491a9387a8146c3ff72960639f1f2c7591d
te -> a27e2491a9387a8146c3ff72960639f1f2c7591d
tg -> a27e2491a9387a8146c3ff72960639f1f2c7591d
th -> a27e2491a9387a8146c3ff72960639f1f2c7591d
tl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
tr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
trs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
uk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ur -> a27e2491a9387a8146c3ff72960639f1f2c7591d
uz -> a27e2491a9387a8146c3ff72960639f1f2c7591d
vi -> a27e2491a9387a8146c3ff72960639f1f2c7591d
wo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
xh -> a27e2491a9387a8146c3ff72960639f1f2c7591d
zh-CN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
zh-TW -> a27e2491a9387a8146c3ff72960639f1f2c7591d
- - - - -
c2c88dc8 by Release Engineering Landoscript at 2025-05-25T18:55:10+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a27e2491a9387a8146c3ff72960639f1f2c7591d
an -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ar -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ast -> a27e2491a9387a8146c3ff72960639f1f2c7591d
az -> a27e2491a9387a8146c3ff72960639f1f2c7591d
be -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bg -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
br -> a27e2491a9387a8146c3ff72960639f1f2c7591d
bs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ca -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cak -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
cy -> a27e2491a9387a8146c3ff72960639f1f2c7591d
da -> a27e2491a9387a8146c3ff72960639f1f2c7591d
de -> a27e2491a9387a8146c3ff72960639f1f2c7591d
dsb -> a27e2491a9387a8146c3ff72960639f1f2c7591d
el -> a27e2491a9387a8146c3ff72960639f1f2c7591d
en-CA -> a27e2491a9387a8146c3ff72960639f1f2c7591d
en-GB -> a27e2491a9387a8146c3ff72960639f1f2c7591d
eo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-AR -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-CL -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-ES -> a27e2491a9387a8146c3ff72960639f1f2c7591d
es-MX -> a27e2491a9387a8146c3ff72960639f1f2c7591d
et -> a27e2491a9387a8146c3ff72960639f1f2c7591d
eu -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fa -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ff -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fi -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
fy-NL -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ga-IE -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gd -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
gu-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
he -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hi-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hsb -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hu -> a27e2491a9387a8146c3ff72960639f1f2c7591d
hy-AM -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ia -> a27e2491a9387a8146c3ff72960639f1f2c7591d
id -> a27e2491a9387a8146c3ff72960639f1f2c7591d
is -> a27e2491a9387a8146c3ff72960639f1f2c7591d
it -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ja -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ka -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kab -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
km -> a27e2491a9387a8146c3ff72960639f1f2c7591d
kn -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ko -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lij -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lt -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ltg -> a27e2491a9387a8146c3ff72960639f1f2c7591d
lv -> a27e2491a9387a8146c3ff72960639f1f2c7591d
meh -> a27e2491a9387a8146c3ff72960639f1f2c7591d
mix -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ml -> a27e2491a9387a8146c3ff72960639f1f2c7591d
mr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ms -> a27e2491a9387a8146c3ff72960639f1f2c7591d
my -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nb-NO -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ne-NP -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
nn-NO -> a27e2491a9387a8146c3ff72960639f1f2c7591d
oc -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pa-IN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pt-BR -> a27e2491a9387a8146c3ff72960639f1f2c7591d
pt-PT -> a27e2491a9387a8146c3ff72960639f1f2c7591d
rm -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ro -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ru -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
son -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sq -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
sv-SE -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ta -> a27e2491a9387a8146c3ff72960639f1f2c7591d
te -> a27e2491a9387a8146c3ff72960639f1f2c7591d
th -> a27e2491a9387a8146c3ff72960639f1f2c7591d
tl -> a27e2491a9387a8146c3ff72960639f1f2c7591d
tr -> a27e2491a9387a8146c3ff72960639f1f2c7591d
trs -> a27e2491a9387a8146c3ff72960639f1f2c7591d
uk -> a27e2491a9387a8146c3ff72960639f1f2c7591d
ur -> a27e2491a9387a8146c3ff72960639f1f2c7591d
uz -> a27e2491a9387a8146c3ff72960639f1f2c7591d
vi -> a27e2491a9387a8146c3ff72960639f1f2c7591d
wo -> a27e2491a9387a8146c3ff72960639f1f2c7591d
xh -> a27e2491a9387a8146c3ff72960639f1f2c7591d
zam -> a27e2491a9387a8146c3ff72960639f1f2c7591d
zh-CN -> a27e2491a9387a8146c3ff72960639f1f2c7591d
zh-TW -> a27e2491a9387a8146c3ff72960639f1f2c7591d
- - - - -
027d1bde by Release Engineering Landoscript at 2025-05-26T00:10:35+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
4c56f201 by Release Engineering Landoscript at 2025-05-26T06:54:02+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
af -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
an -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ar -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ast -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
az -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
be -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bg -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
br -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
brx -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ca -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ca-valencia -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cak -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ckb -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cy -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
da -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
de -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
dsb -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
el -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
en-CA -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
en-GB -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
eo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-AR -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-CL -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-ES -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-MX -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
et -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
eu -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fa -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ff -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fi -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fur -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fy-NL -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ga-IE -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gd -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gu-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
he -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hi-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hsb -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hu -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hy-AM -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hye -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ia -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
id -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
is -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
it -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ja -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ja-JP-mac -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ka -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kab -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
km -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ko -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lij -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lt -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ltg -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lv -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
meh -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
mk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ml -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
mr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ms -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
my -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nb-NO -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ne-NP -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nn-NO -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
oc -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pa-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pt-BR -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pt-PT -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
rm -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ro -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ru -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sat -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sc -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
scn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sco -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
si -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
skr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
son -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sq -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sv-SE -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
szl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ta -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
te -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
tg -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
th -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
tl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
tr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
trs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
uk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ur -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
uz -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
vi -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
wo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
xh -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
zh-CN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
zh-TW -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
- - - - -
c5eaeb28 by Release Engineering Landoscript at 2025-05-26T06:54:05+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
an -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ar -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ast -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
az -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
be -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bg -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
br -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
bs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ca -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cak -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
cy -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
da -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
de -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
dsb -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
el -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
en-CA -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
en-GB -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
eo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-AR -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-CL -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-ES -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
es-MX -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
et -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
eu -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fa -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ff -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fi -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
fy-NL -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ga-IE -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gd -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
gu-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
he -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hi-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hsb -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hu -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
hy-AM -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ia -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
id -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
is -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
it -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ja -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ka -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kab -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
km -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
kn -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ko -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lij -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lt -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ltg -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
lv -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
meh -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
mix -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ml -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
mr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ms -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
my -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nb-NO -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ne-NP -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
nn-NO -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
oc -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pa-IN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pt-BR -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
pt-PT -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
rm -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ro -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ru -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
son -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sq -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
sv-SE -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ta -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
te -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
th -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
tl -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
tr -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
trs -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
uk -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
ur -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
uz -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
vi -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
wo -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
xh -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
zam -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
zh-CN -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
zh-TW -> cf4770fc0875f74ddfe493598957b08a0ddbc2fa
- - - - -
178d2615 by Yulia at 2025-05-26T07:20:24+00:00
Bug 1967805: use a modIterator for cancellable tasks;r=iain,arai
Differential Revision: https://phabricator.services.mozilla.com/D250610
- - - - -
f1e32fa7 by Yulia at 2025-05-26T07:20:27+00:00
Bug 1967805: add test for cancellables held past shutdown; r=iain
Differential Revision: https://phabricator.services.mozilla.com/D250611
- - - - -
37 changed files:
- browser/locales/l10n-changesets.json
- browser/themes/osx/browser.css
- browser/themes/shared/tabbrowser/tabs.css
- + js/src/jit-test/tests/atomics/bug1967805.js
- js/src/vm/OffThreadPromiseRuntimeState.cpp
- + mobile/android/android-components/components/compose/base/src/main/res/values-in/strings.xml
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-es-rES/strings.xml
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-in/strings.xml
- mobile/android/android-components/components/feature/addons/src/main/res/values-bqi/strings.xml
- mobile/android/android-components/components/feature/addons/src/main/res/values-hr/strings.xml
- mobile/android/android-components/components/feature/downloads/src/main/res/values-hr/strings.xml
- mobile/android/android-components/components/feature/downloads/src/main/res/values-in/strings.xml
- mobile/android/android-components/components/feature/privatemode/src/main/res/values-hr/strings.xml
- mobile/android/fenix/app/src/main/res/values-bqi/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rES/strings.xml
- mobile/android/fenix/app/src/main/res/values-et/strings.xml
- mobile/android/fenix/app/src/main/res/values-hr/strings.xml
- mobile/android/fenix/app/src/main/res/values-in/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/locales/l10n-changesets.json
- servo/components/style/values/specified/box.rs
- toolkit/themes/linux/global/jar.mn
- toolkit/themes/osx/global/jar.mn
- − toolkit/themes/osx/global/tabbox.css
- toolkit/themes/shared/desktop-jar.inc.mn
- toolkit/themes/shared/in-content/common-shared.css
- toolkit/themes/linux/global/tabbox.css → toolkit/themes/shared/tabbox.css
- toolkit/themes/windows/global/jar.mn
- − toolkit/themes/windows/global/tabbox.css
- widget/cocoa/nsNativeThemeCocoa.h
- widget/cocoa/nsNativeThemeCocoa.mm
- widget/windows/nsNativeThemeWin.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a287c0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/a287c0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_NIGHTLY_140_END
by Pier Angelo Vendrame (@pierov) 26 May '25
by Pier Angelo Vendrame (@pierov) 26 May '25
26 May '25
Pier Angelo Vendrame pushed new tag FIREFOX_NIGHTLY_140_END at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_N…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 246 commits: Bug 1964294 - Offer one-click Sponsored Settings for New Tab...
by Pier Angelo Vendrame (@pierov) 26 May '25
by Pier Angelo Vendrame (@pierov) 26 May '25
26 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
b7a022cb by Nina Pypchenko at 2025-05-23T06:06:26+00:00
Bug 1964294 - Offer one-click Sponsored Settings for New Tab r=home-newtab-reviewers,fluent-reviewers,bolsson,reemhamz
Reorganised sponsored settings on `about:settings#home` to be nested under "Support Firefox" checkbox for an experiment instead of under their respective preferences for top sites and recommended stories.
Differential Revision: https://phabricator.services.mozilla.com/D249767
- - - - -
295ceeaa by Jörn Loviscach at 2025-05-23T06:26:28+00:00
Bug 1906974 - Fix stylus eraser and barrel buttons on GTK r=stransky
Differential Revision: https://phabricator.services.mozilla.com/D248967
- - - - -
cf9778dd by Mike Hommey at 2025-05-23T06:48:19+00:00
Bug 1968151 - Remove the security.xfocsp.errorReporting.* prefs. r=tschuster
They are leftover from bug 1938565.
Differential Revision: https://phabricator.services.mozilla.com/D250875
- - - - -
8a97bb3b by Release Engineering Landoscript at 2025-05-23T06:55:44+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 539058b4af8b6a5807df81f960764261447a3a7d
af -> 539058b4af8b6a5807df81f960764261447a3a7d
an -> 539058b4af8b6a5807df81f960764261447a3a7d
ar -> 539058b4af8b6a5807df81f960764261447a3a7d
ast -> 539058b4af8b6a5807df81f960764261447a3a7d
az -> 539058b4af8b6a5807df81f960764261447a3a7d
be -> 539058b4af8b6a5807df81f960764261447a3a7d
bg -> 539058b4af8b6a5807df81f960764261447a3a7d
bn -> 539058b4af8b6a5807df81f960764261447a3a7d
bo -> 539058b4af8b6a5807df81f960764261447a3a7d
br -> 539058b4af8b6a5807df81f960764261447a3a7d
brx -> 539058b4af8b6a5807df81f960764261447a3a7d
bs -> 539058b4af8b6a5807df81f960764261447a3a7d
ca -> 539058b4af8b6a5807df81f960764261447a3a7d
ca-valencia -> 539058b4af8b6a5807df81f960764261447a3a7d
cak -> 539058b4af8b6a5807df81f960764261447a3a7d
ckb -> 539058b4af8b6a5807df81f960764261447a3a7d
cs -> 539058b4af8b6a5807df81f960764261447a3a7d
cy -> 539058b4af8b6a5807df81f960764261447a3a7d
da -> 539058b4af8b6a5807df81f960764261447a3a7d
de -> 539058b4af8b6a5807df81f960764261447a3a7d
dsb -> 539058b4af8b6a5807df81f960764261447a3a7d
el -> 539058b4af8b6a5807df81f960764261447a3a7d
en-CA -> 539058b4af8b6a5807df81f960764261447a3a7d
en-GB -> 539058b4af8b6a5807df81f960764261447a3a7d
eo -> 539058b4af8b6a5807df81f960764261447a3a7d
es-AR -> 539058b4af8b6a5807df81f960764261447a3a7d
es-CL -> 539058b4af8b6a5807df81f960764261447a3a7d
es-ES -> 539058b4af8b6a5807df81f960764261447a3a7d
es-MX -> 539058b4af8b6a5807df81f960764261447a3a7d
et -> 539058b4af8b6a5807df81f960764261447a3a7d
eu -> 539058b4af8b6a5807df81f960764261447a3a7d
fa -> 539058b4af8b6a5807df81f960764261447a3a7d
ff -> 539058b4af8b6a5807df81f960764261447a3a7d
fi -> 539058b4af8b6a5807df81f960764261447a3a7d
fr -> 539058b4af8b6a5807df81f960764261447a3a7d
fur -> 539058b4af8b6a5807df81f960764261447a3a7d
fy-NL -> 539058b4af8b6a5807df81f960764261447a3a7d
ga-IE -> 539058b4af8b6a5807df81f960764261447a3a7d
gd -> 539058b4af8b6a5807df81f960764261447a3a7d
gl -> 539058b4af8b6a5807df81f960764261447a3a7d
gn -> 539058b4af8b6a5807df81f960764261447a3a7d
gu-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
he -> 539058b4af8b6a5807df81f960764261447a3a7d
hi-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
hr -> 539058b4af8b6a5807df81f960764261447a3a7d
hsb -> 539058b4af8b6a5807df81f960764261447a3a7d
hu -> 539058b4af8b6a5807df81f960764261447a3a7d
hy-AM -> 539058b4af8b6a5807df81f960764261447a3a7d
hye -> 539058b4af8b6a5807df81f960764261447a3a7d
ia -> 539058b4af8b6a5807df81f960764261447a3a7d
id -> 539058b4af8b6a5807df81f960764261447a3a7d
is -> 539058b4af8b6a5807df81f960764261447a3a7d
it -> 539058b4af8b6a5807df81f960764261447a3a7d
ja -> 539058b4af8b6a5807df81f960764261447a3a7d
ja-JP-mac -> 539058b4af8b6a5807df81f960764261447a3a7d
ka -> 539058b4af8b6a5807df81f960764261447a3a7d
kab -> 539058b4af8b6a5807df81f960764261447a3a7d
kk -> 539058b4af8b6a5807df81f960764261447a3a7d
km -> 539058b4af8b6a5807df81f960764261447a3a7d
kn -> 539058b4af8b6a5807df81f960764261447a3a7d
ko -> 539058b4af8b6a5807df81f960764261447a3a7d
lij -> 539058b4af8b6a5807df81f960764261447a3a7d
lo -> 539058b4af8b6a5807df81f960764261447a3a7d
lt -> 539058b4af8b6a5807df81f960764261447a3a7d
ltg -> 539058b4af8b6a5807df81f960764261447a3a7d
lv -> 539058b4af8b6a5807df81f960764261447a3a7d
meh -> 539058b4af8b6a5807df81f960764261447a3a7d
mk -> 539058b4af8b6a5807df81f960764261447a3a7d
ml -> 539058b4af8b6a5807df81f960764261447a3a7d
mr -> 539058b4af8b6a5807df81f960764261447a3a7d
ms -> 539058b4af8b6a5807df81f960764261447a3a7d
my -> 539058b4af8b6a5807df81f960764261447a3a7d
nb-NO -> 539058b4af8b6a5807df81f960764261447a3a7d
ne-NP -> 539058b4af8b6a5807df81f960764261447a3a7d
nl -> 539058b4af8b6a5807df81f960764261447a3a7d
nn-NO -> 539058b4af8b6a5807df81f960764261447a3a7d
oc -> 539058b4af8b6a5807df81f960764261447a3a7d
pa-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
pl -> 539058b4af8b6a5807df81f960764261447a3a7d
pt-BR -> 539058b4af8b6a5807df81f960764261447a3a7d
pt-PT -> 539058b4af8b6a5807df81f960764261447a3a7d
rm -> 539058b4af8b6a5807df81f960764261447a3a7d
ro -> 539058b4af8b6a5807df81f960764261447a3a7d
ru -> 539058b4af8b6a5807df81f960764261447a3a7d
sat -> 539058b4af8b6a5807df81f960764261447a3a7d
sc -> 539058b4af8b6a5807df81f960764261447a3a7d
scn -> 539058b4af8b6a5807df81f960764261447a3a7d
sco -> 539058b4af8b6a5807df81f960764261447a3a7d
si -> 539058b4af8b6a5807df81f960764261447a3a7d
sk -> 539058b4af8b6a5807df81f960764261447a3a7d
skr -> 539058b4af8b6a5807df81f960764261447a3a7d
sl -> 539058b4af8b6a5807df81f960764261447a3a7d
son -> 539058b4af8b6a5807df81f960764261447a3a7d
sq -> 539058b4af8b6a5807df81f960764261447a3a7d
sr -> 539058b4af8b6a5807df81f960764261447a3a7d
sv-SE -> 539058b4af8b6a5807df81f960764261447a3a7d
szl -> 539058b4af8b6a5807df81f960764261447a3a7d
ta -> 539058b4af8b6a5807df81f960764261447a3a7d
te -> 539058b4af8b6a5807df81f960764261447a3a7d
tg -> 539058b4af8b6a5807df81f960764261447a3a7d
th -> 539058b4af8b6a5807df81f960764261447a3a7d
tl -> 539058b4af8b6a5807df81f960764261447a3a7d
tr -> 539058b4af8b6a5807df81f960764261447a3a7d
trs -> 539058b4af8b6a5807df81f960764261447a3a7d
uk -> 539058b4af8b6a5807df81f960764261447a3a7d
ur -> 539058b4af8b6a5807df81f960764261447a3a7d
uz -> 539058b4af8b6a5807df81f960764261447a3a7d
vi -> 539058b4af8b6a5807df81f960764261447a3a7d
wo -> 539058b4af8b6a5807df81f960764261447a3a7d
xh -> 539058b4af8b6a5807df81f960764261447a3a7d
zh-CN -> 539058b4af8b6a5807df81f960764261447a3a7d
zh-TW -> 539058b4af8b6a5807df81f960764261447a3a7d
- - - - -
232ce7ae by Release Engineering Landoscript at 2025-05-23T06:55:48+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 539058b4af8b6a5807df81f960764261447a3a7d
an -> 539058b4af8b6a5807df81f960764261447a3a7d
ar -> 539058b4af8b6a5807df81f960764261447a3a7d
ast -> 539058b4af8b6a5807df81f960764261447a3a7d
az -> 539058b4af8b6a5807df81f960764261447a3a7d
be -> 539058b4af8b6a5807df81f960764261447a3a7d
bg -> 539058b4af8b6a5807df81f960764261447a3a7d
bn -> 539058b4af8b6a5807df81f960764261447a3a7d
br -> 539058b4af8b6a5807df81f960764261447a3a7d
bs -> 539058b4af8b6a5807df81f960764261447a3a7d
ca -> 539058b4af8b6a5807df81f960764261447a3a7d
cak -> 539058b4af8b6a5807df81f960764261447a3a7d
cs -> 539058b4af8b6a5807df81f960764261447a3a7d
cy -> 539058b4af8b6a5807df81f960764261447a3a7d
da -> 539058b4af8b6a5807df81f960764261447a3a7d
de -> 539058b4af8b6a5807df81f960764261447a3a7d
dsb -> 539058b4af8b6a5807df81f960764261447a3a7d
el -> 539058b4af8b6a5807df81f960764261447a3a7d
en-CA -> 539058b4af8b6a5807df81f960764261447a3a7d
en-GB -> 539058b4af8b6a5807df81f960764261447a3a7d
eo -> 539058b4af8b6a5807df81f960764261447a3a7d
es-AR -> 539058b4af8b6a5807df81f960764261447a3a7d
es-CL -> 539058b4af8b6a5807df81f960764261447a3a7d
es-ES -> 539058b4af8b6a5807df81f960764261447a3a7d
es-MX -> 539058b4af8b6a5807df81f960764261447a3a7d
et -> 539058b4af8b6a5807df81f960764261447a3a7d
eu -> 539058b4af8b6a5807df81f960764261447a3a7d
fa -> 539058b4af8b6a5807df81f960764261447a3a7d
ff -> 539058b4af8b6a5807df81f960764261447a3a7d
fi -> 539058b4af8b6a5807df81f960764261447a3a7d
fr -> 539058b4af8b6a5807df81f960764261447a3a7d
fy-NL -> 539058b4af8b6a5807df81f960764261447a3a7d
ga-IE -> 539058b4af8b6a5807df81f960764261447a3a7d
gd -> 539058b4af8b6a5807df81f960764261447a3a7d
gl -> 539058b4af8b6a5807df81f960764261447a3a7d
gn -> 539058b4af8b6a5807df81f960764261447a3a7d
gu-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
he -> 539058b4af8b6a5807df81f960764261447a3a7d
hi-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
hr -> 539058b4af8b6a5807df81f960764261447a3a7d
hsb -> 539058b4af8b6a5807df81f960764261447a3a7d
hu -> 539058b4af8b6a5807df81f960764261447a3a7d
hy-AM -> 539058b4af8b6a5807df81f960764261447a3a7d
ia -> 539058b4af8b6a5807df81f960764261447a3a7d
id -> 539058b4af8b6a5807df81f960764261447a3a7d
is -> 539058b4af8b6a5807df81f960764261447a3a7d
it -> 539058b4af8b6a5807df81f960764261447a3a7d
ja -> 539058b4af8b6a5807df81f960764261447a3a7d
ka -> 539058b4af8b6a5807df81f960764261447a3a7d
kab -> 539058b4af8b6a5807df81f960764261447a3a7d
kk -> 539058b4af8b6a5807df81f960764261447a3a7d
km -> 539058b4af8b6a5807df81f960764261447a3a7d
kn -> 539058b4af8b6a5807df81f960764261447a3a7d
ko -> 539058b4af8b6a5807df81f960764261447a3a7d
lij -> 539058b4af8b6a5807df81f960764261447a3a7d
lo -> 539058b4af8b6a5807df81f960764261447a3a7d
lt -> 539058b4af8b6a5807df81f960764261447a3a7d
ltg -> 539058b4af8b6a5807df81f960764261447a3a7d
lv -> 539058b4af8b6a5807df81f960764261447a3a7d
meh -> 539058b4af8b6a5807df81f960764261447a3a7d
mix -> 539058b4af8b6a5807df81f960764261447a3a7d
ml -> 539058b4af8b6a5807df81f960764261447a3a7d
mr -> 539058b4af8b6a5807df81f960764261447a3a7d
ms -> 539058b4af8b6a5807df81f960764261447a3a7d
my -> 539058b4af8b6a5807df81f960764261447a3a7d
nb-NO -> 539058b4af8b6a5807df81f960764261447a3a7d
ne-NP -> 539058b4af8b6a5807df81f960764261447a3a7d
nl -> 539058b4af8b6a5807df81f960764261447a3a7d
nn-NO -> 539058b4af8b6a5807df81f960764261447a3a7d
oc -> 539058b4af8b6a5807df81f960764261447a3a7d
pa-IN -> 539058b4af8b6a5807df81f960764261447a3a7d
pl -> 539058b4af8b6a5807df81f960764261447a3a7d
pt-BR -> 539058b4af8b6a5807df81f960764261447a3a7d
pt-PT -> 539058b4af8b6a5807df81f960764261447a3a7d
rm -> 539058b4af8b6a5807df81f960764261447a3a7d
ro -> 539058b4af8b6a5807df81f960764261447a3a7d
ru -> 539058b4af8b6a5807df81f960764261447a3a7d
sk -> 539058b4af8b6a5807df81f960764261447a3a7d
sl -> 539058b4af8b6a5807df81f960764261447a3a7d
son -> 539058b4af8b6a5807df81f960764261447a3a7d
sq -> 539058b4af8b6a5807df81f960764261447a3a7d
sr -> 539058b4af8b6a5807df81f960764261447a3a7d
sv-SE -> 539058b4af8b6a5807df81f960764261447a3a7d
ta -> 539058b4af8b6a5807df81f960764261447a3a7d
te -> 539058b4af8b6a5807df81f960764261447a3a7d
th -> 539058b4af8b6a5807df81f960764261447a3a7d
tl -> 539058b4af8b6a5807df81f960764261447a3a7d
tr -> 539058b4af8b6a5807df81f960764261447a3a7d
trs -> 539058b4af8b6a5807df81f960764261447a3a7d
uk -> 539058b4af8b6a5807df81f960764261447a3a7d
ur -> 539058b4af8b6a5807df81f960764261447a3a7d
uz -> 539058b4af8b6a5807df81f960764261447a3a7d
vi -> 539058b4af8b6a5807df81f960764261447a3a7d
wo -> 539058b4af8b6a5807df81f960764261447a3a7d
xh -> 539058b4af8b6a5807df81f960764261447a3a7d
zam -> 539058b4af8b6a5807df81f960764261447a3a7d
zh-CN -> 539058b4af8b6a5807df81f960764261447a3a7d
zh-TW -> 539058b4af8b6a5807df81f960764261447a3a7d
- - - - -
b68c5b38 by Julian Descottes at 2025-05-23T07:16:45+00:00
Bug 1961617 - [devtools] Filter out the unblock request in test browser_net_duration-sort.js r=devtools-reviewers,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D250797
- - - - -
ba8e6a17 by Debadree Chatterjee at 2025-05-23T07:43:48+00:00
Bug 1967910: Part 1 - Make using statements in bare switch cases SyntaxError. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D250597
- - - - -
093f8cac by Debadree Chatterjee at 2025-05-23T07:43:52+00:00
Bug 1967910: Part 2 - Remove code for handling switch cases with using statements. r=arai
Differential Revision: https://phabricator.services.mozilla.com/D250598
- - - - -
a9f1a557 by Tarek Ziadé at 2025-05-23T07:50:27+00:00
Bug 1967224 - promote preview strings for local model managment r=rpl,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D250021
- - - - -
0a1b1162 by Gabriele Svelto at 2025-05-23T08:00:36+00:00
Bug 1966505 - Refactor how overlapped operations are handled across connectors and listeners r=afranchuk,yjuglaret
Differential Revision: https://phabricator.services.mozilla.com/D250247
- - - - -
9606c22d by Gabriele Svelto at 2025-05-23T08:00:40+00:00
Bug 1966505 - Clippy fixes r=afranchuk,yjuglaret
Differential Revision: https://phabricator.services.mozilla.com/D250248
- - - - -
d38f51bc by Julian Descottes at 2025-05-23T08:29:01+00:00
Bug 1966826 - [devtools] Pass waitForLoad=false to navigateTo from DebugTargetInfo r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250788
- - - - -
843c6e8c by Julian Seward at 2025-05-23T08:49:01+00:00
Bug 1967644 - wasm: Reduce inlining aggressiveness for very large functions. r=rhunt.
When inlining into a very large function, reduce inlining agressiveness by one
step (on the 1 .. 9 scale) if the function's bytecode size is over 400KB; by 2
steps if over 800KB, and by 3 steps if over 1.2MB. This somewhat mitigates a
problem where inlining takes an already huge function and makes it even
bigger, leading to long delays in Ion.
The thresholds are so high (more than 400KB bytecode) that almost all functions
will be unaffected. Above the 400k threshold, we gradually back off on
inlining; it doesn't get disabled completely.
The patch falls logically into two parts: the heuristic itself ..
* InliningHeuristics::isSmallEnoughToInline: the heuristic itself
* struct FuncCompileInput: new convenience function `bytecodeSize`
.. and updates to the stats-counting machinery.
* struct InliningStats: new field `largeFunctionBackoff`
* struct CompileStats: new field `numLargeFunctionBackoffs`
* auditInlineableCallees (calls isSmallEnoughToInline): note in RootCompiler if
backoff was applied
Differential Revision: https://phabricator.services.mozilla.com/D250402
- - - - -
296833bd by Paul Adenot at 2025-05-23T09:26:14+00:00
Bug 1967777 - Add missing a11y attributes in about:logging. r=julienw,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D250744
- - - - -
d36923f5 by Simon Friedberger at 2025-05-23T10:00:26+00:00
Bug 1967886: Fix disabling of HTTPS-First for xpcshell-test which uses PBM r=amarc
Differential Revision: https://phabricator.services.mozilla.com/D250904
- - - - -
b237f1da by Tom Schuster at 2025-05-23T10:35:37+00:00
Bug 1968179 - Use fallible LoadInfo factory for EarlyHintPreloader. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D250764
- - - - -
c62591e4 by Mark Banner at 2025-05-23T10:36:40+00:00
Bug 1967618 - Add new nsresult error code to TypeScript definitions to avoid errors when building the definitions. r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D250415
- - - - -
c524e8a7 by Mark Banner at 2025-05-23T10:36:44+00:00
Bug 1967618 - General update of TypeScript definitions to the latest code. r=zombie
Differential Revision: https://phabricator.services.mozilla.com/D250416
- - - - -
067bebb7 by Emilio Cobos Álvarez at 2025-05-23T10:38:05+00:00
Bug 1966666 - Remove no longer needed flatpak workaround. r=mak
Newer portals support asking for a protocol.
Differential Revision: https://phabricator.services.mozilla.com/D249574
- - - - -
773021d7 by Hubert Boma Manilla at 2025-05-23T10:40:59+00:00
Bug 1953415 - [devtools] Remove CM5 code for the Exceptions Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250289
- - - - -
39e81291 by Hubert Boma Manilla at 2025-05-23T10:41:03+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Gutter Breakpoints r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250290
- - - - -
6faf4148 by Hubert Boma Manilla at 2025-05-23T10:41:07+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Column Breakpoints r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250291
- - - - -
6f6433aa by Hubert Boma Manilla at 2025-05-23T10:41:11+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Debug Line Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250292
- - - - -
83ce838b by Hubert Boma Manilla at 2025-05-23T10:41:14+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Highlight Lines Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250294
- - - - -
e79d7900 by Hubert Boma Manilla at 2025-05-23T10:41:18+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Highlight Line Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250295
- - - - -
d049362c by Hubert Boma Manilla at 2025-05-23T11:16:32+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Inline Preview Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250296
- - - - -
d9a124bb by Hubert Boma Manilla at 2025-05-23T11:16:36+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Preview Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250297
- - - - -
e74c3ca9 by Hubert Boma Manilla at 2025-05-23T11:16:40+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Search Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250298
- - - - -
8204ae9a by Hubert Boma Manilla at 2025-05-23T11:16:43+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Conditional panel Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250299
- - - - -
60964144 by Hubert Boma Manilla at 2025-05-23T11:16:47+00:00
Bug 1953415 - [devtools] Remove CM5 code related to the Editor Component r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250300
- - - - -
51ac91a3 by Hubert Boma Manilla at 2025-05-23T11:16:51+00:00
Bug 1953415 - [devtools] Remove CM5 support code from debugger mochitests r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250365
- - - - -
ee073369 by Tarek Ziadé at 2025-05-23T11:31:07+00:00
Bug 1963137 - Fixing test failures related to activating LMM r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D250423
- - - - -
573fc373 by Luca Greco at 2025-05-23T11:31:11+00:00
Bug 1961440 - Defer ModelHubAddonWrapper initialization to first AddonManager.getAddonsByTypes including mlmodel type. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D250453
- - - - -
43ed769b by Emilio Cobos Álvarez at 2025-05-23T11:33:00+00:00
Bug 1968213 - Make context properties and user-focus apply to reveal button too. r=desktop-theme-reviewers,Itiel
context-properties used to apply and was removed in bug 1936648
accidentally.
user-focus should apply to both, as they share the same click behavior.
Differential Revision: https://phabricator.services.mozilla.com/D250915
- - - - -
ac6520f5 by AndiAJ at 2025-05-23T11:47:56+00:00
Bug 1967416 - Add page object, nav paths, basic UI tests and other POM related changes r=jajohnson
- Added a new Bookmarks page object, selectors and a basic UI test
- Added a new History page object , selectors and a basic UI test
- Added a new Main menu page object , selectors and a basic UI test
- Added a new Downloads page object , selectors and a basic UI test
- Move some selector from the HomeSelectors to the MainMenuSelectors
- Added a new way to query the compose elements based on their content description (COMPOSE_BY_CONTENT_DESCRIPTION)
- Disabled the composable main menu (we need to refactor the old UI tests to use the composable main menu after the composable navigation toolbar got removed)
- Added new shortcuts page object and selectors
- Added new collections page object and selectors
- Added new custom tabs page object and selectors
- Added new enhanced tracking protection page object and selectors
- Added new find in page page object and selectors
- Renamed and made a changed to the UIObjects queried using UISelector with resourceId
- Added a new notifications page object and selectors
- Added a mozOpenNotificationsTray custom action
- Added a new reader view page object and selectors
- Added a new recently closed tabs page object, selectors and test
- Added a new settings about page object, selectors and test
- Added a new addons manager page object, selectors and test
- Added a new data collection page object, selectors and test
- Added a new way to query the UIObjects using UiSelector based on text, containing text, containing content description
- Added a new settings delete browsing data on quit page object, selectors and test
- Added a new settings delete browsing data page object, selectors and test
- Added a new settings enhanced tracking protection page object, selectors and test
- Added a new settings enhanced tracking protection exceptions page object, selectors and test
- Added a new settings HTTPS only mode page object, selectors and test
- Added a new settings Language page object, selectors and test
- Added a new settings Open links in apps page object, selectors and test
- Added a new settings Private Browsing page object, selectors and test
- Added a new settings Translation page object and selectors
- Added a new settings Turn on sync page object, selectors and test
- Added a new Site security page object and selectors
- Added a new Tab drawer page object and selectors
- Added a new Bookmarks three dot menu page object and selectors
- Added a new Compose main menu page object, selectors and test
All 26 UI tests successfully passed on Firebase ✅
Differential Revision: https://phabricator.services.mozilla.com/D250181
- - - - -
09cd842a by RebecaTudor at 2025-05-23T12:02:29+00:00
Bug 1961801 - Part 1 Remove telemetry for onboarding addons r=android-reviewers,gmalekpour
Differential Revision: https://phabricator.services.mozilla.com/D250097
- - - - -
fb900309 by RebecaTudor at 2025-05-23T12:02:33+00:00
Bug 1961801 - Part 2 Remove PageUiData type for onboarding addons. r=android-reviewers,gmalekpour
Differential Revision: https://phabricator.services.mozilla.com/D250098
- - - - -
21ae3b73 by RebecaTudor at 2025-05-23T12:02:36+00:00
Bug 1961801 - Part 3 Remove UI of onboarding addons. r=android-reviewers,android-l10n-reviewers,delphine,gmalekpour
Removed unused add-ons strings too.
Differential Revision: https://phabricator.services.mozilla.com/D250099
- - - - -
62f0f443 by RebecaTudor at 2025-05-23T12:02:40+00:00
Bug 1961801 - Part 4 Remove onboarding addons state. r=android-reviewers,gmalekpour
Differential Revision: https://phabricator.services.mozilla.com/D250100
- - - - -
bf88d053 by RebecaTudor at 2025-05-23T12:02:44+00:00
Bug 1961801 - Part 5 Remove addons from onboarding.fml.yaml file. r=android-reviewers,gmalekpour
Differential Revision: https://phabricator.services.mozilla.com/D250101
- - - - -
f4cffb4d by Mugurell at 2025-05-23T12:07:47+00:00
Bug 1967587 - Ensure the default modifier for AnimatedProgressBar is a clean Modifier r=android-reviewers,007
To ensure the progress bar will be shown as intended the modified will be decorated
with `fillMaxWidth` when displaying it but this change removes the responsibility
from integrators of thinking about the progress bar width.
Differential Revision: https://phabricator.services.mozilla.com/D250388
- - - - -
652414ff by Gijs Kruitbosch at 2025-05-23T12:21:32+00:00
No bug - fix missing slashes in moz-src category registration documentation. DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250914
- - - - -
0044d316 by Emilio Cobos Álvarez at 2025-05-23T12:23:19+00:00
Bug 1967646 - Make sure to specify reasonable border + background for permission list. r=desktop-theme-reviewers,Itiel
XUL is special and doesn't follow the usual native-appearance-prevention
rules from HTML. That means that if you don't specify a border we'll
now happily paint it on the content box. Also specify a background-color
while at it. Honestly there's not too much the appearance property does
for us here, so we could probably remove it, but this is the lower risk
fix...
Differential Revision: https://phabricator.services.mozilla.com/D250916
- - - - -
d6792187 by Emilio Cobos Álvarez at 2025-05-23T13:20:06+00:00
Bug 1968213 - Fix test_input_password_click_show_password_button.html now that clicking on the reveal button doesn't blur the input.
- - - - -
9fc642ba by serge-sans-paille at 2025-05-23T13:24:43+00:00
Bug 1967896 - Flag nsTLiteralString as MOZ_OWNER r=nika
nsTLiteralString is contractually always associated to global storage,
so it's conceptually a MOZ_OWNER even if it's actually a view.
Differential Revision: https://phabricator.services.mozilla.com/D250724
- - - - -
7ff94e5d by Greg Mierzwinski at 2025-05-23T13:25:10+00:00
Bug 1962749 - Add a section for a list of critical tests to our source docs. r=afinder,perftest-reviewers DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250306
- - - - -
599bc5d9 by Luca Greco at 2025-05-23T13:25:22+00:00
Bug 1954557 - Keep system-signed upgrades to builtin add-on version on app version upgrades, reset system-signed set on app version downgrades. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D247069
- - - - -
16a81de9 by Luca Greco at 2025-05-23T13:25:26+00:00
Bug 1954557 - Hide invalid addons in system-addons location selectively. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D247070
- - - - -
559b376a by Emilio Cobos Álvarez at 2025-05-23T13:30:13+00:00
Bug 1968202 - Generalize GlobalStyleSheetCache to support author stylesheets. r=smaug
In bug 1967507 I changed the timing of AnonymousContent stylesheet
loading in a way that it perturbed a css cache test because of
accessiblecaret.css
https://hg.mozilla.org/mozilla-central/rev/a6a294ae1d18
However that made me realize that accessiblecaret.css is loaded
virtually in all processes, and it should be using the same mechanism we
use for UA sheets, rather than using all the CSS loader machinery
in-content. Same goes for details.css.
Expand GlobalStyleSheetCache to allow UA and Author sheets, and allow
ShadowRoot to get built-in stylesheets appended.
This allows accessiblecaret.css and details.css not to be marked as
content-accessible.
We could do the same at the document level for plaintext.css and co, but
that seems a bit less common, so maybe fine.
Differential Revision: https://phabricator.services.mozilla.com/D250909
- - - - -
31dd724f by Paul Adenot at 2025-05-23T13:30:41+00:00
Bug 1968219 - Import initial jujutsu docs in-tree. r=afranchuk
Differential Revision: https://phabricator.services.mozilla.com/D250920
- - - - -
da2dfa75 by Alex Franchuk at 2025-05-23T13:38:04+00:00
Bug 1962267 - Update the memtest crate to v0.4.0 r=gsvelto,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D248498
- - - - -
e6c85d7e by Julian Descottes at 2025-05-23T13:59:24+00:00
Bug 1945184 - [bidi] Implement browsingContext.navigationCommitted event r=webdriver-reviewers,Sasha
Differential Revision: https://phabricator.services.mozilla.com/D249644
- - - - -
12c18c67 by pstanciu at 2025-05-23T14:16:13+00:00
Revert "Bug 1967896 - Flag nsTLiteralString as MOZ_OWNER r=nika" for causing Build Bustages on nsHttpChannelAuthProvider.cpp
This reverts commit 79775f1eae826606b0f5ab237210b767b5868237.
- - - - -
d166ac94 by Ben Dean-Kawamura at 2025-05-23T14:21:55+00:00
Bug 1955298 - uniffi-bindgen-gecko-js: start using the IR pipeline, r=markh,frontend-codestyle-reviewers
Updated the uniffi-bindgen-gecko-js code to use two things I've been
experimenting with:
* Use the IR pipeline code to generate the structs used to render the
templates.
* A new test fixture for bindings generators. This one targets bindings
generators specifically, it doesn't try test the scaffolding code and
it's not based on real-world example code. I originally thought it
would be a single crate, but I ended up needed 2 in order to test
external types. (https://bugzilla.mozilla.org/show_bug.cgi?id=1948961)
Differential Revision: https://phabricator.services.mozilla.com/D242385
- - - - -
e53d698e by Ben Dean-Kawamura at 2025-05-23T14:21:59+00:00
Bug 1965313 - Reimplement enum discriminents, r=bgruber
Differential Revision: https://phabricator.services.mozilla.com/D248491
- - - - -
9eaabcac by André Bargull at 2025-05-23T14:22:43+00:00
Bug 1968215: Disable islamic-umalqura test on release-or-beta. r=spidermonkey-reviewers,jandem
Differential Revision: https://phabricator.services.mozilla.com/D250919
- - - - -
55651853 by Nazım Can Altınova at 2025-05-23T14:26:42+00:00
Bug 1965555 - Update the test expectations for an LCP test r=sefeng
The test is failing on asan and ccov with this message:
Same origin animated image is observable and has a first frame. -
assert_less_than: renderTime should be smaller than the delay applied to the
second frame expected a number less than 2000 but got 2006.34
Differential Revision: https://phabricator.services.mozilla.com/D250759
- - - - -
c630d11e by Dão Gottwald at 2025-05-23T14:30:21+00:00
Bug 1968040 - Set color-scheme on root based on lwtheme-brighttext. r=emilio,desktop-theme-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250791
- - - - -
57c27bb0 by Nicolas Chevobbe at 2025-05-23T14:37:42+00:00
Bug 1967673 - [devtools] Don't omit valid safe getter undefined values in _findSafeGetterValues. r=devtools-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D250613
- - - - -
d9da5f88 by Alexandru Marc at 2025-05-23T14:51:27+00:00
Revert "Bug 1967673 - [devtools] Don't omit valid safe getter undefined values in _findSafeGetterValues. r=devtools-reviewers,jdescottes" by dev request
This reverts commit 4fe1cbf23e29406837ed968cbcd4f0bdf8a69aa2.
- - - - -
e6e6fb58 by agoloman at 2025-05-23T15:52:35+00:00
Revert (Bug 1965313, Bug 1955298) - for causing xpc and bc failures.
This reverts commit d810bb578e8abd7500d027b3d849c18995e85a51.
Revert "Bug 1955298 - uniffi-bindgen-gecko-js: start using the IR pipeline, r=markh,frontend-codestyle-reviewers"
This reverts commit fe3e643fee35a55c7abea00d7bec998b317faca1.
- - - - -
b693e7cd by Julian Descottes at 2025-05-23T15:53:38+00:00
Bug 1968242 - [bidi] Force network.http.rcwn.enabled to true when using WebDriver BiDi r=webdriver-reviewers,whimboo
Disabling RCWN currently causes issues with the WebDriver BiDi network.addIntercept feature.
When suspending a channel in the responseStarted phase, subsequent requests to the same URL will also be blocked.
This needs to be fixed at the platform level, but for now we will force the preference to true in WebDriver BiDi while it is still supported.
Differential Revision: https://phabricator.services.mozilla.com/D251009
- - - - -
6836b7bb by Hubert Boma Manilla at 2025-05-23T15:53:50+00:00
Bug 1953415 - [devtools] Remove CM5 support code from DAMP tests r=perftest-reviewers,devtools-reviewers,ochameau,afinder
Differential Revision: https://phabricator.services.mozilla.com/D250366
- - - - -
63543399 by Hubert Boma Manilla at 2025-05-23T15:53:53+00:00
Bug 1943909 - [devtools] Remove codemirror next preference r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250367
- - - - -
bd7797ce by Christina Lin at 2025-05-23T15:54:34+00:00
Bug 1946600 - Add browserSetting verticalTabs. r=zombie,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D247436
- - - - -
2d4040d0 by Justin Link at 2025-05-23T16:03:13+00:00
Bug 1925191: Moved the adding of profiler markers from performance.measure() calls into its own function r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D233308
- - - - -
d4f4040e by Justin Link at 2025-05-23T16:03:16+00:00
Bug 1925191: Don't create profiler markers for performance.measure() calls with timestamps that are too far in the future r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D233309
- - - - -
6cd82ebd by John Oberhauser at 2025-05-23T16:35:00+00:00
Bug 1967821 - Adding temporary logs for distribution ID checker r=android-reviewers,rebecatudor273
Differential Revision: https://phabricator.services.mozilla.com/D250498
- - - - -
4391c8d2 by Kagami Sascha Rosylight at 2025-05-23T16:37:28+00:00
Bug 1967520 - Add WindowMediatorFilter r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D250305
- - - - -
40de305f by iulian moraru at 2025-05-23T18:28:51+00:00
Revert "Bug 1946600 - Add browserSetting verticalTabs. r=zombie,webidl,smaug" for causing multiple issues.
This reverts commit 0f9c499eaf5b86445d7f8ba6800462a7987a0e49.
- - - - -
a02b57a9 by iulian moraru at 2025-05-23T18:28:55+00:00
Revert "Bug 1945184 - [bidi] Implement browsingContext.navigationCommitted event r=webdriver-reviewers,Sasha" for causing wpt failures on prefetch-transfer-size-executor.html.
This reverts commit 21c296b19f5b638f56505606ed2633efd369c65a.
- - - - -
8393b13b by Release Engineering Landoscript at 2025-05-23T18:53:10+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 82dced596092b5a644489201fe136542326c7f9a
af -> 82dced596092b5a644489201fe136542326c7f9a
an -> 82dced596092b5a644489201fe136542326c7f9a
ar -> 82dced596092b5a644489201fe136542326c7f9a
ast -> 82dced596092b5a644489201fe136542326c7f9a
az -> 82dced596092b5a644489201fe136542326c7f9a
be -> 82dced596092b5a644489201fe136542326c7f9a
bg -> 82dced596092b5a644489201fe136542326c7f9a
bn -> 82dced596092b5a644489201fe136542326c7f9a
bo -> 82dced596092b5a644489201fe136542326c7f9a
br -> 82dced596092b5a644489201fe136542326c7f9a
brx -> 82dced596092b5a644489201fe136542326c7f9a
bs -> 82dced596092b5a644489201fe136542326c7f9a
ca -> 82dced596092b5a644489201fe136542326c7f9a
ca-valencia -> 82dced596092b5a644489201fe136542326c7f9a
cak -> 82dced596092b5a644489201fe136542326c7f9a
ckb -> 82dced596092b5a644489201fe136542326c7f9a
cs -> 82dced596092b5a644489201fe136542326c7f9a
cy -> 82dced596092b5a644489201fe136542326c7f9a
da -> 82dced596092b5a644489201fe136542326c7f9a
de -> 82dced596092b5a644489201fe136542326c7f9a
dsb -> 82dced596092b5a644489201fe136542326c7f9a
el -> 82dced596092b5a644489201fe136542326c7f9a
en-CA -> 82dced596092b5a644489201fe136542326c7f9a
en-GB -> 82dced596092b5a644489201fe136542326c7f9a
eo -> 82dced596092b5a644489201fe136542326c7f9a
es-AR -> 82dced596092b5a644489201fe136542326c7f9a
es-CL -> 82dced596092b5a644489201fe136542326c7f9a
es-ES -> 82dced596092b5a644489201fe136542326c7f9a
es-MX -> 82dced596092b5a644489201fe136542326c7f9a
et -> 82dced596092b5a644489201fe136542326c7f9a
eu -> 82dced596092b5a644489201fe136542326c7f9a
fa -> 82dced596092b5a644489201fe136542326c7f9a
ff -> 82dced596092b5a644489201fe136542326c7f9a
fi -> 82dced596092b5a644489201fe136542326c7f9a
fr -> 82dced596092b5a644489201fe136542326c7f9a
fur -> 82dced596092b5a644489201fe136542326c7f9a
fy-NL -> 82dced596092b5a644489201fe136542326c7f9a
ga-IE -> 82dced596092b5a644489201fe136542326c7f9a
gd -> 82dced596092b5a644489201fe136542326c7f9a
gl -> 82dced596092b5a644489201fe136542326c7f9a
gn -> 82dced596092b5a644489201fe136542326c7f9a
gu-IN -> 82dced596092b5a644489201fe136542326c7f9a
he -> 82dced596092b5a644489201fe136542326c7f9a
hi-IN -> 82dced596092b5a644489201fe136542326c7f9a
hr -> 82dced596092b5a644489201fe136542326c7f9a
hsb -> 82dced596092b5a644489201fe136542326c7f9a
hu -> 82dced596092b5a644489201fe136542326c7f9a
hy-AM -> 82dced596092b5a644489201fe136542326c7f9a
hye -> 82dced596092b5a644489201fe136542326c7f9a
ia -> 82dced596092b5a644489201fe136542326c7f9a
id -> 82dced596092b5a644489201fe136542326c7f9a
is -> 82dced596092b5a644489201fe136542326c7f9a
it -> 82dced596092b5a644489201fe136542326c7f9a
ja -> 82dced596092b5a644489201fe136542326c7f9a
ja-JP-mac -> 82dced596092b5a644489201fe136542326c7f9a
ka -> 82dced596092b5a644489201fe136542326c7f9a
kab -> 82dced596092b5a644489201fe136542326c7f9a
kk -> 82dced596092b5a644489201fe136542326c7f9a
km -> 82dced596092b5a644489201fe136542326c7f9a
kn -> 82dced596092b5a644489201fe136542326c7f9a
ko -> 82dced596092b5a644489201fe136542326c7f9a
lij -> 82dced596092b5a644489201fe136542326c7f9a
lo -> 82dced596092b5a644489201fe136542326c7f9a
lt -> 82dced596092b5a644489201fe136542326c7f9a
ltg -> 82dced596092b5a644489201fe136542326c7f9a
lv -> 82dced596092b5a644489201fe136542326c7f9a
meh -> 82dced596092b5a644489201fe136542326c7f9a
mk -> 82dced596092b5a644489201fe136542326c7f9a
ml -> 82dced596092b5a644489201fe136542326c7f9a
mr -> 82dced596092b5a644489201fe136542326c7f9a
ms -> 82dced596092b5a644489201fe136542326c7f9a
my -> 82dced596092b5a644489201fe136542326c7f9a
nb-NO -> 82dced596092b5a644489201fe136542326c7f9a
ne-NP -> 82dced596092b5a644489201fe136542326c7f9a
nl -> 82dced596092b5a644489201fe136542326c7f9a
nn-NO -> 82dced596092b5a644489201fe136542326c7f9a
oc -> 82dced596092b5a644489201fe136542326c7f9a
pa-IN -> 82dced596092b5a644489201fe136542326c7f9a
pl -> 82dced596092b5a644489201fe136542326c7f9a
pt-BR -> 82dced596092b5a644489201fe136542326c7f9a
pt-PT -> 82dced596092b5a644489201fe136542326c7f9a
rm -> 82dced596092b5a644489201fe136542326c7f9a
ro -> 82dced596092b5a644489201fe136542326c7f9a
ru -> 82dced596092b5a644489201fe136542326c7f9a
sat -> 82dced596092b5a644489201fe136542326c7f9a
sc -> 82dced596092b5a644489201fe136542326c7f9a
scn -> 82dced596092b5a644489201fe136542326c7f9a
sco -> 82dced596092b5a644489201fe136542326c7f9a
si -> 82dced596092b5a644489201fe136542326c7f9a
sk -> 82dced596092b5a644489201fe136542326c7f9a
skr -> 82dced596092b5a644489201fe136542326c7f9a
sl -> 82dced596092b5a644489201fe136542326c7f9a
son -> 82dced596092b5a644489201fe136542326c7f9a
sq -> 82dced596092b5a644489201fe136542326c7f9a
sr -> 82dced596092b5a644489201fe136542326c7f9a
sv-SE -> 82dced596092b5a644489201fe136542326c7f9a
szl -> 82dced596092b5a644489201fe136542326c7f9a
ta -> 82dced596092b5a644489201fe136542326c7f9a
te -> 82dced596092b5a644489201fe136542326c7f9a
tg -> 82dced596092b5a644489201fe136542326c7f9a
th -> 82dced596092b5a644489201fe136542326c7f9a
tl -> 82dced596092b5a644489201fe136542326c7f9a
tr -> 82dced596092b5a644489201fe136542326c7f9a
trs -> 82dced596092b5a644489201fe136542326c7f9a
uk -> 82dced596092b5a644489201fe136542326c7f9a
ur -> 82dced596092b5a644489201fe136542326c7f9a
uz -> 82dced596092b5a644489201fe136542326c7f9a
vi -> 82dced596092b5a644489201fe136542326c7f9a
wo -> 82dced596092b5a644489201fe136542326c7f9a
xh -> 82dced596092b5a644489201fe136542326c7f9a
zh-CN -> 82dced596092b5a644489201fe136542326c7f9a
zh-TW -> 82dced596092b5a644489201fe136542326c7f9a
- - - - -
ed8ebbfe by Release Engineering Landoscript at 2025-05-23T18:53:14+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 82dced596092b5a644489201fe136542326c7f9a
an -> 82dced596092b5a644489201fe136542326c7f9a
ar -> 82dced596092b5a644489201fe136542326c7f9a
ast -> 82dced596092b5a644489201fe136542326c7f9a
az -> 82dced596092b5a644489201fe136542326c7f9a
be -> 82dced596092b5a644489201fe136542326c7f9a
bg -> 82dced596092b5a644489201fe136542326c7f9a
bn -> 82dced596092b5a644489201fe136542326c7f9a
br -> 82dced596092b5a644489201fe136542326c7f9a
bs -> 82dced596092b5a644489201fe136542326c7f9a
ca -> 82dced596092b5a644489201fe136542326c7f9a
cak -> 82dced596092b5a644489201fe136542326c7f9a
cs -> 82dced596092b5a644489201fe136542326c7f9a
cy -> 82dced596092b5a644489201fe136542326c7f9a
da -> 82dced596092b5a644489201fe136542326c7f9a
de -> 82dced596092b5a644489201fe136542326c7f9a
dsb -> 82dced596092b5a644489201fe136542326c7f9a
el -> 82dced596092b5a644489201fe136542326c7f9a
en-CA -> 82dced596092b5a644489201fe136542326c7f9a
en-GB -> 82dced596092b5a644489201fe136542326c7f9a
eo -> 82dced596092b5a644489201fe136542326c7f9a
es-AR -> 82dced596092b5a644489201fe136542326c7f9a
es-CL -> 82dced596092b5a644489201fe136542326c7f9a
es-ES -> 82dced596092b5a644489201fe136542326c7f9a
es-MX -> 82dced596092b5a644489201fe136542326c7f9a
et -> 82dced596092b5a644489201fe136542326c7f9a
eu -> 82dced596092b5a644489201fe136542326c7f9a
fa -> 82dced596092b5a644489201fe136542326c7f9a
ff -> 82dced596092b5a644489201fe136542326c7f9a
fi -> 82dced596092b5a644489201fe136542326c7f9a
fr -> 82dced596092b5a644489201fe136542326c7f9a
fy-NL -> 82dced596092b5a644489201fe136542326c7f9a
ga-IE -> 82dced596092b5a644489201fe136542326c7f9a
gd -> 82dced596092b5a644489201fe136542326c7f9a
gl -> 82dced596092b5a644489201fe136542326c7f9a
gn -> 82dced596092b5a644489201fe136542326c7f9a
gu-IN -> 82dced596092b5a644489201fe136542326c7f9a
he -> 82dced596092b5a644489201fe136542326c7f9a
hi-IN -> 82dced596092b5a644489201fe136542326c7f9a
hr -> 82dced596092b5a644489201fe136542326c7f9a
hsb -> 82dced596092b5a644489201fe136542326c7f9a
hu -> 82dced596092b5a644489201fe136542326c7f9a
hy-AM -> 82dced596092b5a644489201fe136542326c7f9a
ia -> 82dced596092b5a644489201fe136542326c7f9a
id -> 82dced596092b5a644489201fe136542326c7f9a
is -> 82dced596092b5a644489201fe136542326c7f9a
it -> 82dced596092b5a644489201fe136542326c7f9a
ja -> 82dced596092b5a644489201fe136542326c7f9a
ka -> 82dced596092b5a644489201fe136542326c7f9a
kab -> 82dced596092b5a644489201fe136542326c7f9a
kk -> 82dced596092b5a644489201fe136542326c7f9a
km -> 82dced596092b5a644489201fe136542326c7f9a
kn -> 82dced596092b5a644489201fe136542326c7f9a
ko -> 82dced596092b5a644489201fe136542326c7f9a
lij -> 82dced596092b5a644489201fe136542326c7f9a
lo -> 82dced596092b5a644489201fe136542326c7f9a
lt -> 82dced596092b5a644489201fe136542326c7f9a
ltg -> 82dced596092b5a644489201fe136542326c7f9a
lv -> 82dced596092b5a644489201fe136542326c7f9a
meh -> 82dced596092b5a644489201fe136542326c7f9a
mix -> 82dced596092b5a644489201fe136542326c7f9a
ml -> 82dced596092b5a644489201fe136542326c7f9a
mr -> 82dced596092b5a644489201fe136542326c7f9a
ms -> 82dced596092b5a644489201fe136542326c7f9a
my -> 82dced596092b5a644489201fe136542326c7f9a
nb-NO -> 82dced596092b5a644489201fe136542326c7f9a
ne-NP -> 82dced596092b5a644489201fe136542326c7f9a
nl -> 82dced596092b5a644489201fe136542326c7f9a
nn-NO -> 82dced596092b5a644489201fe136542326c7f9a
oc -> 82dced596092b5a644489201fe136542326c7f9a
pa-IN -> 82dced596092b5a644489201fe136542326c7f9a
pl -> 82dced596092b5a644489201fe136542326c7f9a
pt-BR -> 82dced596092b5a644489201fe136542326c7f9a
pt-PT -> 82dced596092b5a644489201fe136542326c7f9a
rm -> 82dced596092b5a644489201fe136542326c7f9a
ro -> 82dced596092b5a644489201fe136542326c7f9a
ru -> 82dced596092b5a644489201fe136542326c7f9a
sk -> 82dced596092b5a644489201fe136542326c7f9a
sl -> 82dced596092b5a644489201fe136542326c7f9a
son -> 82dced596092b5a644489201fe136542326c7f9a
sq -> 82dced596092b5a644489201fe136542326c7f9a
sr -> 82dced596092b5a644489201fe136542326c7f9a
sv-SE -> 82dced596092b5a644489201fe136542326c7f9a
ta -> 82dced596092b5a644489201fe136542326c7f9a
te -> 82dced596092b5a644489201fe136542326c7f9a
th -> 82dced596092b5a644489201fe136542326c7f9a
tl -> 82dced596092b5a644489201fe136542326c7f9a
tr -> 82dced596092b5a644489201fe136542326c7f9a
trs -> 82dced596092b5a644489201fe136542326c7f9a
uk -> 82dced596092b5a644489201fe136542326c7f9a
ur -> 82dced596092b5a644489201fe136542326c7f9a
uz -> 82dced596092b5a644489201fe136542326c7f9a
vi -> 82dced596092b5a644489201fe136542326c7f9a
wo -> 82dced596092b5a644489201fe136542326c7f9a
xh -> 82dced596092b5a644489201fe136542326c7f9a
zam -> 82dced596092b5a644489201fe136542326c7f9a
zh-CN -> 82dced596092b5a644489201fe136542326c7f9a
zh-TW -> 82dced596092b5a644489201fe136542326c7f9a
- - - - -
ac057683 by Eitan Isaacson at 2025-05-23T19:09:16+00:00
Bug 1967813 - Check menu's frame IsOpen to determine if menu is active. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D250492
- - - - -
1f892086 by Eitan Isaacson at 2025-05-23T19:09:19+00:00
Bug 1899960 - P1: Don't cache implicit states. r=Jamie
This also removes some duplication and unifies the logic we use for
states that are calculated from other ones.
Differential Revision: https://phabricator.services.mozilla.com/D250356
- - - - -
0ef796ef by Eitan Isaacson at 2025-05-23T19:09:23+00:00
Bug 1899960 - P2: Imply an unavailable state if focusable is in unavailable subtree. r=Jamie
I decided not to use aria-disabled directly because we currently don't
cache it in the parent, and I don't think the benefit would be great
enough.
Differential Revision: https://phabricator.services.mozilla.com/D250357
- - - - -
d2b2cf6d by Jan-Erik Rediger at 2025-05-23T19:09:50+00:00
Bug 1968193 - Update to Glean v64.3.1 r=chutten,supply-chain-reviewers,mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D250900
- - - - -
f87347f5 by Updatebot at 2025-05-23T19:09:54+00:00
Bug 1968265 - Update android nightly application-services version bump to acb87bfc59ced0a6fcb23c8d231bd5f690fc76ed r=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D251016
- - - - -
d6d802b0 by Drew Willcoxon at 2025-05-23T19:11:26+00:00
Bug 1968154 - Send quick-suggest ping over ohttp and add client's country to data. r=nanj,mconley,urlbar-reviewers,daisuke
`country` is also recorded in the `newtab-content` ping [1], and I based this on
that.
[1] https://searchfox.org/mozilla-central/rev/e66fea62620cd4d77242764f9b09c91ae…
Differential Revision: https://phabricator.services.mozilla.com/D250888
- - - - -
2417e170 by Hiroshige Hayashizaki at 2025-05-23T19:11:38+00:00
Bug 1967289 [wpt PR 52641] - [SW+Prefetch] Add tests for Navigation Preload,
Automatic update from web-platform-tests
[SW+Prefetch] Add tests for Navigation Preload
Chromium's current behavior (when the feature is enabled under
`virtual/prefetch-sw`): `preloadResponse` is never resolved nor
rejected, which will be fixed by
https://chromium-review.googlesource.com/c/chromium/src/+/6557209.
Bug: 396460807, 413168042
Change-Id: I9b20dec9cf17ee009e9f7ce9763581f40e3815b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6349750
Reviewed-by: Hiroki Nakagawa <nhiroki(a)chromium.org>
Reviewed-by: Shunya Shishido <sisidovski(a)chromium.org>
Commit-Queue: Hiroshige Hayashizaki <hiroshige(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462612}
--
wpt-commits: e306c3183705368d31c4775449c9c8ba36e72c7d
wpt-pr: 52641
Differential Revision: https://phabricator.services.mozilla.com/D250930
- - - - -
567a7e7a by moz-wptsync-bot at 2025-05-23T19:11:42+00:00
Bug 1967289 [wpt PR 52641] - Update wpt metadata,
wpt-pr: 52641
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250931
- - - - -
97cf14f6 by Simon Pieters at 2025-05-23T19:11:45+00:00
Bug 1691006 [wpt PR 27501] - HTML: Escape "<" and ">" in attribute values when serializing,
Automatic update from web-platform-tests
HTML: Escape "<" and ">" in attribute values when serializing
See https://github.com/whatwg/html/pull/6362.
--
wpt-commits: 3fad71d22b6681a3430ff498add3ea8c31660401
wpt-pr: 27501
Differential Revision: https://phabricator.services.mozilla.com/D250932
- - - - -
81c39104 by moz-wptsync-bot at 2025-05-23T19:11:49+00:00
Bug 1691006 [wpt PR 27501] - Update wpt metadata,
wpt-pr: 27501
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250933
- - - - -
b02f6d21 by Hiroshige Hayashizaki at 2025-05-23T19:11:53+00:00
Bug 1967402 [wpt PR 52663] - [SW+Prefetch] Add tests for race-network-and-fetch-handler,
Automatic update from web-platform-tests
[SW+Prefetch] Add tests for race-network-and-fetch-handler
Bug: 413168042, 396460807
Change-Id: I5333af8a67d3ae0946f4e78beb227cf0936354e7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6557208
Reviewed-by: Hiroki Nakagawa <nhiroki(a)chromium.org>
Reviewed-by: Shunya Shishido <sisidovski(a)chromium.org>
Commit-Queue: Hiroshige Hayashizaki <hiroshige(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462613}
--
wpt-commits: 881b8a89f61c25082b3d42501a90d75e9b69654a
wpt-pr: 52663
Differential Revision: https://phabricator.services.mozilla.com/D250934
- - - - -
8c796122 by moz-wptsync-bot at 2025-05-23T19:11:56+00:00
Bug 1967402 [wpt PR 52663] - Update wpt metadata,
wpt-pr: 52663
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250935
- - - - -
458f464b by Daniil Sakhapov at 2025-05-23T19:12:00+00:00
Bug 1967286 [wpt PR 52639] - Compute AltCounterContentData value and add text to a11y,
Automatic update from web-platform-tests
Compute AltCounterContentData value and add text to a11y
Bug: 417488055
Change-Id: I0f0cbadabc5278733b3cacfcc7da44f0b0498ca3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6547077
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Reviewed-by: Aaron Leventhal <aleventhal(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462648}
--
wpt-commits: 607e44dd8a733565cbc36dc24158a1a5181c0db7
wpt-pr: 52639
Differential Revision: https://phabricator.services.mozilla.com/D250936
- - - - -
113e9f8f by moz-wptsync-bot at 2025-05-23T19:12:04+00:00
Bug 1967286 [wpt PR 52639] - Update wpt metadata,
wpt-pr: 52639
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250937
- - - - -
5b6bb820 by Steinar H. Gunderson at 2025-05-23T19:12:07+00:00
Bug 1967428 [wpt PR 52665] - Revert WPT changes to tiled-gradients.html.,
Automatic update from web-platform-tests
Revert WPT changes to tiled-gradients.html.
It is not reasonable to demand that every pixel in a hard line comes
at exactly the same spot when repeated, which the fuzz changes to this
WPT test now does (breaking it in Chromium on every platform).
It also changed indentation for no good reason (breaking the blame
history) and removed the trailing newline.
Thus, revert the change.
Fixed: 418466380
Change-Id: I392ec5e36eea8719c3974691f672898c5922d45c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6565623
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Steinar H Gunderson <sesse(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462684}
--
wpt-commits: e7cedb6446b410a269e158e04ed923ac409d1ef4
wpt-pr: 52665
Differential Revision: https://phabricator.services.mozilla.com/D250938
- - - - -
08ec562d by Anne van Kesteren at 2025-05-23T19:12:11+00:00
Bug 1966108 [wpt PR 52494] - Make more COOP tests robust against partitioned BroadcastChannel,
Automatic update from web-platform-tests
Make more COOP tests robust against partitioned BroadcastChannel
When removing the BroadcastChannelOriginPartitioningEnabled preference from WebKit these three tests showed up as problematic.
So instead of channel, use the responseToken and iframeToken pattern established by other COOP tests.
--
wpt-commits: 6d3dd887705684414fccd5dd0e27c27c5847e91f
wpt-pr: 52494
Differential Revision: https://phabricator.services.mozilla.com/D250939
- - - - -
e11af4e2 by Daniil Sakhapov at 2025-05-23T19:12:15+00:00
Bug 1967287 [wpt PR 52640] - Counter values in alt text invalidation,
Automatic update from web-platform-tests
Counter values in alt text invalidation
Bug: 417488055
Change-Id: I0dd755a37b1780dd4473be545d217f0272fc3eae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6555772
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462712}
--
wpt-commits: df1e48b497cc5dd19ba825ff273c5462b7962c87
wpt-pr: 52640
Differential Revision: https://phabricator.services.mozilla.com/D250940
- - - - -
62b3c8af by moz-wptsync-bot at 2025-05-23T19:12:18+00:00
Bug 1967287 [wpt PR 52640] - Update wpt metadata,
wpt-pr: 52640
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250941
- - - - -
f9157b5e by Javier Contreras Tenorio (from Dev Box) at 2025-05-23T19:12:22+00:00
Bug 1967523 [wpt PR 52669] - Reland "[gap-decorations] Rule color is transparent fix for repeater values",
Automatic update from web-platform-tests
Reland "[gap-decorations] Rule color is transparent fix for repeater values"
This is a reland of commit 0273b508c87276e2b39f56af3385ba02c36ac5ac
I missed adding CORE_EXPORT to the function declaration, which caused
build errors, although they didn't show up in the CQ.
Original change's description:
> [gap-decorations] Rule color is transparent fix for repeater values
>
> This CL fixes an issue where we will crash when recomputing
> the column-rule-color style when it is set to a repeater value.
>
> In order to fix this, we consider the rule transparent on the case
> of repeater values only if every individual value is transparent.
>
> Bug: 357648037
> Change-Id: I7072e7e4035af7ddad3acd26a01406d50219d410
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536229
> Reviewed-by: Alison Maher <almaher(a)microsoft.com>
> Reviewed-by: Sam Davis Omekara <samomekarajr(a)microsoft.com>
> Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#1462485}
Bug: 357648037
Change-Id: I990c2074fb6db5580803f3ba65134b7d2200ce5f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6568478
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1462840}
--
wpt-commits: 40d2ef9f4dbd2a5b8b2bbb464ebe6e5eeaa68920
wpt-pr: 52669
Differential Revision: https://phabricator.services.mozilla.com/D250942
- - - - -
aa74a456 by moz-wptsync-bot at 2025-05-23T19:12:26+00:00
Bug 1967523 [wpt PR 52669] - Update wpt metadata,
wpt-pr: 52669
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250943
- - - - -
d8053faa by Blink WPT Bot at 2025-05-23T19:12:29+00:00
Bug 1967368 [wpt PR 52661] - Split WPT of checking referrerpolicy in Link headers on subresources,
Automatic update from web-platform-tests
Split WPT of checking referrerpolicy in Link headers on subresources (#52661)
This CL splits an existing WPT that have roughly 200 subtests to avoid
undesireble timeouts. After this change, four variants are generated by
one file so that a variant only have 49 subtests and presumably uses up
to 50s, which is shorter than the 60s `long` timeout.
Change-Id: If6bb2b8961978198991c64fe57cad04078b10273
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6564327
Auto-Submit: Takashi Nakayama <tnak(a)chromium.org>
Reviewed-by: Shunya Shishido <sisidovski(a)chromium.org>
Commit-Queue: Takashi Nakayama <tnak(a)chromium.org>
Reviewed-by: Jonathan Lee <jonathanjlee(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1462549}
Co-authored-by: Takashi Nakayama <tnak(a)chromium.org>
--
wpt-commits: 5ece854045e5ad0c008fcf4971a7eaecf75853f0
wpt-pr: 52661
Differential Revision: https://phabricator.services.mozilla.com/D250944
- - - - -
f8a9347a by moz-wptsync-bot at 2025-05-23T19:12:33+00:00
Bug 1967368 [wpt PR 52661] - Update wpt metadata,
wpt-pr: 52661
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250945
- - - - -
998b911e by Munira Tursunova at 2025-05-23T19:12:37+00:00
Bug 1967440 [wpt PR 52666] - Support parsing of container style queries ranges,
Automatic update from web-platform-tests
Support parsing of container style queries ranges
With range style queries, now we can define any non empty values in
range values. Apart from that, the syntax is mostly like media queries
ranges, [0].
Resolved in [1].
[0] https://www.w3.org/TR/mediaqueries-5/#typedef-mf-range
[1] https://github.com/w3c/csswg-drafts/issues/8376#issuecomment-2751161553
Bug: 408011559
Change-Id: I828805406698d40c28a1d62d1b3de4cc1b493c94
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549116
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Munira Tursunova <moonira(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1462710}
--
wpt-commits: fcdebf414acbe5a29b7453c2036567ec94b47b03
wpt-pr: 52666
Differential Revision: https://phabricator.services.mozilla.com/D250946
- - - - -
3c82bbec by moz-wptsync-bot at 2025-05-23T19:12:40+00:00
Bug 1967440 [wpt PR 52666] - Update wpt metadata,
wpt-pr: 52666
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250947
- - - - -
6acdc604 by Vladimir Levin at 2025-05-23T19:12:44+00:00
Bug 1967017 [wpt PR 52612] - ScopedVT: Implement transitionRoot,
Automatic update from web-platform-tests
ScopedVT: Implement transitionRoot
This patch adds transitionRoot that refers to the element originating
the transition
See
https://github.com/WICG/view-transitions/blob/main/scoped-transitions.md#tr…
for details.
R=skobes(a)chromium.org, kevers(a)chromium.org
Bug: 346973998
Change-Id: I66b7016152cd89fc6eae0a240a9c6be4f0b9c49d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6557848
Reviewed-by: Steve Kobes <skobes(a)chromium.org>
Commit-Queue: Vladimir Levin <vmpstr(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462849}
--
wpt-commits: 4e8d03dcd4ee15a1daffb35abbb8ccbbca809f6a
wpt-pr: 52612
Differential Revision: https://phabricator.services.mozilla.com/D250948
- - - - -
797def1d by Sam Sneddon at 2025-05-23T19:12:48+00:00
Bug 1928245 [wpt PR 48902] - Send wptserve.server.BaseWebTestRequestHandler.log_* to the logger,
Automatic update from web-platform-tests
Send wptserve.server.BaseWebTestRequestHandler.log_* to the logger
The superclass http.server.BaseHTTPRequestHandler implementation of
its log_* methods sends them all to log_message and onto stderr.
Instead, let's re-implement all three of them to log to the logger, at
appropriate logging levels.
This prevents a bunch of kinda unexpected stderr output while running
tests, and ensures it is properly integrated with the rest of the
logging output.
--
wpt-commits: d41923e261a00fdfdb387818504bb8cecf524f52
wpt-pr: 48902
Differential Revision: https://phabricator.services.mozilla.com/D250949
- - - - -
2ec44b63 by Sam Sneddon at 2025-05-23T19:12:52+00:00
Bug 1938991 [wpt PR 49836] - Implement exponential backoff for restarting browsers,
Automatic update from web-platform-tests
Implement exponential backoff for restarting browsers
--
wpt-commits: 6c19e871506028661a64234ba8091615dcbaeea2
wpt-pr: 49836
Differential Revision: https://phabricator.services.mozilla.com/D250950
- - - - -
aa81928b by Sam Sneddon at 2025-05-23T19:12:55+00:00
Bug 1938992 [wpt PR 49837] - Add a nice message when reftest screenshots differ in size,
Automatic update from web-platform-tests
Add a nice message when reftest screenshots differ in size
--
wpt-commits: feaacb57da01122359284f9100157e75f07693a5
wpt-pr: 49837
Differential Revision: https://phabricator.services.mozilla.com/D250951
- - - - -
e1110f06 by Scott O'Hara at 2025-05-23T19:12:59+00:00
Bug 1967670 [wpt PR 44934] - Create roles-minimum.tentative.html,
Automatic update from web-platform-tests
Create roles-minimum.tentative.html (#44934)
* Create roles-minimum.tentative.html
* add tests for minimum role in html aam https://github.com/w3c/html-aam/pull/454
* remove unused call
* link to issue to clarify dead spec link
--
wpt-commits: eba641bdc0a4b66b0bb162ebd775e46bab2b5ca4
wpt-pr: 44934
Differential Revision: https://phabricator.services.mozilla.com/D250952
- - - - -
e2662b9d by moz-wptsync-bot at 2025-05-23T19:13:03+00:00
Bug 1967670 [wpt PR 44934] - Update wpt metadata,
wpt-pr: 44934
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250953
- - - - -
9213a473 by Sam Sneddon at 2025-05-23T19:13:06+00:00
Bug 1967672 [wpt PR 52425] - Make wptrunner.formatters.wptreport consistent about string quotes,
Automatic update from web-platform-tests
Make wptrunner.formatters.wptreport consistent about string quotes
--
wpt-commits: 4fa51fa95df743ee909e17356c8e2a3c1081f1e7
wpt-pr: 52425
Differential Revision: https://phabricator.services.mozilla.com/D250954
- - - - -
c876de3f by David Grogan at 2025-05-23T19:13:10+00:00
Bug 1967680 [wpt PR 52674] - [flex] Update stretch tests to reflect new indefinite behavior,
Automatic update from web-platform-tests
[flex] Update stretch tests to reflect new indefinite behavior
This is the behavior described in
https://github.com/w3c/csswg-drafts/issues/11784#issuecomment-2831064731
and the following comment.
Change-Id: Ie3fd71de25a3e35d73d52be7152bab3ba8823320
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6569793
Reviewed-by: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Commit-Queue: David Grogan <dgrogan(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463062}
--
wpt-commits: 4a9adb8c2eb1801445c7b281311447f22ec432c7
wpt-pr: 52674
Differential Revision: https://phabricator.services.mozilla.com/D250955
- - - - -
abd65c6c by moz-wptsync-bot at 2025-05-23T19:13:14+00:00
Bug 1967680 [wpt PR 52674] - Update wpt metadata,
wpt-pr: 52674
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250956
- - - - -
ad218023 by Sam Sneddon at 2025-05-23T19:13:17+00:00
Bug 1967685 [wpt PR 52455] - Expose the manager_number to the Browser class itself,
Automatic update from web-platform-tests
Expose the manager_number to the Browser class itself
The goal here is for browser classes to be able to have the ability to
get at data items specific to the current thread (e.g., with
--processes=X, each of the X concurrently existing Browser objects
should be able to get their own kwargs).
This avoids needing to hardcode specific browser settings in
wptrunner.testrunner, which is a layering violation.
Adding a required argument to wptrunner.browsers.base.Browser
obviously carries a risk, as shown by the number of browsers which
needed modified to correctly pass through unknown keyword arguments to
their parents, but I don't think there's a reasonable alternative to
doing this.
Co-authored-by: Jonathan Lee <jonathanjlee(a)google.com>
--
wpt-commits: 4e4d767ead29ec6329f2a89db09d562938f691ff
wpt-pr: 52455
Differential Revision: https://phabricator.services.mozilla.com/D250957
- - - - -
0df30af8 by Jonathan Lee at 2025-05-23T19:13:21+00:00
Bug 1967688 [wpt PR 52677] - [wptrunner] Log testdriver calls at DEBUG, not INFO,
Automatic update from web-platform-tests
[wptrunner] Log testdriver calls at DEBUG, not INFO
These logs are closer to debugging traces to confirm the executor is
really servicing testdriver calls. Also, testdriver calls are relatively
high volume.
Fixes https://crbug.com/418878936
--
wpt-commits: 87b0f94bfd4cb132d7e8ce92089bccb0082041fc
wpt-pr: 52677
Differential Revision: https://phabricator.services.mozilla.com/D250958
- - - - -
953ae3ff by Weizhong Xia at 2025-05-23T19:13:25+00:00
Bug 1967346 [wpt PR 52651] - Do not enable experimental features if running in stable release mode,
Automatic update from web-platform-tests
Do not enable experimental features if running in stable release mode (#52651)
* Do not enable experimental features if running in stable release mode
We have a virtual test suite in Chromium to test behavior in this mode.
And we should not enable experimental features in this mode.
Bug: 418815739
--
wpt-commits: c518eee7a46a7f77a9721270c2b5d6af4cecdc03
wpt-pr: 52651
Differential Revision: https://phabricator.services.mozilla.com/D250959
- - - - -
1848cb8f by Wei Wang at 2025-05-23T19:13:29+00:00
Bug 1967527 [wpt PR 52670] - [WebNN] Fuse QDQ for softmax on tflite,
Automatic update from web-platform-tests
[WebNN] Fuse QDQ for softmax on tflite
This CL supports fusing `dq->softmax->q` subgraph on tflite.
Input and output operands have to be dequantized from ints8, the scale
and zero point of input and output have to be scaler. For TFLite kernel,
the scale of output should be approximately equal to 1.0f / 256.0f and
the zero point of output should be equal to -128 if data type is int8.
This CL also fixes the wrong output tensor's shape of softmax.
Bug: 401281047, 338094927
Change-Id: Ie7ae32d3b71f7f396552622da3b8195192ba19b9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6565957
Commit-Queue: Wei4 Wang <wei4.wang(a)intel.com>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463148}
--
wpt-commits: 90c38cb810fe2d9e9d5539ca4f4b58770bef43a2
wpt-pr: 52670
Differential Revision: https://phabricator.services.mozilla.com/D250960
- - - - -
df3bc717 by Philip Jägenstedt at 2025-05-23T19:13:32+00:00
Bug 1967311 [wpt PR 52645] - Map getVideoPlaybackQuality() tests to web-features,
Automatic update from web-platform-tests
Map getVideoPlaybackQuality() tests to web-features (#52645)
There's only a single idlharness.js test in this directory, so this is
only tested at superficial level, but any additional tests would go in
this directory, so it's the right mapping.
--
wpt-commits: ad44260a9c18612ff7bc0c4a9a8f00dba194bf00
wpt-pr: 52645
Differential Revision: https://phabricator.services.mozilla.com/D250961
- - - - -
b7fb7e22 by Yoav Weiss at 2025-05-23T19:13:36+00:00
Bug 1967691 [wpt PR 52680] - Move Integrity-Policy tests off of tentative,
Automatic update from web-platform-tests
Move Integrity-Policy tests off of tentative (#52680)
--
wpt-commits: f5a18b7277984ee2392241f954a310fd9c6c6a90
wpt-pr: 52680
Differential Revision: https://phabricator.services.mozilla.com/D250962
- - - - -
66943b08 by moz-wptsync-bot at 2025-05-23T19:13:40+00:00
Bug 1967691 [wpt PR 52680] - Update wpt metadata,
wpt-pr: 52680
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250963
- - - - -
1885f0bf by Keith Cirkel at 2025-05-23T19:13:44+00:00
Bug 1967516 [wpt PR 52668] - Move "revamped-scoped-registry" contents to "registries",
Automatic update from web-platform-tests
Move "revamped-scoped-registry" contents to "registries" (#52668)
* Move "revamped-scoped-registry" contents to "registries"
* remove meta line
--
wpt-commits: 09aaaa0ebe81ffc1b71ce30afd1fddc0e99ad278
wpt-pr: 52668
Differential Revision: https://phabricator.services.mozilla.com/D250964
- - - - -
fdf7346b by moz-wptsync-bot at 2025-05-23T19:13:47+00:00
Bug 1967516 [wpt PR 52668] - Update wpt metadata,
wpt-pr: 52668
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250965
- - - - -
3d950883 by BruceDai at 2025-05-23T19:13:51+00:00
Bug 1967719 [wpt PR 52683] - webnn: add more reduceL1 tests of other allowed data types,
Automatic update from web-platform-tests
webnn: add more reduceL1 tests of other allowed data types
Bug: 412049987
Change-Id: Id90383a7b33471e72d271dc47c639172fe86d2b9
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6546198
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Auto-Submit: Feng Dai <feng.dai(a)intel.com>
Commit-Queue: Feng Dai <feng.dai(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1463322}
--
wpt-commits: 8d2e9252aad5b5479c9699df064605dd267036cc
wpt-pr: 52683
Differential Revision: https://phabricator.services.mozilla.com/D250966
- - - - -
b3649715 by Anders Hartvoll Ruud at 2025-05-23T19:13:55+00:00
Bug 1967730 [wpt PR 52686] - [ident] Support ident() for anchor names,
Automatic update from web-platform-tests
[ident] Support ident() for anchor names
Bug: 384930424
Change-Id: Ie5d0de929f2c9328d61685f31c081d2f0e20e326
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6572134
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463346}
--
wpt-commits: 1e6d06a2b41c5adae0cb6416400f64c24216052e
wpt-pr: 52686
Differential Revision: https://phabricator.services.mozilla.com/D250967
- - - - -
de82f3e5 by moz-wptsync-bot at 2025-05-23T19:13:58+00:00
Bug 1967730 [wpt PR 52686] - Update wpt metadata,
wpt-pr: 52686
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250968
- - - - -
d7b57321 by BruceDai at 2025-05-23T19:14:02+00:00
Bug 1967734 [wpt PR 52687] - webnn: add more argMax and argMin tests of other allowed data types,
Automatic update from web-platform-tests
webnn: add more argMax and argMin tests of other allowed data types
Bug: 412049987
Change-Id: I959d697b43de2d4f85890d37324688dd785c020c
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6544649
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Auto-Submit: Feng Dai <feng.dai(a)intel.com>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Commit-Queue: Feng Dai <feng.dai(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1463353}
--
wpt-commits: 831e0e5116efcad4707120da5ecdc406425c9672
wpt-pr: 52687
Differential Revision: https://phabricator.services.mozilla.com/D250969
- - - - -
4394b350 by BruceDai at 2025-05-23T19:14:06+00:00
Bug 1967736 [wpt PR 52688] - webnn: add fp16 conformance tests for some data movement operations,
Automatic update from web-platform-tests
webnn: add fp16 conformance tests for some data movement operations
This CL is to add float16 conformance tests for some data movement
operators including expand, gather, gatherElements, gatherND, pad,
reshape, reverse, scatterElements, scatterND, slice, split, tile,
transpose, triangular and where operators.
Bug: 345280754
Change-Id: I733195468a33efbdd4018ead0bd6def359fc6825
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6564444
Auto-Submit: Feng Dai <feng.dai(a)intel.com>
Commit-Queue: Feng Dai <feng.dai(a)intel.com>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1463355}
--
wpt-commits: 3e3d46a2a0ab881e24a51d3abca472fddd45584b
wpt-pr: 52688
Differential Revision: https://phabricator.services.mozilla.com/D250970
- - - - -
bf76cf3f by Steinar H. Gunderson at 2025-05-23T19:14:09+00:00
Bug 1967746 [wpt PR 52690] - Fix :visited in nested CSS rules.,
Automatic update from web-platform-tests
Fix :visited in nested CSS rules.
When determining whether a CSS selector contained a link or not,
we we would not correctly look through nest parents (&).
Fixed: 419001506
Change-Id: I87e043abe67861e932b41d43e9b1925edbd239c2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6575041
Auto-Submit: Steinar H Gunderson <sesse(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Steinar H Gunderson <sesse(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463401}
--
wpt-commits: 014e0343837db72cc13a5e54dfce79e312ffbf4d
wpt-pr: 52690
Differential Revision: https://phabricator.services.mozilla.com/D250971
- - - - -
6b72077f by Anders Hartvoll Ruud at 2025-05-23T19:14:13+00:00
Bug 1967753 [wpt PR 52692] - [ident] Support ident() in timeline names,
Automatic update from web-platform-tests
[ident] Support ident() in timeline names
The scroll-timeline-name, view-timeline-name, and timeline-scope
properties were already working, but animation-timeline needed
a call CSSCustomIdentValue::ComputeIdent() rather than
CSSCustomIdentValue::Value().
Bug: 384930424
Change-Id: I39c3d85de8fc788369d5e669d8de238771f21c8e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6573576
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463417}
--
wpt-commits: c8e57122bcfada944fb227a31f7e4967d358c827
wpt-pr: 52692
Differential Revision: https://phabricator.services.mozilla.com/D250972
- - - - -
e4dc2111 by Rune Lillesveen at 2025-05-23T19:14:17+00:00
Bug 1967763 [wpt PR 52695] - Apply changes for anchored() recalc,
Automatic update from web-platform-tests
Apply changes for anchored() recalc
For out-of-flow style recalcs we did not invalidate for layout since
we were computing styles for the anchored element since we were in
the middle of laying it out. However, with anchored() queries, make
sure we do invalidation in the anchored element's subtree to let
style changes for those queries take effect.
Additionally removed a TODO that was fixed in a previous CL.
Bug: 417621241
Change-Id: I03b8a6fcb7e739309e427cb61066d5945e62419f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6573333
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463437}
--
wpt-commits: f9694525a377616a757713ec7701b1808e09b288
wpt-pr: 52695
Differential Revision: https://phabricator.services.mozilla.com/D250973
- - - - -
e860687c by Javier Contreras Tenorio (from Dev Box) at 2025-05-23T19:14:21+00:00
Bug 1967786 [wpt PR 52699] - [gap-decorations] Fix `MaybeDependsOnCurrentColor` for repeater values,
Automatic update from web-platform-tests
[gap-decorations] Fix `MaybeDependsOnCurrentColor` for repeater values
This CL fixes an issue with `MaybeDependsOnCurrentColor` that happens
when the `GapDataList` has a repeater. In order to fix the crash, we
make sure to check every value in the repeater.
This CL also removes `HasGapDecoration` and its references in favor of
`HasGapRule` which is what we use to determine if an element has gap
decorations.
Bug: 357648037
Change-Id: I3a5ef8f761e01ee291cc250a7fe503d092ad830e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532847
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Reviewed-by: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1463506}
--
wpt-commits: c9360813788a6f9d5ace7b00b18d170fc66f9d15
wpt-pr: 52699
Differential Revision: https://phabricator.services.mozilla.com/D250974
- - - - -
3f9b8d38 by moz-wptsync-bot at 2025-05-23T19:14:24+00:00
Bug 1967786 [wpt PR 52699] - Update wpt metadata,
wpt-pr: 52699
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250975
- - - - -
e0ecea7e by Johannes Henkel at 2025-05-23T19:14:28+00:00
Bug 1967759 [wpt PR 52693] - [soft navs] Assert that we detect both racing soft navs.,
Automatic update from web-platform-tests
[soft navs] Assert that we detect both racing soft navs.
Previously, we only detected the fast soft nav, but with the support for
multiple contexts in flight, we detect both.
Bug: 418839741,378148364
Change-Id: I567d833f55a38ef5bb280bf94bb0d67cb88b2d82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6568481
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463515}
--
wpt-commits: 8b5ae0c158b2cdf9472ee9ca68541f1ea6d62166
wpt-pr: 52693
Differential Revision: https://phabricator.services.mozilla.com/D250976
- - - - -
a187e4c2 by Sammy Gill at 2025-05-23T19:14:32+00:00
Bug 1967803 [wpt PR 52702] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=270959,
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=270959 (#52702)
--
wpt-commits: 96b36bf999f66805425ce021a4347a812ebb63cd
wpt-pr: 52702
Differential Revision: https://phabricator.services.mozilla.com/D250977
- - - - -
785a55d3 by Weizhong Xia at 2025-05-23T19:14:35+00:00
Bug 1967806 [wpt PR 52703] - Object.__init__ takes 0 arguments,
Automatic update from web-platform-tests
Object.__init__ takes 0 arguments (#52703)
When roll wpt tooling to chromium, we met the following error:
TypeError: object.__init__() takes exactly one argument (the instance to initialize)
Seems kwargs is not empty when running WPT with headless shell.
This is a follow up change on top of PR 52455
--
wpt-commits: a8cd1e7453ea08be3dad3adc05783e06c3e94dde
wpt-pr: 52703
Differential Revision: https://phabricator.services.mozilla.com/D250978
- - - - -
d728e4fa by Sam Sneddon at 2025-05-23T19:14:39+00:00
Bug 1967811 [wpt PR 52415] - New Session tests should handle more default browser capabilities,
Automatic update from web-platform-tests
New Session tests should handle more default browser capabilities
This ensures test_merge_platform_name and test_merge_browserName both
work even when a platformName and browserName capability is provided
in the default capabilities. And while we're fixing that, also fix the
case that pageLoadStrategy is provided.
--
wpt-commits: 70ffd08d4769c48dd08bd8b865a745ce7a7e4f64
wpt-pr: 52415
Differential Revision: https://phabricator.services.mozilla.com/D250979
- - - - -
15d8be74 by Noam Rosenthal at 2025-05-23T19:14:43+00:00
Bug 1967761 [wpt PR 52694] - corner-shape: render color-join for overlapping corners,
Automatic update from web-platform-tests
corner-shape: render color-join for overlapping corners
Instead of relying on the existing polygon, clip the following
when concave corners are present in the border side, or the border
side is going to overlap some other concave corner:
1. Clip the inner border of the side, inclusive without taking
color joins into account. Always antialiased.
2. Clip out the area of each corner that should be hidden because of
the color join.
Moved tests for this out of WPT to internal web tests,
as color-joins are not specified in an interoperable way anyway.
This algorithm might still output some antialiasing artifacts, but
otherwise it should mostly work.
See illustration:
https://docs.google.com/document/d/1z8CkPaOZCz49OywDEwQR7m7VfWkfhxdmAglBD-b…
Bug: 399449172
Change-Id: I2ea20f48ad59754d6bfd2ab8d5e990c1a5167d90
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6469836
Reviewed-by: Florin Malita <fmalita(a)chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1463611}
--
wpt-commits: 9a60d0a285c47810dd0536b9614143e127c1720d
wpt-pr: 52694
Differential Revision: https://phabricator.services.mozilla.com/D250980
- - - - -
be4eb2fe by Mike Wasserman at 2025-05-23T19:14:46+00:00
Bug 1967839 [wpt PR 52704] - Summarizer API: Update 'tl;dr' to 'tldr',
Automatic update from web-platform-tests
Summarizer API: Update 'tl;dr' to 'tldr'
Fixed: 419272071
Change-Id: Ieb5efb6672caa03fa0e89175acaf37cf30e76b91
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6576261
Auto-Submit: Mike Wasserman <msw(a)chromium.org>
Reviewed-by: Daseul Lee <dslee(a)chromium.org>
Commit-Queue: Mike Wasserman <msw(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463673}
--
wpt-commits: 142349085b28a4c4eca1719563ee05dc5188823a
wpt-pr: 52704
Differential Revision: https://phabricator.services.mozilla.com/D250981
- - - - -
e0515ca9 by Bryan Bernhart at 2025-05-23T19:14:50+00:00
Bug 1967303 [wpt PR 52643] - Reland "WebNN: support constant tensors",
Automatic update from web-platform-tests
Reland "WebNN: support constant tensors"
This is a reland of commit fd00312e80a964f7f5dffee1f811f634f7fe731e
Fixed a bug where constant DML buffers lacked the properties needed to
write initialized data and could fail on UMA devices.
Original change's description:
> WebNN: support constant tensors
>
> Allows MLTensor to be input to constant() so weights can be
> reused on-device between multiple builds on the same builder
> or different builders. This eliminates the need to keep the original
> JS input data and lowers CPU memory usage.
>
> To keep the CL size in check, only the DML backend was enabled.
>
> More specifically:
> * Adds constant usage to MLTensor.
> * Allows tensors to be initialized from a supplied JS buffer.
> * Supports graph builds using weights from tensors.
>
> Restrictions:
> * Constant tensors cannot be dispatched.
> * Constant tensors must be initialized.
> * Constant tensors must remain static.
>
> https://github.com/webmachinelearning/webnn/issues/760
>
> Bug: 332350952
> Change-Id: Ib18dfe06ead6728172355f2a540e3faeec99917b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6075601
> Reviewed-by: Alex Gough <ajgo(a)chromium.org>
> Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
> Commit-Queue: Bryan Bernhart <bryan.bernhart(a)intel.com>
> Cr-Commit-Position: refs/heads/main@{#1460981}
Bug: 332350952, 418078503
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel
Change-Id: If6dc4282ccc908444c2d266e41c2fca94ecfc371
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6557622
Reviewed-by: Alex Gough <ajgo(a)chromium.org>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1463706}
--
wpt-commits: fe9d1af083e18599e56d55dff5523c9232269901
wpt-pr: 52643
Differential Revision: https://phabricator.services.mozilla.com/D250982
- - - - -
18580042 by Carlos Alberto Lopez Perez at 2025-05-23T19:14:54+00:00
Bug 1967866 [wpt PR 52708] - css-exclusions: Add assert_implements to avoid false positives.,
Automatic update from web-platform-tests
css-exclusions: Add assert_implements to avoid false positives.
css-exclusions <https://drafts.csswg.org/css-exclusions/> is nowadays
deprecated and usupported by all the major browsers.
However, some subtests in this directory still pass because they do
not check whether the CSS property is supported before running.
As a result, the directory ends up with a misleading score of 30/54.
Fix that by adding the required `assert_implements` checks.
--
wpt-commits: 0344c6f7735df1096853bc79e033c354ef5a928c
wpt-pr: 52708
Differential Revision: https://phabricator.services.mozilla.com/D250983
- - - - -
511d60d7 by Rohan Raja at 2025-05-23T19:14:57+00:00
Bug 1967898 [wpt PR 52714] - [Clipboardchange] - Event handler contains native mime types,
Automatic update from web-platform-tests
[Clipboardchange] - Event handler contains native mime types
As per the latest explainer changes, to make clipboardchange event
interop, the API should let it's clients read native clipboard mime
types using the event handler, without making any additional API calls.
To reduce the risk of fingerprinting attacks, this API intentionally omits support for exposing custom MIME types.
This CL ensures that the clipboardchange event contains native mime type
as part of event payload. Just before renderer is about to dispatch the
event (after focus check), the renderer requests the browser process for
available mime types using an existing method. The list is filtered to
only contain Chromium supported native mime types (a hard-coded list).
Considered alternative: Instead of renderer requesting for types just
before event dispatch, the browser could instead send types as part of
OnClipboardChange MOJOM call, reducing 1 mojo call. However this is not
efficient when there are multiple frames listening to the clipboard
since all the frames will try to read the available types in quick
succession which can cause performance issue.
Bug: 41442253
Change-Id: I5a0d5335c1a007f496aacbd039a59382db596904
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6511791
Reviewed-by: Dan Clark <daniec(a)microsoft.com>
Commit-Queue: Rohan Raja <roraja(a)microsoft.com>
Reviewed-by: Sambamurthy Bandaru <sambamurthy.bandaru(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1463867}
--
wpt-commits: a238c9e797c9e1d7c9a274dd7be198f15b8b018a
wpt-pr: 52714
Differential Revision: https://phabricator.services.mozilla.com/D250984
- - - - -
57abb9ba by moz-wptsync-bot at 2025-05-23T19:15:01+00:00
Bug 1967898 [wpt PR 52714] - Update wpt metadata,
wpt-pr: 52714
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250985
- - - - -
d14cac76 by Mirko Brodesser at 2025-05-23T19:15:05+00:00
Bug 1967743 [wpt PR 52689] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=290042,
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=290042 (#52689)
--
wpt-commits: 197f5ed0d6c302c52cbf0adb4d75e456889c18a7
wpt-pr: 52689
Differential Revision: https://phabricator.services.mozilla.com/D250986
- - - - -
cd219d20 by Mike West at 2025-05-23T19:15:09+00:00
Bug 1967913 [wpt PR 52717] - [SRI Message Signatures] Rename the `tag` property.,
Automatic update from web-platform-tests
[SRI Message Signatures] Rename the `tag` property.
We're currently requiring a `tag` property value of "sri", which is
quite generic. This CL shifts that required value to
"ed25519-integrity", which leaves room for additional
algorithms/profiles in the future.
We continue to support "sri" for the moment, as cleaning up the web
platform tests will take a bit of work, and we have folks relying on the
current spelling in the ongoing origin trial. We'll drop support for
"sri" prior to shipping the feature.
Bug: 419149647
Change-Id: I11d1329c2a5b58f4129bb8b93cd66116a4744922
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6573772
Reviewed-by: Joe DeBlasio <jdeblasio(a)chromium.org>
Commit-Queue: Mike West <mkwst(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463907}
--
wpt-commits: 09ad267a7e91c24db9bdbc9c56b590ac85720f89
wpt-pr: 52717
Differential Revision: https://phabricator.services.mozilla.com/D250987
- - - - -
69e57354 by Maksim Sadym at 2025-05-23T19:15:12+00:00
Bug 1966376 [wpt PR 52532] - [wdspec] `browser.createUserContext:acceptInsecureCerts`,
Automatic update from web-platform-tests
[wdspec] `browser.createUserContext:acceptInsecureCerts` (#52532)
Test [`browser.createUserContext: acceptInsecureCerts`](https://www.w3.org/TR/webdriver-bidi/#commands-browse…:
* Invalid values.
* Accepting valid values.
Out of scope:
* Check the parameter is respected. This requires some infrastructure preparation, and will be addressed later.
--
wpt-commits: 215b8f8bf5146868200d65c6994ad5da1c76f6e1
wpt-pr: 52532
Differential Revision: https://phabricator.services.mozilla.com/D250988
- - - - -
1c603b45 by Anders Hartvoll Ruud at 2025-05-23T19:15:16+00:00
Bug 1967789 [wpt PR 52700] - [ident] Support ident() in container/container-name,
Automatic update from web-platform-tests
[ident] Support ident() in container/container-name
This CL adds support for ident() in the container and container-name
properties.
Since the behavior within at-rule preludes is not specified [1],
this CL just includes a basic crash test for "@container ident(...)"
as a provisional safeguard.
[1] https://github.com/w3c/csswg-drafts/issues/12219
Bug: 384930424
Change-Id: I200e8f1c516ebe69e48f97048014c3f65beac349
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6574640
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463950}
--
wpt-commits: 742db34711329e93cc54d6b8b1a3b7eedbe41e65
wpt-pr: 52700
Differential Revision: https://phabricator.services.mozilla.com/D250989
- - - - -
54e45433 by moz-wptsync-bot at 2025-05-23T19:15:20+00:00
Bug 1967789 [wpt PR 52700] - Update wpt metadata,
wpt-pr: 52700
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250990
- - - - -
193d48db by Anders Hartvoll Ruud at 2025-05-23T19:15:23+00:00
Bug 1967940 [wpt PR 52719] - [ident] Test ident() for @position-try/position-try,
Automatic update from web-platform-tests
[ident] Test ident() for @position-try/position-try
Since the behavior within at-rule preludes is not specified [1],
this CL just includes a basic crash test for "@position-try ident(...)"
as a provisional safeguard.
[1] https://github.com/w3c/csswg-drafts/issues/12219
Bug: 384930424
Change-Id: If0b7adf6ce68f32d22529f76bc29ab88c72a9aed
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6573937
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463976}
--
wpt-commits: ef521b4f5b6ade5f8315cfdee1f5d289d8a7b4ee
wpt-pr: 52719
Differential Revision: https://phabricator.services.mozilla.com/D250991
- - - - -
45397f4e by moz-wptsync-bot at 2025-05-23T19:15:27+00:00
Bug 1967940 [wpt PR 52719] - Update wpt metadata,
wpt-pr: 52719
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250992
- - - - -
0f2703ce by Maksim Sadym at 2025-05-23T19:15:31+00:00
Bug 1967927 [wpt PR 52718] - [wdspec] add `proxy` to `create_user_context`,
Automatic update from web-platform-tests
[wdspec] browser.createUserContext:proxy (#52718)
--
wpt-commits: 51be4ad54cd4854c80d8b1c01beca3e6ccd3740e
wpt-pr: 52718
Differential Revision: https://phabricator.services.mozilla.com/D250993
- - - - -
f22c8c87 by moz-wptsync-bot at 2025-05-23T19:15:34+00:00
Bug 1967927 [wpt PR 52718] - Update wpt metadata,
wpt-pr: 52718
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250994
- - - - -
77eb5a03 by Max Ihlenfeldt at 2025-05-23T19:15:38+00:00
Bug 1967949 [wpt PR 52721] - Base synthetic bold/italic decision only on @font-face properties,
Automatic update from web-platform-tests
Base synthetic bold/italic decision only on @font-face properties
FontCustomPlatformData::GetFontPlatformData() should only override the
higher level's decision to synthetically make the font bold/italic if
it's a variable font and thus not needed, instead of inspecting the font
and ignoring the synthetic bold/italic request if the font is already
bold/italic.
Fixed: 409512705
Change-Id: I26f68bdc60130c476b2d68bf0b91158a979c0f0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6469892
Reviewed-by: Dominik Röttsches <drott(a)chromium.org>
Commit-Queue: Max Ihlenfeldt <max(a)igalia.com>
Cr-Commit-Position: refs/heads/main@{#1463996}
--
wpt-commits: a2ef61a6d90c0e9f860f4133e57f7db549774c80
wpt-pr: 52721
Differential Revision: https://phabricator.services.mozilla.com/D250995
- - - - -
c312ee9b by Maksim Sadym at 2025-05-23T19:15:42+00:00
Bug 1967748 [wpt PR 52691] - [wdspec] test `browser.createUserContext:proxy` parameter,
Automatic update from web-platform-tests
[wdspec] test `browser.createUserContext:proxy` parameter (#52691)
use `create_user_context` instead of `bidi_session.browser.create_user_context`
--
wpt-commits: 93bfa6b3060c0df11899b6e3e1ed26ac36e758be
wpt-pr: 52691
Differential Revision: https://phabricator.services.mozilla.com/D250996
- - - - -
ab481e63 by moz-wptsync-bot at 2025-05-23T19:15:45+00:00
Bug 1967748 [wpt PR 52691] - Update wpt metadata,
wpt-pr: 52691
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250997
- - - - -
bfdd4988 by Daniil Sakhapov at 2025-05-23T19:15:49+00:00
Bug 1967953 [wpt PR 52722] - Add length conversion checkers to CSSScaleInterpolationType,
Automatic update from web-platform-tests
Add length conversion checkers to CSSScaleInterpolationType
So that when the font-size changes during animation, we correctly
update the relative-units dependent value.
Bug: 415572412
Change-Id: I2a73a636332a2c43fe8a790c34c4f38c6661997d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6578189
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463997}
--
wpt-commits: dee11aa747c260ab3966d8e89813ace1fc1df879
wpt-pr: 52722
Differential Revision: https://phabricator.services.mozilla.com/D250998
- - - - -
d6c85e99 by moz-wptsync-bot at 2025-05-23T19:15:53+00:00
Bug 1967953 [wpt PR 52722] - Update wpt metadata,
wpt-pr: 52722
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250999
- - - - -
5e0c5e00 by Daniil Sakhapov at 2025-05-23T19:15:56+00:00
Bug 1967963 [wpt PR 52723] - Add length conversion checkers to CSSRotateInterpolationType,
Automatic update from web-platform-tests
Add length conversion checkers to CSSRotateInterpolationType
So that when the font-size changes during animation, we correctly
update the relative-units dependent value.
Bug: 415572412
Change-Id: I8e24abc9d303bbcbb09120b9e49e49eba657938a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6578329
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463998}
--
wpt-commits: 250eb25aea158b631814b75e109f88404441cdb8
wpt-pr: 52723
Differential Revision: https://phabricator.services.mozilla.com/D251000
- - - - -
f03cd4a6 by Anders Hartvoll Ruud at 2025-05-23T19:16:00+00:00
Bug 1967972 [wpt PR 52725] - [ident] Resolve ident() in registered custom properties,
Automatic update from web-platform-tests
[ident] Resolve ident() in registered custom properties
Additionally, add a basic crash test for @property while we wait
for Issue 12219 to resolve.
https://github.com/w3c/csswg-drafts/issues/12219
Bug: 384930424
Change-Id: I36c215cac8558dbc964fda366e2ddba3c7b2017a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6578154
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1464032}
--
wpt-commits: 85eadd1d77986f1687cf2310c3201ee5f37c1f3a
wpt-pr: 52725
Differential Revision: https://phabricator.services.mozilla.com/D251001
- - - - -
52c6ac97 by moz-wptsync-bot at 2025-05-23T19:16:04+00:00
Bug 1967972 [wpt PR 52725] - Update wpt metadata,
wpt-pr: 52725
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D251002
- - - - -
40371963 by Luke Warlow at 2025-05-23T19:16:08+00:00
Bug 1955191 [wpt PR 51484] - Update dialog form submission test,
Automatic update from web-platform-tests
Update dialog form submission test
We now assert the actual value of returnValue when the submit button has no attribute.
See https://github.com/whatwg/html/pull/11280.
--
wpt-commits: 76c3c693ab36c5a7eb523ec798d60cfd57379423
wpt-pr: 51484
Differential Revision: https://phabricator.services.mozilla.com/D251003
- - - - -
fc3f43cb by moz-wptsync-bot at 2025-05-23T19:16:11+00:00
Bug 1955191 [wpt PR 51484] - Update wpt metadata,
wpt-pr: 51484
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D251004
- - - - -
656c3635 by Luke Warlow at 2025-05-23T19:16:15+00:00
Bug 1964026 [wpt PR 52278] - Add more dialog returnValue tests for command buttons,
Automatic update from web-platform-tests
Add more dialog returnValue tests for command buttons
See https://github.com/whatwg/html/pull/11280.
--
wpt-commits: 975e4f6ae35d7390beab0ba0c871a349f15ea87e
wpt-pr: 52278
Differential Revision: https://phabricator.services.mozilla.com/D251005
- - - - -
bf4aa7df by moz-wptsync-bot at 2025-05-23T19:16:19+00:00
Bug 1964026 [wpt PR 52278] - Update wpt metadata,
wpt-pr: 52278
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D251006
- - - - -
9cdd865c by Daniil Sakhapov at 2025-05-23T19:16:22+00:00
Bug 1967973 [wpt PR 52726] - Add length conversion checkers to CSSPercentageInterpolationType,
Automatic update from web-platform-tests
Add length conversion checkers to CSSPercentageInterpolationType
So that when the font-size changes during animation, we correctly
update the relative-units dependent value.
Bug: 415572412
Change-Id: Ib755656689d0217d5c973cc37068935e7663d522
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6578409
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1463999}
--
wpt-commits: faf875d9b84f4319ac950cd51ef03a3dcf466a7f
wpt-pr: 52726
Differential Revision: https://phabricator.services.mozilla.com/D251007
- - - - -
4bd723b0 by Alexandra Borovova at 2025-05-23T19:16:26+00:00
Bug 1968311 - [wptrunner] Add missing default for "profile_creator_cls" for wdspec tests. r=jgraham
Differential Revision: https://phabricator.services.mozilla.com/D251029
- - - - -
b4e659e0 by moz-wptsync-bot at 2025-05-23T19:16:30+00:00
Bug 1968031 - [wpt-sync] Update web-platform-tests to faf875d9b84f4319ac950cd51ef03a3dcf466a7f,
MANUAL PUSH: wpt sync bot
wpt-head: faf875d9b84f4319ac950cd51ef03a3dcf466a7f
wpt-type: landing
Differential Revision: https://phabricator.services.mozilla.com/D251008
- - - - -
5f7c8749 by Boris Chiou at 2025-05-23T19:17:15+00:00
Bug 1968217 - Fix the typo of the preference name of view transition. r=layout-reviewers,TYLin
Just a quick fix because I used the wrong preference name in the a11y test.
Differential Revision: https://phabricator.services.mozilla.com/D251037
- - - - -
cf64e2a1 by Dennis Jackson at 2025-05-23T19:17:27+00:00
Bug 1963097 - Update to NSS 3.112. r=jschanck
Differential Revision: https://phabricator.services.mozilla.com/D250924
- - - - -
af472761 by Patrycja Rosa at 2025-05-23T19:17:30+00:00
Bug 1968223 - Update system NSS requirement to 3.112. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D250922
- - - - -
4a7879e1 by Andrew Halberstadt at 2025-05-23T19:17:58+00:00
Bug 1961649 - Re-use upstream Taskgraph's payload builders, r=taskgraph-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250326
- - - - -
437f1772 by Andrew Halberstadt at 2025-05-23T19:18:02+00:00
Bug 1961649 - Split 'iscript' and 'signingscript' payload builders apart, r=releng-reviewers,taskgraph-reviewers,bhearsum,hneiva
These are two separate worker implementations with two separate task
schemas. Combining iscript + signingscript into a single payload builder
causes a bunch of problems around schema validation and task
organization.
Differential Revision: https://phabricator.services.mozilla.com/D250327
- - - - -
116b7666 by Andrew Halberstadt at 2025-05-23T19:18:05+00:00
Bug 1961649 - Vendor mozilla-taskgraph under third_party/python, r=taskgraph-reviewers,mach-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250328
- - - - -
61a92e78 by Andrew Halberstadt at 2025-05-23T19:18:09+00:00
Bug 1961649 - Use 'scriptworker-{signing, shipit}' payload builders from mozilla-taskgraph, r=taskgraph-reviewers,releng-reviewers,bhearsum
The 'scriptworker-shipit' payload builder is simply removed from
android_taskgraph, as mozilla-taskgraph already provides an identical
implementation.
This patch contains the changes necessary to use the new
'scriptworker-signing' payload builder.
The resulting graph is nearly identical, it only adds
`project:releng:signing:format:<format>` scope to the tasks. This
shouldn't be an issue, because we grant `format:*` to all gecko-roles:
https://github.com/mozilla-releng/fxci-config/blob/54989e5351fde663564ac96e…
It's technically a bug that the format was missing from the Decision
task, though in practice we don't validate format scopes in
signingscript.
Differential Revision: https://phabricator.services.mozilla.com/D250329
- - - - -
33119d46 by scottdowne at 2025-05-23T19:19:21+00:00
Bug 1968327 - Newtab fixing story descriptions r=home-newtab-reviewers,amy
Differential Revision: https://phabricator.services.mozilla.com/D251046
- - - - -
b6c76274 by Serban Stanca at 2025-05-23T20:07:16+00:00
Revert "Bug 1961649 - Use 'scriptworker-{signing, shipit}' payload builders from mozilla-taskgraph, r=taskgraph-reviewers,releng-reviewers,bhearsum" for causing multiple failures.
This reverts commit 8c59549b095069c9045de301b27f011ba50050ed.
This reverts commit b029458665fff39cf96c12a0773a30a85c2fa4d4.
This reverts commit 029513c0c1b7dbe8e4c9661b719efe81f909977a.
This reverts commit 618e07a0c09d3d019b7de3649f31f769de0f4542.
- - - - -
d9772d1a by Drew Willcoxon at 2025-05-23T20:13:00+00:00
Bug 1968156 - Vendor application-services 8986582 for suggest geonames and weather changes. r=daisuke,supply-chain-reviewers
This vendors this revision:
https://github.com/mozilla/application-services/commit/8986582d377eac7b64bd…
It also makes some desktop fixes due to some breaking changes in Suggest, which
@daisuke previously reviewed. It's a large vendor due to vendoring some new
crates plus some app-services revisions that made changes to logging and error
reporting and touched lots of files.
Differential Revision: https://phabricator.services.mozilla.com/D250877
- - - - -
194f9058 by Joel Maher at 2025-05-23T20:13:29+00:00
Bug 1967293 - Update mochitest manifest annotations to support Ubuntu 24.04. r=aryx,webcompat-reviewers,pip-reviewers,credential-management-reviewers,devtools-reviewers,sessionstore-reviewers,profiler-reviewers,dom-storage-reviewers,twisniewski,asuth,accessibility-frontend-reviewers,julienw,dimi,morgan,mconley,ochameau,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D250070
- - - - -
27550cf2 by Alex Franchuk at 2025-05-23T20:27:08+00:00
Bug 1968241 - Clean up unnecessary crashreporter*.ini file logic r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D251045
- - - - -
89f40b06 by Serban Stanca at 2025-05-23T22:39:55+00:00
Revert "Bug 1899960 - P2: Imply an unavailable state if focusable is in unavailable subtree. r=Jamie" for casuing junit failures.
This reverts commit 5906bff6ebd9c12855060629666b7cb9b9a5ef62.
This reverts commit f491f2de6ea561aef982da025a892353234402dd.
This reverts commit 047d7acfa29be85c2d8c266fb78da8cd58a6cf81.
- - - - -
340b9d11 by Serban Stanca at 2025-05-23T22:39:58+00:00
Revert "Bug 1968241 - Clean up unnecessary crashreporter*.ini file logic r=nalexander" for causing build bustages in nsAppRunner.cpp.
This reverts commit 2a2d6d70d78dc6f0286fc5f34285374af0007210.
- - - - -
012123de by Julian Descottes at 2025-05-23T22:40:02+00:00
Bug 1945184 - [bidi] Implement browsingContext.navigationCommitted event r=webdriver-reviewers,Sasha
Differential Revision: https://phabricator.services.mozilla.com/D249644
- - - - -
7f6c6823 by Serban Stanca at 2025-05-23T22:40:06+00:00
Revert "Bug 1954557 - Hide invalid addons in system-addons location selectively. r=willdurand" for causing wpt failures in prefetch-transfer-size-executor.html.
This reverts commit fdfcdea8cdc9b0fd0e9ba3987beef01980b4a75d.
This reverts commit 62de429ed4e6b348e792d46941ff3cf74cfca78a.
- - - - -
b9c67719 by Joel Maher at 2025-05-23T22:55:07+00:00
Bug 1968205 - wrench needs to uninstall on android. r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D251059
- - - - -
d3834ced by Jonathan Almeida at 2025-05-23T22:55:34+00:00
Bug 1968130 - Handle web channel SYNC_PREFERENCES command in Android r=vpomerleau
Differential Revision: https://phabricator.services.mozilla.com/D250861
- - - - -
a489a463 by Nathan Barrett at 2025-05-23T22:56:01+00:00
Bug 1965941 - Update card footer, include publisher, thumbs and context menu r=home-newtab-reviewers,reemhamz
Differential Revision: https://phabricator.services.mozilla.com/D249693
- - - - -
ef2fab77 by Emily McDonough at 2025-05-23T22:56:28+00:00
Bug 1968326 - Always initialize masonryAxisGap in nsGridContainerFrame::ReflowRowsInFragmentainer to avoid warnings with GCC r=layout-reviewers,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D251043
- - - - -
e9a4a14d by Emily McDonough at 2025-05-23T22:56:54+00:00
Bug 1968081 - Calculate percentage basis upfront when finding intrinsic sizes of grid items r=layout-grid-reviewers,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D250834
- - - - -
edeaafa1 by Mark Banner at 2025-05-23T22:57:21+00:00
Bug 1967249 - Update globals package used in TypeScript, to avoid issues with ESLint. r=zombie,home-newtab-reviewers,omc-reviewers,aminomancer,mconley
Differential Revision: https://phabricator.services.mozilla.com/D250033
- - - - -
36bf1b8a by Tim Xia at 2025-05-23T22:57:47+00:00
Bug 1967799 - Fix fluent comment for main-context-menu-preview-link - r=flod,fluent-reviewers
- move menu-copy-phone out of group comment
Differential Revision: https://phabricator.services.mozilla.com/D250484
- - - - -
ef41ce85 by Valentin Gosu at 2025-05-23T22:58:00+00:00
Bug 1966583 - Add network.security.ports.banned to FeatureManifest r=sunil,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249615
- - - - -
b90344b6 by Valentin Gosu at 2025-05-23T22:58:03+00:00
Bug 1966583 - Add network.security.ports.banned to Android nimbus manifest r=necko-reviewers,geckoview-reviewers,geckoview-api-reviewers,ohall,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D249752
- - - - -
946fd128 by Maxx Crawford at 2025-05-23T22:58:31+00:00
Bug 1968056 - Add extensions.pocket.enabled pref to Nimbus/saveToPocket namespace r=home-newtab-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D250816
- - - - -
ce8ad814 by Maxx Crawford at 2025-05-23T22:58:35+00:00
Bug 1968055 - Set extensions.pocket.enabled pref to false r=home-newtab-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D250817
- - - - -
9a9795ee by Maxx Crawford at 2025-05-23T22:58:39+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser/components/pocket tests r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D251014
- - - - -
1cbab0e9 by Maxx Crawford at 2025-05-23T22:58:43+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser/components/customizableui tests r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D251022
- - - - -
f73e550f by Maxx Crawford at 2025-05-23T22:58:46+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser toolbar tests r=mconley,rking
Differential Revision: https://phabricator.services.mozilla.com/D251050
- - - - -
64d8d51b by Maxx Crawford at 2025-05-23T22:58:50+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser/base/content/test/sync/browser_contextmenu_sendpage.js test r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D251055
- - - - -
159d9e26 by Maxx Crawford at 2025-05-23T22:58:54+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser/components/enterprisepolicies test r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D251057
- - - - -
622ceefa by Maxx Crawford at 2025-05-23T22:58:58+00:00
Bug 1968258 - Enable extensions.pocket.enabled pref for browser/components/urlbar test r=mconley,urlbar-reviewers,adw
Differential Revision: https://phabricator.services.mozilla.com/D251060
- - - - -
f172b131 by Botond Ballo at 2025-05-23T22:59:40+00:00
Bug 1964721 - Do not cancel an autoscroll animation when starting a touchpad hold gesture. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D248495
- - - - -
21697e1d by iulian moraru at 2025-05-23T23:24:43+00:00
Revert "Bug 1968081 - Calculate percentage basis upfront when finding intrinsic sizes of grid items r=layout-grid-reviewers,dholbert" for causing mass build bustages on nsGridContainerFrame.cpp.
This reverts commit a9167bd9d5be2b4ed4d6a72950b7e27f32297cd5.
- - - - -
235d5f70 by Tomislav Jovanovic at 2025-05-23T23:40:08+00:00
Bug 1967692 - Generate error_list.json from ErrorList.py r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D250876
- - - - -
60d1a6fe by Release Engineering Landoscript at 2025-05-24T00:09:59+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
440fc56f by Ed Lee at 2025-05-24T00:17:15+00:00
Bug 1968047 - link preview opens in unexpected scenarios r=txia,firefox-ai-ml-reviewers
Only trigger long click with primary button. Ignore overlink after a delay and single page app links.
Differential Revision: https://phabricator.services.mozilla.com/D250901
- - - - -
7b59d0ed by Drew Willcoxon at 2025-05-24T00:22:05+00:00
Bug 1966328 - Expose the "Sponsored" urlbar group label to localizers. r=daisuke,fluent-reviewers,urlbar-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D251082
- - - - -
e2106777 by Drew Willcoxon at 2025-05-24T00:24:02+00:00
Bug 1968010 - Revert change to mdnFeatureGate Nimbus variable to avoid breaking experiments/rollouts. r=daisuke
Fortunately we only need to revert the change I made to `mdnFeatureGate` in
D249706. I tested similar STR to Cosmin's in the bug and was able to confirm
that this fixes it: On upgrade, the client was still enrolled. I also verified
that MDN suggestions still work for US clients.
Differential Revision: https://phabricator.services.mozilla.com/D251079
- - - - -
59dd011e by Aristide Tossou at 2025-05-24T00:24:31+00:00
Bug 1967767 - Use isProbabablyReadable properly to keep Reader Mode and Link Preview in sync - r=txia,firefox-ai-ml-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250846
- - - - -
8a4e09fa by Serban Stanca at 2025-05-24T01:53:42+00:00
Revert "Bug 1964721 - Do not cancel an autoscroll animation when starting a touchpad hold gesture. r=hiro" for causing mochitests failures in browser_bug295977_autoscroll_overflow.js.
This reverts commit edd8eb8c9a497f60ade79cb701ff814f4b986f21.
- - - - -
8c16c781 by Luca Greco at 2025-05-24T01:53:46+00:00
Bug 1954557 - Keep system-signed upgrades to builtin add-on version on app version upgrades, reset system-signed set on app version downgrades. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D247069
- - - - -
ab25e704 by Luca Greco at 2025-05-24T01:53:49+00:00
Bug 1954557 - Hide invalid addons in system-addons location selectively. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D247070
- - - - -
31ecfeb9 by Serban Stanca at 2025-05-24T01:53:53+00:00
Revert "Bug 1968202 - Generalize GlobalStyleSheetCache to support author stylesheets. r=smaug" for causing wpt failures in prefetch-transfer-size-executor.html.
This reverts commit e2ac38c2a8a6cca068b3e507bc9d640fc1914bd6.
- - - - -
a983fda6 by Serban Stanca at 2025-05-24T01:53:56+00:00
Revert "Bug 1967692 - Generate error_list.json from ErrorList.py r=Standard8" for causing eslint failures.
This reverts commit 87043fd8c70778d63ca878c1f23fdd0a4f82fd93.
- - - - -
f69aae85 by Aaron Train at 2025-05-24T02:00:21+00:00
Bug 1968321 - Exclude Fenix UI efficiency tests from running for now on detect-leak task r=jajohnson
Differential Revision: https://phabricator.services.mozilla.com/D251038
- - - - -
78afffaa by Beth Rennie at 2025-05-24T02:33:44+00:00
Bug 1956080 - Add a migration to copy existing enrollments to the NimbusEnrollments table r=jhirsch,nimbus-reviewers,relud,Gijs
We now copy all existing enrollments to the NimbusEnrollments table
during a migration after the ExperimentStore is initialized but before
we initialize the `ExperimentManager` (i.e., call `onStartup()`). This
migration has to happen at this very specific point because calling
`ExperimentManager.onStartup()` will process any existing enrollments
and may cause unenrollments. This patch does not add support for
updating enrollments in the database (see the next patch in this
series), but for that to happen, the enrollments must already exist in
the database.
`NimbusTestUtils.factories.recipe()` now returns more realistic recipes
(with properties being `null` instead of missing). This surfaced a
minor bug in the `EnrollmentsContext` validation flow when validation
was disabled and the recipe had localizations, but this should never
have been a problem in reality because validation is always enabled in
practice.
Because Nimbus is used in so many xpcshell tests and it is currently
cumbersome to enable the ProfileDatastoreService in every one of those
tests, writing to the new database is controlled by the
`nimbus.profiledatastoreservice.enabled` pref, which is true by default
but false in xpcshell tests.
Differential Revision: https://phabricator.services.mozilla.com/D249467
- - - - -
cc384cbe by Beth Rennie at 2025-05-24T02:33:48+00:00
Bug 1956080 - Write enrollment updates to the NimbusEnrollments table r=jhirsch,nimbus-reviewers,relud,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D249472
- - - - -
bab4c41c by Beth Rennie at 2025-05-24T02:33:52+00:00
Bug 1956080 - Add telemetry about database writes r=nimbus-reviewers,relud,chumphreys
Differential Revision: https://phabricator.services.mozilla.com/D250806
- - - - -
fbdc4cb0 by Tim Xia at 2025-05-24T02:51:15+00:00
Bug 1961212 - onboarding to introduce link preview - r=Mardak,fluent-reviewers,firefox-ai-ml-reviewers,bolsson
- entrypoint logic
- add close button
- update text and image on onboarding card
- don't re-render card if user hover around different urls
- use -panel-color for .og-card-title and .og-card-description
- add telemetry and tests
- add browser_link_preview_onboarding.js
- add link-preview-card-onboarding.css
- update failure message for failed test wait statement
- remove alt text for onboarding image
- refactor panel rendering code to initOrResetPreviewPanel
- refactor _onLinkPreview() to switch between linkpreview and onboarding card directly
- add openAtCurrentLocation
- add telemetry tests and onboarding test
- avoid adding multiple listeners
- replace without hide and reopen
Differential Revision: https://phabricator.services.mozilla.com/D249855
- - - - -
4df54ad1 by iulian moraru at 2025-05-24T03:33:14+00:00
Revert "Bug 1956080 - Add telemetry about database writes r=nimbus-reviewers,relud,chumphreys" for causing multiple bc failures.
This reverts commit 53b0e55e9e56ad2289b6e6c3bebbabb9c0dcd8b0.
Revert "Bug 1956080 - Write enrollment updates to the NimbusEnrollments table r=jhirsch,nimbus-reviewers,relud,nalexander"
This reverts commit 128370986eea7bceeeef34fbb0c1c60d8d7a56df.
Revert "Bug 1956080 - Add a migration to copy existing enrollments to the NimbusEnrollments table r=jhirsch,nimbus-reviewers,relud,Gijs"
This reverts commit 0bbb1c3d7ad772f86708109f6cae5b060cf94d61.
- - - - -
2fc84c3d by Ed Lee at 2025-05-24T06:17:12+00:00
Bug 1965588 - migrate link preview labs users expecting shift-alt and feature enabled for end of labs rollout r=txia,firefox-ai-ml-reviewers
Detect labs enrollment to keep enabled once and keep shift-alt shortcut with legacy prefs. Support prefs like chatbot.
Differential Revision: https://phabricator.services.mozilla.com/D250912
- - - - -
7126be53 by Release Engineering Landoscript at 2025-05-24T06:50:12+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> e6fedce085d0b0b0badba823ae38886b061332a0
af -> e6fedce085d0b0b0badba823ae38886b061332a0
an -> e6fedce085d0b0b0badba823ae38886b061332a0
ar -> e6fedce085d0b0b0badba823ae38886b061332a0
ast -> e6fedce085d0b0b0badba823ae38886b061332a0
az -> e6fedce085d0b0b0badba823ae38886b061332a0
be -> e6fedce085d0b0b0badba823ae38886b061332a0
bg -> e6fedce085d0b0b0badba823ae38886b061332a0
bn -> e6fedce085d0b0b0badba823ae38886b061332a0
bo -> e6fedce085d0b0b0badba823ae38886b061332a0
br -> e6fedce085d0b0b0badba823ae38886b061332a0
brx -> e6fedce085d0b0b0badba823ae38886b061332a0
bs -> e6fedce085d0b0b0badba823ae38886b061332a0
ca -> e6fedce085d0b0b0badba823ae38886b061332a0
ca-valencia -> e6fedce085d0b0b0badba823ae38886b061332a0
cak -> e6fedce085d0b0b0badba823ae38886b061332a0
ckb -> e6fedce085d0b0b0badba823ae38886b061332a0
cs -> e6fedce085d0b0b0badba823ae38886b061332a0
cy -> e6fedce085d0b0b0badba823ae38886b061332a0
da -> e6fedce085d0b0b0badba823ae38886b061332a0
de -> e6fedce085d0b0b0badba823ae38886b061332a0
dsb -> e6fedce085d0b0b0badba823ae38886b061332a0
el -> e6fedce085d0b0b0badba823ae38886b061332a0
en-CA -> e6fedce085d0b0b0badba823ae38886b061332a0
en-GB -> e6fedce085d0b0b0badba823ae38886b061332a0
eo -> e6fedce085d0b0b0badba823ae38886b061332a0
es-AR -> e6fedce085d0b0b0badba823ae38886b061332a0
es-CL -> e6fedce085d0b0b0badba823ae38886b061332a0
es-ES -> e6fedce085d0b0b0badba823ae38886b061332a0
es-MX -> e6fedce085d0b0b0badba823ae38886b061332a0
et -> e6fedce085d0b0b0badba823ae38886b061332a0
eu -> e6fedce085d0b0b0badba823ae38886b061332a0
fa -> e6fedce085d0b0b0badba823ae38886b061332a0
ff -> e6fedce085d0b0b0badba823ae38886b061332a0
fi -> e6fedce085d0b0b0badba823ae38886b061332a0
fr -> e6fedce085d0b0b0badba823ae38886b061332a0
fur -> e6fedce085d0b0b0badba823ae38886b061332a0
fy-NL -> e6fedce085d0b0b0badba823ae38886b061332a0
ga-IE -> e6fedce085d0b0b0badba823ae38886b061332a0
gd -> e6fedce085d0b0b0badba823ae38886b061332a0
gl -> e6fedce085d0b0b0badba823ae38886b061332a0
gn -> e6fedce085d0b0b0badba823ae38886b061332a0
gu-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
he -> e6fedce085d0b0b0badba823ae38886b061332a0
hi-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
hr -> e6fedce085d0b0b0badba823ae38886b061332a0
hsb -> e6fedce085d0b0b0badba823ae38886b061332a0
hu -> e6fedce085d0b0b0badba823ae38886b061332a0
hy-AM -> e6fedce085d0b0b0badba823ae38886b061332a0
hye -> e6fedce085d0b0b0badba823ae38886b061332a0
ia -> e6fedce085d0b0b0badba823ae38886b061332a0
id -> e6fedce085d0b0b0badba823ae38886b061332a0
is -> e6fedce085d0b0b0badba823ae38886b061332a0
it -> e6fedce085d0b0b0badba823ae38886b061332a0
ja -> e6fedce085d0b0b0badba823ae38886b061332a0
ja-JP-mac -> e6fedce085d0b0b0badba823ae38886b061332a0
ka -> e6fedce085d0b0b0badba823ae38886b061332a0
kab -> e6fedce085d0b0b0badba823ae38886b061332a0
kk -> e6fedce085d0b0b0badba823ae38886b061332a0
km -> e6fedce085d0b0b0badba823ae38886b061332a0
kn -> e6fedce085d0b0b0badba823ae38886b061332a0
ko -> e6fedce085d0b0b0badba823ae38886b061332a0
lij -> e6fedce085d0b0b0badba823ae38886b061332a0
lo -> e6fedce085d0b0b0badba823ae38886b061332a0
lt -> e6fedce085d0b0b0badba823ae38886b061332a0
ltg -> e6fedce085d0b0b0badba823ae38886b061332a0
lv -> e6fedce085d0b0b0badba823ae38886b061332a0
meh -> e6fedce085d0b0b0badba823ae38886b061332a0
mk -> e6fedce085d0b0b0badba823ae38886b061332a0
ml -> e6fedce085d0b0b0badba823ae38886b061332a0
mr -> e6fedce085d0b0b0badba823ae38886b061332a0
ms -> e6fedce085d0b0b0badba823ae38886b061332a0
my -> e6fedce085d0b0b0badba823ae38886b061332a0
nb-NO -> e6fedce085d0b0b0badba823ae38886b061332a0
ne-NP -> e6fedce085d0b0b0badba823ae38886b061332a0
nl -> e6fedce085d0b0b0badba823ae38886b061332a0
nn-NO -> e6fedce085d0b0b0badba823ae38886b061332a0
oc -> e6fedce085d0b0b0badba823ae38886b061332a0
pa-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
pl -> e6fedce085d0b0b0badba823ae38886b061332a0
pt-BR -> e6fedce085d0b0b0badba823ae38886b061332a0
pt-PT -> e6fedce085d0b0b0badba823ae38886b061332a0
rm -> e6fedce085d0b0b0badba823ae38886b061332a0
ro -> e6fedce085d0b0b0badba823ae38886b061332a0
ru -> e6fedce085d0b0b0badba823ae38886b061332a0
sat -> e6fedce085d0b0b0badba823ae38886b061332a0
sc -> e6fedce085d0b0b0badba823ae38886b061332a0
scn -> e6fedce085d0b0b0badba823ae38886b061332a0
sco -> e6fedce085d0b0b0badba823ae38886b061332a0
si -> e6fedce085d0b0b0badba823ae38886b061332a0
sk -> e6fedce085d0b0b0badba823ae38886b061332a0
skr -> e6fedce085d0b0b0badba823ae38886b061332a0
sl -> e6fedce085d0b0b0badba823ae38886b061332a0
son -> e6fedce085d0b0b0badba823ae38886b061332a0
sq -> e6fedce085d0b0b0badba823ae38886b061332a0
sr -> e6fedce085d0b0b0badba823ae38886b061332a0
sv-SE -> e6fedce085d0b0b0badba823ae38886b061332a0
szl -> e6fedce085d0b0b0badba823ae38886b061332a0
ta -> e6fedce085d0b0b0badba823ae38886b061332a0
te -> e6fedce085d0b0b0badba823ae38886b061332a0
tg -> e6fedce085d0b0b0badba823ae38886b061332a0
th -> e6fedce085d0b0b0badba823ae38886b061332a0
tl -> e6fedce085d0b0b0badba823ae38886b061332a0
tr -> e6fedce085d0b0b0badba823ae38886b061332a0
trs -> e6fedce085d0b0b0badba823ae38886b061332a0
uk -> e6fedce085d0b0b0badba823ae38886b061332a0
ur -> e6fedce085d0b0b0badba823ae38886b061332a0
uz -> e6fedce085d0b0b0badba823ae38886b061332a0
vi -> e6fedce085d0b0b0badba823ae38886b061332a0
wo -> e6fedce085d0b0b0badba823ae38886b061332a0
xh -> e6fedce085d0b0b0badba823ae38886b061332a0
zh-CN -> e6fedce085d0b0b0badba823ae38886b061332a0
zh-TW -> e6fedce085d0b0b0badba823ae38886b061332a0
- - - - -
b986e7e7 by Release Engineering Landoscript at 2025-05-24T06:50:16+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> e6fedce085d0b0b0badba823ae38886b061332a0
an -> e6fedce085d0b0b0badba823ae38886b061332a0
ar -> e6fedce085d0b0b0badba823ae38886b061332a0
ast -> e6fedce085d0b0b0badba823ae38886b061332a0
az -> e6fedce085d0b0b0badba823ae38886b061332a0
be -> e6fedce085d0b0b0badba823ae38886b061332a0
bg -> e6fedce085d0b0b0badba823ae38886b061332a0
bn -> e6fedce085d0b0b0badba823ae38886b061332a0
br -> e6fedce085d0b0b0badba823ae38886b061332a0
bs -> e6fedce085d0b0b0badba823ae38886b061332a0
ca -> e6fedce085d0b0b0badba823ae38886b061332a0
cak -> e6fedce085d0b0b0badba823ae38886b061332a0
cs -> e6fedce085d0b0b0badba823ae38886b061332a0
cy -> e6fedce085d0b0b0badba823ae38886b061332a0
da -> e6fedce085d0b0b0badba823ae38886b061332a0
de -> e6fedce085d0b0b0badba823ae38886b061332a0
dsb -> e6fedce085d0b0b0badba823ae38886b061332a0
el -> e6fedce085d0b0b0badba823ae38886b061332a0
en-CA -> e6fedce085d0b0b0badba823ae38886b061332a0
en-GB -> e6fedce085d0b0b0badba823ae38886b061332a0
eo -> e6fedce085d0b0b0badba823ae38886b061332a0
es-AR -> e6fedce085d0b0b0badba823ae38886b061332a0
es-CL -> e6fedce085d0b0b0badba823ae38886b061332a0
es-ES -> e6fedce085d0b0b0badba823ae38886b061332a0
es-MX -> e6fedce085d0b0b0badba823ae38886b061332a0
et -> e6fedce085d0b0b0badba823ae38886b061332a0
eu -> e6fedce085d0b0b0badba823ae38886b061332a0
fa -> e6fedce085d0b0b0badba823ae38886b061332a0
ff -> e6fedce085d0b0b0badba823ae38886b061332a0
fi -> e6fedce085d0b0b0badba823ae38886b061332a0
fr -> e6fedce085d0b0b0badba823ae38886b061332a0
fy-NL -> e6fedce085d0b0b0badba823ae38886b061332a0
ga-IE -> e6fedce085d0b0b0badba823ae38886b061332a0
gd -> e6fedce085d0b0b0badba823ae38886b061332a0
gl -> e6fedce085d0b0b0badba823ae38886b061332a0
gn -> e6fedce085d0b0b0badba823ae38886b061332a0
gu-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
he -> e6fedce085d0b0b0badba823ae38886b061332a0
hi-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
hr -> e6fedce085d0b0b0badba823ae38886b061332a0
hsb -> e6fedce085d0b0b0badba823ae38886b061332a0
hu -> e6fedce085d0b0b0badba823ae38886b061332a0
hy-AM -> e6fedce085d0b0b0badba823ae38886b061332a0
ia -> e6fedce085d0b0b0badba823ae38886b061332a0
id -> e6fedce085d0b0b0badba823ae38886b061332a0
is -> e6fedce085d0b0b0badba823ae38886b061332a0
it -> e6fedce085d0b0b0badba823ae38886b061332a0
ja -> e6fedce085d0b0b0badba823ae38886b061332a0
ka -> e6fedce085d0b0b0badba823ae38886b061332a0
kab -> e6fedce085d0b0b0badba823ae38886b061332a0
kk -> e6fedce085d0b0b0badba823ae38886b061332a0
km -> e6fedce085d0b0b0badba823ae38886b061332a0
kn -> e6fedce085d0b0b0badba823ae38886b061332a0
ko -> e6fedce085d0b0b0badba823ae38886b061332a0
lij -> e6fedce085d0b0b0badba823ae38886b061332a0
lo -> e6fedce085d0b0b0badba823ae38886b061332a0
lt -> e6fedce085d0b0b0badba823ae38886b061332a0
ltg -> e6fedce085d0b0b0badba823ae38886b061332a0
lv -> e6fedce085d0b0b0badba823ae38886b061332a0
meh -> e6fedce085d0b0b0badba823ae38886b061332a0
mix -> e6fedce085d0b0b0badba823ae38886b061332a0
ml -> e6fedce085d0b0b0badba823ae38886b061332a0
mr -> e6fedce085d0b0b0badba823ae38886b061332a0
ms -> e6fedce085d0b0b0badba823ae38886b061332a0
my -> e6fedce085d0b0b0badba823ae38886b061332a0
nb-NO -> e6fedce085d0b0b0badba823ae38886b061332a0
ne-NP -> e6fedce085d0b0b0badba823ae38886b061332a0
nl -> e6fedce085d0b0b0badba823ae38886b061332a0
nn-NO -> e6fedce085d0b0b0badba823ae38886b061332a0
oc -> e6fedce085d0b0b0badba823ae38886b061332a0
pa-IN -> e6fedce085d0b0b0badba823ae38886b061332a0
pl -> e6fedce085d0b0b0badba823ae38886b061332a0
pt-BR -> e6fedce085d0b0b0badba823ae38886b061332a0
pt-PT -> e6fedce085d0b0b0badba823ae38886b061332a0
rm -> e6fedce085d0b0b0badba823ae38886b061332a0
ro -> e6fedce085d0b0b0badba823ae38886b061332a0
ru -> e6fedce085d0b0b0badba823ae38886b061332a0
sk -> e6fedce085d0b0b0badba823ae38886b061332a0
sl -> e6fedce085d0b0b0badba823ae38886b061332a0
son -> e6fedce085d0b0b0badba823ae38886b061332a0
sq -> e6fedce085d0b0b0badba823ae38886b061332a0
sr -> e6fedce085d0b0b0badba823ae38886b061332a0
sv-SE -> e6fedce085d0b0b0badba823ae38886b061332a0
ta -> e6fedce085d0b0b0badba823ae38886b061332a0
te -> e6fedce085d0b0b0badba823ae38886b061332a0
th -> e6fedce085d0b0b0badba823ae38886b061332a0
tl -> e6fedce085d0b0b0badba823ae38886b061332a0
tr -> e6fedce085d0b0b0badba823ae38886b061332a0
trs -> e6fedce085d0b0b0badba823ae38886b061332a0
uk -> e6fedce085d0b0b0badba823ae38886b061332a0
ur -> e6fedce085d0b0b0badba823ae38886b061332a0
uz -> e6fedce085d0b0b0badba823ae38886b061332a0
vi -> e6fedce085d0b0b0badba823ae38886b061332a0
wo -> e6fedce085d0b0b0badba823ae38886b061332a0
xh -> e6fedce085d0b0b0badba823ae38886b061332a0
zam -> e6fedce085d0b0b0badba823ae38886b061332a0
zh-CN -> e6fedce085d0b0b0badba823ae38886b061332a0
zh-TW -> e6fedce085d0b0b0badba823ae38886b061332a0
- - - - -
2e6be62b by Nicolas Chevobbe at 2025-05-24T08:30:53+00:00
Bug 1327973 - [devtools] Remove count/score sort in markup/style editor autocomplete suggestions. r=devtools-reviewers,jdescottes.
The suggestions were sorted by the number of element matching the item, which could
be confusing and get in the way of the user when they wanted to search for the
least used version.
We now sort the suggestions by "type" (id, class, tag, …), and then, within those
groups, alphabetically.
Differential Revision: https://phabricator.services.mozilla.com/D249768
- - - - -
bae72999 by Nicolas Chevobbe at 2025-05-24T08:30:56+00:00
Bug 1542277 - [devtools] Fix Inspector search autocomplete when using selector search with pseudo selectors. r=devtools-reviewers,jdescottes.
This patch adds support for the "pseudo" selector state in the inspector search,
which is already handled in the server (in WalkerActor#getSuggestionsForQuery).
Differential Revision: https://phabricator.services.mozilla.com/D250896
- - - - -
5e6ef2d0 by Masayuki Nakano at 2025-05-24T08:51:34+00:00
Bug 1968231 - Update WPT meta file of `pointerevent_after_target_appended.html` for late beta builds r=smaug
I don't remember why only this behavior is different between late beta
and early beta though. Now, the test result does not depend on the
condition anyway.
Differential Revision: https://phabricator.services.mozilla.com/D251092
- - - - -
19434e98 by Emilio Cobos Álvarez at 2025-05-24T10:14:39+00:00
Bug 1967931 - Avoid blocking rendering for devtools pauses. r=smaug,devtools-reviewers,nchevobbe
This regresses browser_dbg-scroll-run-to-completion.js, but I think we
should either suppress rendering or not suppress it, not doing some
weird in-between thing. So for now given the discussion on the bug it's
probably acceptable.
Differential Revision: https://phabricator.services.mozilla.com/D250772
- - - - -
c63a280b by Cristina Horotan at 2025-05-24T10:22:21+00:00
Revert "Bug 1961722. Make SetZeroMarginDisplayPortOnAsyncScrollableAncestors follow the parent chain like all other related code. r=botond" on request
This reverts commit a69867dc7901072fd3ec790dac5b9fbbc29fcbb7.
- - - - -
96642fe5 by Emilio Cobos Álvarez at 2025-05-24T11:27:14+00:00
Bug 1968202 - Generalize GlobalStyleSheetCache to support author stylesheets. r=smaug
In bug 1967507 I changed the timing of AnonymousContent stylesheet
loading in a way that it perturbed a css cache test because of
accessiblecaret.css
https://hg.mozilla.org/mozilla-central/rev/a6a294ae1d18
However that made me realize that accessiblecaret.css is loaded
virtually in all processes, and it should be using the same mechanism we
use for UA sheets, rather than using all the CSS loader machinery
in-content. Same goes for details.css.
Expand GlobalStyleSheetCache to allow UA and Author sheets, and allow
ShadowRoot to get built-in stylesheets appended.
This allows accessiblecaret.css and details.css not to be marked as
content-accessible.
We could do the same at the document level for plaintext.css and co, but
that seems a bit less common, so maybe fine.
Differential Revision: https://phabricator.services.mozilla.com/D250909
- - - - -
0713c1a3 by Emilio Cobos Álvarez at 2025-05-24T13:09:40+00:00
Bug 1968202 - Simplify accessiblecaret.css with nesting. r=TYLin,layout-reviewers
Somewhat drive-by clean-up.
Differential Revision: https://phabricator.services.mozilla.com/D250910
- - - - -
543e304a by John M. Schanck at 2025-05-24T13:36:26+00:00
Bug 1968161 - avoid ocsp request in intermediate preloads tests. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D251067
- - - - -
3f7dc3db by Cristina Horotan at 2025-05-24T15:25:07+00:00
Bug 1729196 - disable browser_doorhanger_generated_password.js on mac 15 and win for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D251099
- - - - -
c5e9f71a by Emilio Cobos Álvarez at 2025-05-24T15:32:39+00:00
Bug 1968391 - Fix unintended behavior change of alert notification origin. r=jfkthame
The regressing bug removed the taskbar-side-specific bits (as described
in the commit message), but unintentionally changed the default (for a
bottom taskbar) to NS_ALERT_TOP rather than 0.
Differential Revision: https://phabricator.services.mozilla.com/D251097
- - - - -
2268161f by Mark Banner at 2025-05-24T17:10:47+00:00
Bug 1881701 - Configure testing/mochitest/tests/Harness_sanity/ test setup with eslintrc-test-paths rather than its own .eslintrc.js set-up. r=frontend-codestyle-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D249944
- - - - -
a2f6b142 by Mark Banner at 2025-05-24T17:10:51+00:00
Bug 1881701 - Rename many ESLint files to use .mjs. r=frontend-codestyle-reviewers,perftest-reviewers,Gijs,sparky,webcompat-reviewers,twisniewski
This is separate to help preserve history of the files.
Differential Revision: https://phabricator.services.mozilla.com/D249945
- - - - -
b017b085 by Mark Banner at 2025-05-24T17:10:55+00:00
Bug 1881701 - Add some utility functions to eslint-plugin-mozilla to support flat config processing. r=frontend-codestyle-reviewers,Gijs
This also sets up recommended.js to match against the required file extensions, which is needed for the configuration to work correctly.
Differential Revision: https://phabricator.services.mozilla.com/D249947
- - - - -
20152d19 by Mark Banner at 2025-05-24T17:10:59+00:00
Bug 1881701 - Change the devtools configurations to work with the ESLint flat configuration.r=devtools-reviewers,profiler-reviewers,julienw,nchevobbe
This consolidates the jest environment definition, and the xpcshell globals into the devtools/.eslintrc.mjs file, for easier configurations.
It also changes the restart of the configurations to work with flat config.
Differential Revision: https://phabricator.services.mozilla.com/D249948
- - - - -
0021e164 by Mark Banner at 2025-05-24T17:11:02+00:00
Bug 1881701 - Change new .eslintrc.mjs files to modules (browser/), and export as flat config. r=frontend-codestyle-reviewers,extension-reviewers,pip-reviewers,credential-management-reviewers,search-reviewers,places-reviewers,omc-reviewers,migration-reviewers,home-newtab-reviewers,urlbar-reviewers,aminomancer,daisuke,dimi,robwu,jteow,mconley
Differential Revision: https://phabricator.services.mozilla.com/D249949
- - - - -
8b3069fa by Mark Banner at 2025-05-24T17:11:06+00:00
Bug 1881701 - Change new .eslintrc.mjs files to modules (toolkit/), and export as flat config. r=frontend-codestyle-reviewers,extension-reviewers,credential-management-reviewers,Gijs,mossop,dimi,robwu
Differential Revision: https://phabricator.services.mozilla.com/D249950
- - - - -
f29a0c8d by Mark Banner at 2025-05-24T17:11:10+00:00
Bug 1881701 - Change new .eslintrc.mjs files to modules (misc), and export as flat config. r=frontend-codestyle-reviewers,webdriver-reviewers,perftest-reviewers,geckoview-reviewers,devtools-reviewers,sync-reviewers,android-reviewers,mossop,spidermonkey-reviewers,Gijs,ohall,whimboo,nchevobbe,arai,sparky,skhamis,webcompat-reviewers,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D249951
- - - - -
03bf4223 by Mark Banner at 2025-05-24T17:11:14+00:00
Bug 1881701 - Switch the main ESLint configuration to use the flat configuration. r=frontend-codestyle-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D249952
- - - - -
ce198bd3 by Mark Banner at 2025-05-24T17:11:17+00:00
Bug 1881701 - Change how ESLint valid/require-jsdoc configurations are applied, so that the config is applied before sub-configs. r=frontend-codestyle-reviewers,mossop
This helps fix raised issues in customizable UI code which turns rules off in its own directory.
Differential Revision: https://phabricator.services.mozilla.com/D249953
- - - - -
bdec490a by Mark Banner at 2025-05-24T17:11:21+00:00
Bug 1881701 - Fix ESLint issues shown up by improved configuration application. r=frontend-codestyle-reviewers,application-update-reviewers,credential-management-reviewers,bytesized,dimi
Differential Revision: https://phabricator.services.mozilla.com/D249954
- - - - -
572ff77c by Mark Banner at 2025-05-24T17:11:25+00:00
Bug 1881701 - Add toolkit/modules/third_party to ThirdPartyPaths.txt. r=frontend-codestyle-reviewers,mossop
Differential Revision: https://phabricator.services.mozilla.com/D249955
- - - - -
f8461a8a by Mark Banner at 2025-05-24T17:11:28+00:00
Bug 1881701 - Automatically fix new issues raised in devtools. r=devtools-reviewers,frontend-codestyle-reviewers,mossop,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D249956
- - - - -
b3a6b58e by Mark Banner at 2025-05-24T17:11:32+00:00
Bug 1881701 - Fix remainder of newly raised devtools issues after switching to the ESLint flat config. r=devtools-reviewers,frontend-codestyle-reviewers,mossop,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D249957
- - - - -
d64bb632 by Mark Banner at 2025-05-24T17:11:36+00:00
Bug 1881701 - Fix python tests related to the ESLint linter. r=linter-reviewers,frontend-codestyle-reviewers,sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D249958
- - - - -
e46bd70d by Mark Banner at 2025-05-24T17:11:39+00:00
Bug 1881701 - Move ESLint ignores and test paths to be module files as well. r=frontend-codestyle-reviewers,devtools-reviewers,Gijs,nchevobbe
This completes the moving of all the top-level configuration files to be ES modules, and named similarily.
Differential Revision: https://phabricator.services.mozilla.com/D250403
- - - - -
b2a8733d by Release Engineering Landoscript at 2025-05-24T18:52:15+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
af -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
an -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ar -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ast -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
az -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
be -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bg -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
br -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
brx -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ca -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ca-valencia -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cak -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ckb -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cy -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
da -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
de -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
dsb -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
el -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
en-CA -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
en-GB -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
eo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-AR -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-CL -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-ES -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-MX -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
et -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
eu -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fa -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ff -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fi -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fur -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fy-NL -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ga-IE -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gd -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gu-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
he -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hi-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hsb -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hu -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hy-AM -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hye -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ia -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
id -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
is -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
it -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ja -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ja-JP-mac -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ka -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kab -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
km -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ko -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lij -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lt -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ltg -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lv -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
meh -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
mk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ml -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
mr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ms -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
my -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nb-NO -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ne-NP -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nn-NO -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
oc -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pa-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pt-BR -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pt-PT -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
rm -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ro -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ru -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sat -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sc -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
scn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sco -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
si -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
skr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
son -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sq -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sv-SE -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
szl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ta -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
te -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
tg -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
th -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
tl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
tr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
trs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
uk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ur -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
uz -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
vi -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
wo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
xh -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
zh-CN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
zh-TW -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
- - - - -
1a101ff6 by Release Engineering Landoscript at 2025-05-24T18:52:18+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
an -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ar -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ast -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
az -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
be -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bg -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
br -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
bs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ca -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cak -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
cy -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
da -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
de -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
dsb -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
el -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
en-CA -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
en-GB -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
eo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-AR -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-CL -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-ES -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
es-MX -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
et -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
eu -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fa -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ff -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fi -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
fy-NL -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ga-IE -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gd -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
gu-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
he -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hi-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hsb -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hu -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
hy-AM -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ia -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
id -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
is -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
it -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ja -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ka -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kab -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
km -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
kn -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ko -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lij -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lt -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ltg -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
lv -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
meh -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
mix -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ml -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
mr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ms -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
my -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nb-NO -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ne-NP -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
nn-NO -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
oc -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pa-IN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pt-BR -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
pt-PT -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
rm -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ro -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ru -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
son -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sq -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
sv-SE -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ta -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
te -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
th -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
tl -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
tr -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
trs -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
uk -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
ur -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
uz -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
vi -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
wo -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
xh -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
zam -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
zh-CN -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
zh-TW -> dfb60df493894fcce07f48f7a4a09e9a372f47f4
- - - - -
d40366df by Masayuki Nakano at 2025-05-24T23:37:50+00:00
Bug 1909020 - Make `createDragEventObject()` in `EventUtils.js` aware of HiDPI environments r=smaug
`synthesizePlainDragAndDrop()` sends `drop` event [1] via `PresShell` [2].
Then, the `screenX` and `screenY` values are set to
`WidgetEvent::mRefPoint` [3]. Then, the `drop` event's position is
recorded before dispatch [4]. So, `drop` event is fired on the target
but the `mRefPoint` may be outside the target. Finally, synthesized
`eMouseMove` after `eDrop` will be fired on the wrong element which is
different from `eDrop`'s target. This caused the failures of
`test_synthmousemove_after_dnd.html` and `test_dragdrop.html` on Android.
Perhaps, we should improve `nsDOMWindowUtils` or something lower layer
later. Instead, this patch fixes in `EventUtils.js` level. This makes
the `createDragEventObject()`.
1. https://searchfox.org/mozilla-central/rev/6a72a6d20eeb1b20b93862a79166938d6…
2. https://searchfox.org/mozilla-central/rev/6a72a6d20eeb1b20b93862a79166938d6…
3. https://searchfox.org/mozilla-central/rev/6a72a6d20eeb1b20b93862a79166938d6…
4. https://searchfox.org/mozilla-central/rev/6a72a6d20eeb1b20b93862a79166938d6…
Differential Revision: https://phabricator.services.mozilla.com/D251091
- - - - -
7eea88f6 by Release Engineering Landoscript at 2025-05-25T00:16:55+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
503f2554 by Release Engineering Landoscript at 2025-05-25T06:56:08+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
af -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
an -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ar -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ast -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
az -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
be -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bg -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
br -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
brx -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ca -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ca-valencia -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cak -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ckb -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cy -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
da -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
de -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
dsb -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
el -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
en-CA -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
en-GB -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
eo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-AR -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-CL -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-ES -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-MX -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
et -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
eu -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fa -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ff -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fi -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fur -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fy-NL -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ga-IE -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gd -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gu-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
he -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hi-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hsb -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hu -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hy-AM -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hye -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ia -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
id -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
is -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
it -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ja -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ja-JP-mac -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ka -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kab -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
km -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ko -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lij -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lt -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ltg -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lv -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
meh -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
mk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ml -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
mr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ms -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
my -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nb-NO -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ne-NP -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nn-NO -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
oc -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pa-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pt-BR -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pt-PT -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
rm -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ro -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ru -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sat -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sc -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
scn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sco -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
si -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
skr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
son -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sq -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sv-SE -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
szl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ta -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
te -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
tg -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
th -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
tl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
tr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
trs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
uk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ur -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
uz -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
vi -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
wo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
xh -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
zh-CN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
zh-TW -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
- - - - -
5f1f7697 by Release Engineering Landoscript at 2025-05-25T06:56:12+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
an -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ar -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ast -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
az -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
be -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bg -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
br -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
bs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ca -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cak -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
cy -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
da -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
de -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
dsb -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
el -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
en-CA -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
en-GB -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
eo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-AR -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-CL -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-ES -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
es-MX -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
et -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
eu -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fa -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ff -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fi -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
fy-NL -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ga-IE -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gd -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
gu-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
he -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hi-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hsb -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hu -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
hy-AM -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ia -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
id -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
is -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
it -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ja -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ka -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kab -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
km -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
kn -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ko -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lij -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lt -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ltg -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
lv -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
meh -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
mix -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ml -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
mr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ms -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
my -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nb-NO -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ne-NP -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
nn-NO -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
oc -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pa-IN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pt-BR -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
pt-PT -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
rm -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ro -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ru -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
son -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sq -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
sv-SE -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ta -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
te -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
th -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
tl -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
tr -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
trs -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
uk -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
ur -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
uz -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
vi -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
wo -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
xh -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
zam -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
zh-CN -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
zh-TW -> 367f0ff36c351a0eb3b2751e7e65aad45c3a149f
- - - - -
a287c031 by Nicolas Chevobbe at 2025-05-25T09:30:55+00:00
Bug 1967673 - [devtools] Don't omit valid safe getter undefined values in _findSafeGetterValues. r=devtools-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D250613
- - - - -
1219 changed files:
- .cargo/config.toml.in
- − .eslintrc.js
- .prettierignore
- Cargo.lock
- Cargo.toml
- − accessible/tests/browser/.eslintrc.js
- + accessible/tests/browser/.eslintrc.mjs
- accessible/tests/browser/tree/browser.toml
- − accessible/tests/mochitest/.eslintrc.js
- + accessible/tests/mochitest/.eslintrc.mjs
- − browser/.eslintrc.js
- + browser/.eslintrc.mjs
- browser/app/profile/firefox.js
- browser/base/content/test/keyboard/browser_toolbarButtonKeyPress.js
- browser/base/content/test/keyboard/browser_toolbarKeyNav.js
- browser/base/content/test/sync/browser_contextmenu_sendpage.js
- − browser/base/content/test/webextensions/.eslintrc.js
- + browser/base/content/test/webextensions/.eslintrc.mjs
- browser/components/pocket/.eslintrc.js → browser/components/.eslintrc.mjs
- devtools/client/memory/.eslintrc.js → browser/components/aboutlogins/tests/chrome/.eslintrc.mjs
- − browser/components/aboutwelcome/.eslintrc.js
- + browser/components/aboutwelcome/.eslintrc.mjs
- browser/components/aboutwelcome/content/aboutwelcome.bundle.js
- browser/components/aboutwelcome/package-lock.json
- browser/components/aboutwelcome/package.json
- − browser/components/asrouter/.eslintrc.js
- + browser/components/asrouter/.eslintrc.mjs
- browser/components/asrouter/content/asrouter-admin.bundle.js
- browser/components/asrouter/package-lock.json
- browser/components/asrouter/package.json
- browser/components/customizableui/.eslintrc.js → browser/components/customizableui/.eslintrc.mjs
- + browser/components/customizableui/content/.eslintrc.mjs
- browser/components/customizableui/test/browser_1701883_restore_defaults_pocket_pref.js
- browser/components/customizableui/test/browser_remote_attribute.js
- browser/components/enterprisepolicies/tests/browser/browser_policy_disable_pocket.js
- − browser/components/enterprisepolicies/tests/xpcshell/.eslintrc.js
- + browser/components/enterprisepolicies/tests/xpcshell/.eslintrc.mjs
- browser/components/search/.eslintrc.js → browser/components/extensions/.eslintrc.mjs
- + browser/components/extensions/child/.eslintrc.mjs
- − browser/components/extensions/parent/.eslintrc.js
- + browser/components/extensions/parent/.eslintrc.mjs
- − browser/components/extensions/test/browser/.eslintrc.js
- + browser/components/extensions/test/browser/.eslintrc.mjs
- − browser/components/extensions/test/mochitest/.eslintrc.js
- + browser/components/extensions/test/mochitest/.eslintrc.mjs
- − browser/components/extensions/test/xpcshell/.eslintrc.js
- + browser/components/extensions/test/xpcshell/.eslintrc.mjs
- browser/components/genai/LinkPreview.sys.mjs
- browser/components/genai/LinkPreviewChild.sys.mjs
- + browser/components/genai/assets/onboarding-link-preview-image.svg
- third_party/rust/error-support/build.rs → browser/components/genai/content/link-preview-card-onboarding.css
- + browser/components/genai/content/link-preview-card-onboarding.mjs
- browser/components/genai/content/link-preview-card.css
- browser/components/genai/metrics.yaml
- browser/components/genai/tests/browser/browser.toml
- browser/components/genai/tests/browser/browser_link_preview.js
- + browser/components/genai/tests/browser/browser_link_preview_nimbus.js
- + browser/components/genai/tests/browser/browser_link_preview_onboarding.js
- browser/components/genai/tests/browser/browser_link_preview_telemetry.js
- − browser/components/migration/.eslintrc.js
- + browser/components/migration/.eslintrc.mjs
- browser/components/pagedata/.eslintrc.js → browser/components/pagedata/.eslintrc.mjs
- + browser/components/pocket/.eslintrc.mjs
- browser/components/pocket/test/browser.toml
- browser/components/preferences/home.inc.xhtml
- − browser/components/resistfingerprinting/test/mochitest/.eslintrc.js
- devtools/client/shared/components/.eslintrc.js → browser/components/resistfingerprinting/test/mochitest/.eslintrc.mjs
- browser/components/resistfingerprinting/test/mochitest/mochitest.toml
- mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.js → browser/components/search/.eslintrc.mjs
- browser/components/search/test/browser/telemetry/browser.toml
- browser/components/sessionstore/test/browser_oldformat.toml
- browser/components/uitour/test/browser.toml
- browser/components/urlbar/.eslintrc.js → browser/components/urlbar/.eslintrc.mjs
- browser/components/urlbar/UrlbarView.sys.mjs
- browser/components/urlbar/content/enUS-searchFeatures.ftl
- browser/components/urlbar/metrics.yaml
- browser/components/urlbar/pings.yaml
- browser/components/urlbar/private/AmpSuggestions.sys.mjs
- browser/components/urlbar/private/GeolocationUtils.sys.mjs
- browser/components/urlbar/private/MDNSuggestions.sys.mjs
- browser/components/urlbar/private/WeatherSuggestions.sys.mjs
- browser/components/urlbar/private/YelpSuggestions.sys.mjs
- browser/components/urlbar/tests/browser/browser_UrlbarInput_searchTerms_revert_keyboard.js
- browser/components/urlbar/tests/quicksuggest/MerinoTestUtils.sys.mjs
- browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs
- browser/components/urlbar/tests/quicksuggest/RemoteSettingsServer.sys.mjs
- browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_fakespot.js
- browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_yelp.js
- browser/components/urlbar/tests/quicksuggest/browser/head.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_yelp.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_yelp_ml.js
- browser/components/urlbar/tests/quicksuggest/unit/test_weather.js
- browser/docs/CategoryManagerIndirection.md
- browser/extensions/formautofill/test/browser/address/browser.toml
- browser/extensions/formautofill/test/browser/browser.toml
- browser/extensions/formautofill/test/browser/creditCard/browser.toml
- browser/extensions/formautofill/test/browser/heuristics/third_party/browser_Euronics.js
- browser/extensions/formautofill/test/browser/heuristics/third_party/browser_Inkbox.js
- browser/extensions/formautofill/test/mochitest/creditCard/mochitest.toml
- − browser/extensions/newtab/.eslintrc.js
- + browser/extensions/newtab/.eslintrc.mjs
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardGrid/CardGrid.jsx
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardSections/_CardSections.scss
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/DSCard/DSCard.jsx
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/DSCard/_DSCard.scss
- browser/extensions/newtab/css/activity-stream.css
- browser/extensions/newtab/data/content/activity-stream.bundle.js
- browser/extensions/newtab/karma.mc.config.js
- browser/extensions/newtab/lib/AboutPreferences.sys.mjs
- browser/extensions/newtab/lib/SectionsManager.sys.mjs
- browser/extensions/newtab/package-lock.json
- browser/extensions/newtab/package.json
- browser/extensions/newtab/test/unit/lib/AboutPreferences.test.js
- − browser/extensions/pictureinpicture/tests/browser/.eslintrc.js
- + browser/extensions/pictureinpicture/tests/browser/.eslintrc.mjs
- − browser/extensions/search-detection/tests/browser/.eslintrc.js
- + browser/extensions/search-detection/tests/browser/.eslintrc.mjs
- browser/extensions/webcompat/tests/browser/browser.toml
- browser/locales-preview/linkPreview.ftl
- browser/locales/en-US/browser/browser.ftl
- browser/locales/en-US/browser/browserContext.ftl
- browser/locales/en-US/browser/preferences/preferences.ftl
- browser/locales/l10n-changesets.json
- browser/themes/shared/pageInfo.css
- build/moz.configure/nss.configure
- − devtools/.eslintrc.js
- + devtools/.eslintrc.mjs
- − devtools/.eslintrc.xpcshell.js
- devtools/client/.eslintrc.js → devtools/client/.eslintrc.mjs
- devtools/client/aboutdebugging/test/browser/browser.toml
- devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_devtoolstoolbox_navigate_back_forward.js
- − devtools/client/aboutdebugging/test/node/.eslintrc.js
- − devtools/client/aboutdebugging/test/xpcshell/.eslintrc.js
- devtools/client/accessibility/test/browser/browser.toml
- devtools/client/application/test/browser/browser.toml
- − devtools/client/application/test/node/.eslintrc.js
- − devtools/client/application/test/xpcshell/.eslintrc.js
- − devtools/client/debugger/src/.eslintrc.js
- + devtools/client/debugger/src/.eslintrc.mjs
- devtools/client/debugger/src/actions/file-search.js
- devtools/client/debugger/src/actions/navigation.js
- devtools/client/debugger/src/actions/tabs.js
- devtools/client/debugger/src/actions/threads.js
- devtools/client/debugger/src/client/firefox.js
- − devtools/client/debugger/src/components/Editor/BlackboxLines.js
- − devtools/client/debugger/src/components/Editor/Breakpoint.js
- devtools/client/debugger/src/components/Editor/Breakpoints.js
- − devtools/client/debugger/src/components/Editor/ColumnBreakpoint.js
- devtools/client/debugger/src/components/Editor/ColumnBreakpoints.js
- devtools/client/debugger/src/components/Editor/ConditionalPanel.js
- devtools/client/debugger/src/components/Editor/DebugLine.js
- devtools/client/debugger/src/components/Editor/Editor.css
- − devtools/client/debugger/src/components/Editor/EmptyLines.js
- − devtools/client/debugger/src/components/Editor/Exception.js
- devtools/client/debugger/src/components/Editor/Exceptions.js
- devtools/client/debugger/src/components/Editor/HighlightLine.js
- devtools/client/debugger/src/components/Editor/HighlightLines.js
- − devtools/client/debugger/src/components/Editor/InlinePreviewRow.js
- devtools/client/debugger/src/components/Editor/InlinePreviews.js
- devtools/client/debugger/src/components/Editor/Preview/index.js
- devtools/client/debugger/src/components/Editor/SearchInFileBar.js
- devtools/client/debugger/src/components/Editor/index.js
- devtools/client/debugger/src/components/Editor/moz.build
- devtools/client/debugger/src/components/PrimaryPanes/ProjectSearch.js
- devtools/client/debugger/src/components/SecondaryPanes/Breakpoints/index.js
- devtools/client/debugger/src/reducers/sources-tree.js
- devtools/client/debugger/src/reducers/tracer-frames.js
- devtools/client/debugger/src/selectors/pause.js
- devtools/client/debugger/src/selectors/visibleColumnBreakpoints.js
- devtools/client/debugger/src/utils/bootstrap.js
- devtools/client/debugger/src/utils/dbg.js
- devtools/client/debugger/src/utils/editor/create-editor.js
- devtools/client/debugger/src/utils/editor/index.js
- devtools/client/debugger/src/utils/editor/moz.build
- − devtools/client/debugger/src/utils/editor/source-documents.js
- devtools/client/debugger/src/utils/editor/source-editor.css
- devtools/client/debugger/src/utils/editor/source-search.js
- devtools/client/debugger/src/utils/editor/tokens.js
- devtools/client/debugger/src/utils/moz.build
- devtools/client/debugger/src/utils/prefs.js
- devtools/client/debugger/src/utils/source.js
- − devtools/client/debugger/src/utils/wasm.js
- devtools/client/debugger/test/mochitest/browser_aj.toml
- devtools/client/debugger/test/mochitest/browser_dbg-backgroundtask-debugging.js
- devtools/client/debugger/test/mochitest/browser_dbg-breakpoints-cond-ui-state.js
- devtools/client/debugger/test/mochitest/browser_dbg-browser-toolbox-unselected-pause.js
- devtools/client/debugger/test/mochitest/browser_dbg-browser-toolbox-workers.js
- devtools/client/debugger/test/mochitest/browser_dbg-editor-horizontal-scroll.js
- devtools/client/debugger/test/mochitest/browser_dbg-editor-mode.js
- devtools/client/debugger/test/mochitest/browser_dbg-features-breakable-positions.js
- devtools/client/debugger/test/mochitest/browser_dbg-features-wasm.js
- devtools/client/debugger/test/mochitest/browser_dbg-keyboard-navigation.js
- devtools/client/debugger/test/mochitest/browser_dbg-pause-ux.js
- devtools/client/debugger/test/mochitest/browser_kz.toml
- devtools/client/debugger/test/mochitest/shared-head.js
- − devtools/client/debugger/test/xpcshell/.eslintrc.js
- − devtools/client/dom/.eslintrc.js
- + devtools/client/dom/.eslintrc.mjs
- devtools/client/framework/components/DebugTargetInfo.js
- devtools/client/framework/test/allocations/browser_allocations_browser_console.toml
- devtools/client/framework/test/browser.toml
- − devtools/client/framework/test/node/.eslintrc.js
- − devtools/client/framework/test/reload/.eslintrc.js
- devtools/client/shared/components/test/node/.eslintrc.js → devtools/client/framework/test/reload/.eslintrc.mjs
- − devtools/client/framework/test/xpcshell/.eslintrc.js
- devtools/client/inspector/animation/test/browser.toml
- devtools/client/inspector/boxmodel/test/browser.toml
- − devtools/client/inspector/changes/test/xpcshell/.eslintrc.js
- − devtools/client/inspector/compatibility/test/node/.eslintrc.js
- − devtools/client/inspector/compatibility/test/xpcshell/.eslintrc.js
- devtools/client/inspector/computed/test/browser.toml
- devtools/client/inspector/fonts/test/browser.toml
- − devtools/client/inspector/grids/test/xpcshell/.eslintrc.js
- devtools/client/inspector/inspector-search.js
- devtools/client/inspector/rules/test/browser_part1.toml
- devtools/client/inspector/test/browser.toml
- devtools/client/inspector/test/browser_inspector_search-navigation.js
- devtools/client/inspector/test/browser_inspector_search-suggests-ids-and-classes.js
- + devtools/client/inspector/test/browser_inspector_search-suggests-pseudo.js
- − devtools/client/jsonview/.eslintrc.js
- + devtools/client/jsonview/.eslintrc.mjs
- devtools/client/jsonview/test/browser.toml
- + devtools/client/memory/.eslintrc.mjs
- − devtools/client/memory/test/xpcshell/.eslintrc.js
- devtools/client/netmonitor/src/har/test/browser.toml
- − devtools/client/netmonitor/test/.eslintrc.js
- + devtools/client/netmonitor/test/.eslintrc.mjs
- devtools/client/netmonitor/test/browser.toml
- devtools/client/netmonitor/test/browser_net_duration-sort.js
- − devtools/client/netmonitor/test/xpcshell/.eslintrc.js
- − devtools/client/performance-new/.eslintrc.js
- + devtools/client/performance-new/.eslintrc.mjs
- devtools/client/performance-new/test/browser/browser.toml
- − devtools/client/performance-new/test/xpcshell/.eslintrc.js
- − devtools/client/responsive/test/xpcshell/.eslintrc.js
- devtools/client/shared/build/build-debugger.js
- devtools/client/shared/build/build.js
- + devtools/client/shared/components/.eslintrc.mjs
- devtools/client/shared/components/object-inspector/actions.js
- devtools/client/shared/components/object-inspector/components/ObjectInspector.js
- devtools/client/shared/components/object-inspector/reducer.js
- devtools/client/shared/components/object-inspector/utils/load-properties.js
- devtools/client/shared/components/object-inspector/utils/node.js
- − devtools/client/shared/redux/middleware/test/xpcshell/.eslintrc.js
- − devtools/client/shared/remote-debugging/adb/xpcshell/.eslintrc.js
- − devtools/client/shared/remote-debugging/test/xpcshell/.eslintrc.js
- devtools/client/shared/source-map-loader/test/browser/browser.toml
- devtools/client/shared/sourceeditor/css-autocompleter.js
- devtools/client/shared/sourceeditor/editor.js
- devtools/client/shared/sourceeditor/test/browser_css_autocompletion.js
- devtools/client/shared/sourceeditor/test/css_autocompletion_tests.json
- devtools/client/shared/test/browser.toml
- − devtools/client/shared/test/xpcshell/.eslintrc.js
- devtools/client/storage/test/browser.toml
- devtools/client/styleeditor/test/browser.toml
- devtools/client/webconsole/test/browser/_browser_console.toml
- devtools/client/webconsole/test/browser/_webconsole.toml
- + devtools/client/webconsole/test/browser/browser_webconsole_previewers_https.js
- devtools/client/webconsole/test/browser/head.js
- − devtools/client/webconsole/test/node/.eslintrc.js
- − devtools/client/webconsole/test/xpcshell/.eslintrc.js
- devtools/docs/contributor/contributing/eslint.md
- − devtools/platform/tests/xpcshell/.eslintrc.js
- − devtools/server/actors/compatibility/lib/test/xpcshell/.eslintrc.js
- devtools/server/actors/highlighters/paused-debugger.js
- devtools/server/actors/inspector/walker.js
- devtools/server/actors/object.js
- devtools/server/actors/object/previewers.js
- devtools/server/actors/object/property-iterator.js
- devtools/server/actors/object/utils.js
- devtools/server/actors/utils/event-loop.js
- devtools/server/actors/utils/stylesheets-manager.js
- devtools/server/tests/browser/browser.toml
- − devtools/server/tests/xpcshell/.eslintrc.js
- devtools/client/accessibility/test/node/.eslintrc.js → devtools/server/tests/xpcshell/.eslintrc.mjs
- − devtools/shared/.eslintrc.js
- + devtools/shared/.eslintrc.mjs
- devtools/shared/commands/inspector/inspector-command.js
- devtools/shared/commands/inspector/tests/browser_inspector_command_getSuggestionsForQuery.js
- devtools/shared/commands/object/object-command.js
- devtools/shared/commands/object/tests/browser_object.js
- devtools/shared/commands/resource/tests/browser.toml
- devtools/shared/commands/target-configuration/tests/browser.toml
- devtools/shared/commands/target/tests/browser.toml
- − devtools/shared/discovery/tests/xpcshell/.eslintrc.js
- − devtools/shared/heapsnapshot/tests/xpcshell/.eslintrc.js
- − devtools/shared/protocol/tests/xpcshell/.eslintrc.js
- − devtools/shared/qrcode/tests/xpcshell/.eslintrc.js
- − devtools/shared/security/tests/xpcshell/.eslintrc.js
- devtools/shared/tests/objects/AllJavascriptTypes.mjs
- devtools/shared/tests/objects/JSObjectsTestUtils.sys.mjs
- − devtools/shared/tests/xpcshell/.eslintrc.js
- − devtools/shared/transport/tests/xpcshell/.eslintrc.js
- − devtools/shared/webconsole/test/xpcshell/.eslintrc.js
- − devtools/startup/tests/xpcshell/.eslintrc.js
- docs/code-quality/lint/linters/eslint.rst
- docs/contributing/index.rst
- + docs/contributing/jujutsu.rst
- docs/rust-components/api/js/suggest.md
- docshell/base/URIFixup.sys.mjs
- docshell/test/browser/browser.toml
- − docshell/test/unit/test_URIFixup_external_protocol_fallback.js
- docshell/test/unit/xpcshell.toml
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/ShadowRoot.cpp
- dom/base/ShadowRoot.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- − dom/base/test/jsmodules/.eslintrc.js
- + dom/base/test/jsmodules/.eslintrc.mjs
- dom/base/test/mochitest.toml
- dom/canvas/test/chrome/chrome.toml
- dom/canvas/test/mochitest.toml
- dom/canvas/test/webgl-conf/generated-mochitest.toml
- dom/canvas/test/webgl-conf/mochitest-errata.toml
- dom/canvas/test/webgl-mochitest/mochitest.toml
- dom/clients/manager/ClientOpenWindowUtils.cpp
- − dom/fs/test/common/.eslintrc.js
- + dom/fs/test/common/.eslintrc.mjs
- dom/fs/test/xpcshell/worker/.eslintrc.js → dom/fs/test/mochitest/worker/.eslintrc.mjs
- dom/fs/test/mochitest/worker/.eslintrc.js → dom/fs/test/xpcshell/worker/.eslintrc.mjs
- dom/geolocation/test/mochitest/mochitest.toml
- dom/html/HTMLDetailsElement.cpp
- dom/html/test/forms/test_input_password_click_show_password_button.html
- dom/html/test/mochitest.toml
- dom/indexedDB/test/mochitest-common.toml
- − dom/media/mediasource/test/.eslintrc.js
- + dom/media/mediasource/test/.eslintrc.mjs
- dom/media/test/mochitest.toml
- dom/media/webrtc/tests/mochitests/mochitest.toml
- dom/media/webrtc/tests/mochitests/mochitest_peerconnection.toml
- dom/performance/Performance.cpp
- dom/performance/Performance.h
- dom/quota/test/modules/system/worker/.eslintrc.js → dom/quota/test/modules/system/worker/.eslintrc.mjs
- dom/system/tests/mochitest.toml
- dom/tests/browser/browser.toml
- dom/tests/mochitest/chrome/chrome.toml
- dom/tests/mochitest/gamepad/mochitest.toml
- dom/tests/mochitest/general/mochitest.toml
- dom/tests/mochitest/pointerlock/mochitest.toml
- dom/tests/mochitest/webcomponents/mochitest.toml
- dom/webauthn/tests/browser/browser.toml
- dom/webidl/Document.webidl
- dom/xslt/tests/mochitest/mochitest.toml
- editor/libeditor/tests/chrome.toml
- editor/libeditor/tests/mochitest.toml
- editor/libeditor/tests/test_dragdrop.html
- + eslint-file-globals.config.mjs
- .eslintrc-ignores.js → eslint-ignores.config.mjs
- .eslintrc-rollouts.js → eslint-rollouts.config.mjs
- + eslint-subdirs.config.mjs
- .eslintrc-test-paths.js → eslint-test-paths.config.mjs
- + eslint.config.mjs
- gfx/layers/apz/test/mochitest/browser.toml
- gfx/wr/Cargo.lock
- gfx/wr/Cargo.toml
- gradle/libs.versions.toml
- image/test/mochitest/mochitest.toml
- js/src/builtin/.eslintrc.js → js/src/builtin/.eslintrc.mjs
- js/src/frontend/EmitterScope.cpp
- js/src/frontend/EmitterScope.h
- js/src/frontend/ParseContext.h
- js/src/frontend/Parser.cpp
- js/src/frontend/SwitchEmitter.cpp
- js/src/frontend/UsingEmitter.h
- − js/src/jit-test/tests/explicit-resource-management/async-disposal-during-throw-switch-case.js
- − js/src/jit-test/tests/explicit-resource-management/await-using-in-switch.js
- − js/src/jit-test/tests/explicit-resource-management/disposal-during-non-local-jump-switch.js
- js/src/jit-test/tests/explicit-resource-management/disposal-during-non-local-jump-try.js
- − js/src/jit-test/tests/explicit-resource-management/disposal-during-throw-switch-case.js
- js/src/jit-test/tests/explicit-resource-management/disposal-errors-dont-get-caught-by-non-encl-try-catches.js
- js/src/jit-test/tests/explicit-resource-management/dispose-handling-0-disposables-in-scope.js
- js/src/jit-test/tests/explicit-resource-management/suppressed-error-handling-scopes.js
- js/src/jit-test/tests/explicit-resource-management/syntax.js
- − js/src/jit-test/tests/explicit-resource-management/using-in-switch.js
- js/src/tests/jstests.list
- js/src/wasm/WasmCodegenTypes.cpp
- js/src/wasm/WasmCodegenTypes.h
- js/src/wasm/WasmGenerator.h
- js/src/wasm/WasmHeuristics.h
- js/src/wasm/WasmIonCompile.cpp
- js/src/wasm/WasmSerialize.cpp
- layout/base/AccessibleCaret.cpp
- layout/base/DisplayPortUtils.cpp
- layout/base/tests/browser_stylesheet_change_events.js
- layout/base/tests/mochitest.toml
- layout/base/tests/test_synthmousemove_after_dnd.html
- layout/generic/nsGridContainerFrame.cpp
- layout/style/UserAgentStyleSheetList.h → layout/style/BuiltInStyleSheetList.h
- layout/style/UserAgentStyleSheetID.h → layout/style/BuiltInStyleSheets.h
- layout/style/GlobalStyleSheetCache.cpp
- layout/style/GlobalStyleSheetCache.h
- layout/style/Loader.cpp
- layout/style/URLExtraData.cpp
- layout/style/URLExtraData.h
- layout/style/jar.mn
- layout/style/moz.build
- layout/style/res/accessiblecaret.css
- layout/style/res/forms.css
- layout/style/test/mochitest.toml
- mobile/android/.eslintrc.js → mobile/android/.eslintrc.mjs
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-system/src/main/res/values-fa/strings.xml
- mobile/android/android-components/components/browser/errorpages/src/main/res/values-bqi/strings.xml
- mobile/android/android-components/components/browser/errorpages/src/main/res/values-it/strings.xml
- mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/progressbar/AnimatedProgressBar.kt
- mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/BrowserDisplayToolbar.kt
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-et/strings.xml
- mobile/android/android-components/components/compose/tabstray/src/main/res/values-bqi/strings.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/feature/accounts/src/main/java/mozilla/components/feature/accounts/FxaWebChannelFeature.kt
- mobile/android/android-components/components/feature/accounts/src/test/java/mozilla/components/feature/accounts/FxaWebChannelFeatureTest.kt
- mobile/android/android-components/components/feature/addons/src/main/res/values-bqi/strings.xml
- mobile/android/android-components/components/feature/addons/src/main/res/values-hr/strings.xml
- mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml
- − mobile/android/android-components/components/feature/webcompat-reporter/src/main/assets/extensions/webcompat-reporter/.eslintrc.js
- + mobile/android/android-components/components/feature/webcompat-reporter/src/main/assets/extensions/webcompat-reporter/.eslintrc.mjs
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/moz.yaml
- + mobile/android/examples/messaging_example/app/src/main/assets/messaging/.eslintrc.mjs
- + mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.mjs
- mobile/android/fenix/app/metrics.yaml
- mobile/android/fenix/app/nimbus.fml.yaml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- − mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/syncintegration/.eslintrc.js
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/syncintegration/.eslintrc.mjs
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/helpers/BasePage.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/helpers/BaseTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/helpers/PageContext.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/helpers/Selector.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/navigation/NavigationStep.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/BookmarksPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/BookmarksThreeDotMenuPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/CollectionsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/CustomTabsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/DownloadsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/EnhancedTrackingProtectionPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/FindInPagePage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/HistoryPage.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/HomePage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/MainMenuComposePage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/MainMenuPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/NotificationPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/ReaderViewPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/RecentlyClosedTabsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsAboutPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsAddonsManagerPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsDataCollectionPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsDeleteBrowsingDataOnQuitPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsDeleteBrowsingDataPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsEnhancedTrackingProtectionExceptionsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsEnhancedTrackingProtectionPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsHTTPSOnlyModePage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsLanguagePage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsOpenLinksInAppsPage.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsPrivateBrowsingPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsTranslationsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SettingsTurnOnSyncPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/ShortcutsPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/SiteSecurityPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/pageObjects/TabDrawerPage.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/BookmarksSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/BookmarksThreeDotMenuSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/CollectionsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/CustomTabsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/DownloadsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/EnhancedTrackingProtectionSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/FindInPageSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/HistorySelectors.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/HomeSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/MainMenuComposeSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/MainMenuSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/NotificationSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/ReaderViewSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/RecentlyClosedTabsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsAboutSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsAddonsManagerSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsDataCollectionSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsDeleteBrowsingDataOnQuitSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsDeleteBrowsingDataSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsEnhancedTrackingProtectionExceptionsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsEnhancedTrackingProtectionSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsHTTPSOnlyModeSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsLanguageSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsOpenLinksInAppsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsPrivateBrowsingSelectors.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsTranslationSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SettingsTurnOnSyncSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/ShortcutsSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/SiteSecuritySelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/selectors/TabDrawerSelectors.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/BookmarksTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/HistoryTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/MainMenuComposeTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/MainMenuTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/RecentlyClosedTabsTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsAboutTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsAddonsTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsDataCollectionTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsDeleteBrowsingDataOnQuitTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsDeleteBrowsingDataTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsEnhancedTrackingProtectionExceptionsTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsEnhancedTrackingProtectionTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsHTTPSOnlyModeTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsLanguageTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsOpenLinksInAppsTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsPrivateBrowsingTest.kt
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/efficiency/tests/SettingsTurnOnSyncTest.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/accounts/FxaWebChannelIntegration.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/distributions/DistributionProviderChecker.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingTelemetryRecorder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/store/OnboardingPreferencesMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/store/OnboardingStore.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/AddOnsOnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingMapper.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPageState.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiData.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretDebugSettingsFragment.kt
- − mobile/android/fenix/app/src/main/res/drawable/ic_add_on_dark_reader.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_add_on_privacy_badger.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_add_on_search_by_image.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_add_on_ublock.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_bookmark_half_fill_20.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_add_ons.xml
- mobile/android/fenix/app/src/main/res/raw/keep.xml
- mobile/android/fenix/app/src/main/res/values-ab/strings.xml
- mobile/android/fenix/app/src/main/res/values-am/strings.xml
- mobile/android/fenix/app/src/main/res/values-an/strings.xml
- mobile/android/fenix/app/src/main/res/values-ar/strings.xml
- mobile/android/fenix/app/src/main/res/values-ast/strings.xml
- mobile/android/fenix/app/src/main/res/values-azb/strings.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bn/strings.xml
- mobile/android/fenix/app/src/main/res/values-bqi/strings.xml
- mobile/android/fenix/app/src/main/res/values-br/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-cak/strings.xml
- mobile/android/fenix/app/src/main/res/values-ckb/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-eo/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rES/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/fenix/app/src/main/res/values-es/strings.xml
- mobile/android/fenix/app/src/main/res/values-et/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fa/strings.xml
- mobile/android/fenix/app/src/main/res/values-ff/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-ga-rIE/strings.xml
- mobile/android/fenix/app/src/main/res/values-gd/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-gn/strings.xml
- mobile/android/fenix/app/src/main/res/values-gu-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-hi-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-hr/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hu/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-in/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-ka/strings.xml
- mobile/android/fenix/app/src/main/res/values-kaa/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-kmr/strings.xml
- mobile/android/fenix/app/src/main/res/values-kn/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-lij/strings.xml
- mobile/android/fenix/app/src/main/res/values-lo/strings.xml
- mobile/android/fenix/app/src/main/res/values-lt/strings.xml
- mobile/android/fenix/app/src/main/res/values-meh/strings.xml
- mobile/android/fenix/app/src/main/res/values-ml/strings.xml
- mobile/android/fenix/app/src/main/res/values-mr/strings.xml
- mobile/android/fenix/app/src/main/res/values-my/strings.xml
- mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-or/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rPK/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ro/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-sc/strings.xml
- mobile/android/fenix/app/src/main/res/values-scn/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-skr/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-sr/strings.xml
- mobile/android/fenix/app/src/main/res/values-su/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-szl/strings.xml
- mobile/android/fenix/app/src/main/res/values-ta/strings.xml
- mobile/android/fenix/app/src/main/res/values-te/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-th/strings.xml
- mobile/android/fenix/app/src/main/res/values-tl/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-trs/strings.xml
- mobile/android/fenix/app/src/main/res/values-tt/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-uk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ur/strings.xml
- mobile/android/fenix/app/src/main/res/values-uz/strings.xml
- mobile/android/fenix/app/src/main/res/values-vec/strings.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-yo/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/store/OnboardingPreferencesMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/store/OnboardingStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/automation/taskcluster/androidTest/flank-arm64-v8a-detect-leaks.yml
- mobile/android/focus-android/app/src/main/res/values-el/strings.xml
- mobile/android/focus-android/app/src/main/res/values-in/strings.xml
- mobile/android/geckoview/api.txt
- − mobile/android/geckoview/src/androidTest/assets/web_extensions/.eslintrc.js
- + mobile/android/geckoview/src/androidTest/assets/web_extensions/.eslintrc.mjs
- mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/RuntimeSettingsTest.kt
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
- mobile/locales/l10n-changesets.json
- mobile/shared/.eslintrc.js → mobile/shared/.eslintrc.mjs
- mobile/shared/components/extensions/.eslintrc.js → mobile/shared/components/extensions/.eslintrc.mjs
- − mobile/shared/components/extensions/test/mochitest/.eslintrc.js
- + mobile/shared/components/extensions/test/mochitest/.eslintrc.mjs
- − mobile/shared/components/extensions/test/xpcshell/.eslintrc.js
- browser/components/extensions/child/.eslintrc.js → mobile/shared/components/extensions/test/xpcshell/.eslintrc.mjs
- modules/libpref/init/all.js
- mots.yaml
- moz.build
- netwerk/base/LoadInfo.h
- netwerk/protocol/http/EarlyHintPreloader.cpp
- − netwerk/test/perf/.eslintrc.js
- + netwerk/test/perf/.eslintrc.mjs
- python/sites/mach.txt
- remote/jar.mn
- remote/marionette/.eslintrc.js → remote/marionette/.eslintrc.mjs
- − remote/marionette/test/xpcshell/.eslintrc.js
- mobile/android/examples/port_messaging_example/app/src/main/assets/messaging/.eslintrc.js → remote/marionette/test/xpcshell/.eslintrc.mjs
- remote/shared/NavigationManager.sys.mjs
- remote/shared/NetworkRequest.sys.mjs
- + remote/shared/js-process-actors/WebDriverDocumentInsertedActor.sys.mjs
- + remote/shared/js-process-actors/WebDriverDocumentInsertedChild.sys.mjs
- + remote/shared/js-process-actors/WebDriverDocumentInsertedParent.sys.mjs
- remote/shared/js-window-actors/WebProgressListenerChild.sys.mjs
- remote/shared/listeners/NavigationListener.sys.mjs
- remote/shared/messagehandler/transports/BrowsingContextUtils.sys.mjs
- remote/webdriver-bidi/WebDriverBiDi.sys.mjs
- remote/webdriver-bidi/modules/root/browsingContext.sys.mjs
- − security/.eslintrc.js
- + security/.eslintrc.mjs
- − security/manager/ssl/tests/.eslintrc.js
- + security/manager/ssl/tests/.eslintrc.mjs
- security/manager/ssl/tests/unit/test_intermediate_preloads.js
- − security/manager/tools/.eslintrc.js
- + security/manager/tools/.eslintrc.mjs
- security/nss/doc/rst/releases/index.rst
- + security/nss/doc/rst/releases/nss_3_112.rst
- security/nss/lib/nss/nss.h
- security/nss/lib/softoken/softkver.h
- security/nss/lib/util/nssutil.h
- security/nss/moz.yaml
- − services/sync/tests/tps/.eslintrc.js
- + services/sync/tests/tps/.eslintrc.mjs
- servo/ports/geckolib/glue.rs
- supply-chain/audits.toml
- supply-chain/imports.lock
- + taskcluster/docker/index-task/.eslintrc.mjs
- − taskcluster/docker/periodic-updates/.eslintrc.js
- + taskcluster/docker/periodic-updates/.eslintrc.mjs
- − testing/mochitest/tests/Harness_sanity/.eslintrc.js
- testing/mochitest/tests/SimpleTest/EventUtils.js
- − testing/mozbase/mozprofile/tests/files/dummy-profile/.eslintrc.js
- + testing/mozbase/mozprofile/tests/files/dummy-profile/.eslintrc.mjs
- testing/mozharness/scripts/android_wrench.py
- testing/perfdocs/generated/index.rst
- − testing/performance/.eslintrc.js
- browser/components/aboutlogins/tests/chrome/.eslintrc.js → testing/performance/.eslintrc.mjs
- toolkit/content/.eslintrc.js → testing/raptor/.eslintrc.mjs
- − testing/talos/.eslintrc.js
- + testing/talos/.eslintrc.mjs
- − testing/talos/talos/tests/devtools/addon/content/.eslintrc.js
- + testing/talos/talos/tests/devtools/addon/content/.eslintrc.mjs
- testing/talos/talos/tests/devtools/addon/content/tests/debugger/custom.js
- testing/talos/talos/tests/devtools/addon/content/tests/debugger/debugger-helpers.js
- − testing/talos/talos/tests/perf-reftest-singletons/.eslintrc.json
- + testing/talos/talos/tests/perf-reftest-singletons/.eslintrc.mjs
- − testing/talos/talos/tests/perf-reftest/.eslintrc.json
- + testing/talos/talos/tests/perf-reftest/.eslintrc.mjs
- testing/web-platform/meta/accname/name/comp_name_from_content.html.ini
- + testing/web-platform/meta/accname/name/comp_name_from_content_alt_counter_invalidation.html.ini
- testing/web-platform/meta/clipboard-apis/async-navigator-clipboard-change-event.tentative.https.html.ini
- testing/web-platform/meta/close-watcher/iframes/dialog-same-origin-nn.html.ini
- testing/web-platform/meta/cookies/partitioned-cookies/partitioned-cookies.tentative.https.html.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-001.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-002.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-003.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-004.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-007.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-008.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-009.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-012.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-013.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-014.xht.ini
- − testing/web-platform/meta/css/CSS2/generated-content/quotes-applies-to-015.xht.ini
- + testing/web-platform/meta/css/css-anchor-position/anchor-ident-function.html.ini
- + testing/web-platform/meta/css/css-anchor-position/position-try-ident-function.html.ini
- testing/web-platform/meta/css/css-conditional/container-queries/at-container-style-parsing.html.ini
- + testing/web-platform/meta/css/css-conditional/container-queries/container-ident-function.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-001.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-002.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-003.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-004.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-005.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-flow-006.html.ini
- testing/web-platform/meta/css/css-exclusions/wrap-through-001.html.ini
- testing/web-platform/meta/css/css-overflow/targeted-column-scroll-marker-selection-001.html.ini
- + testing/web-platform/meta/css/css-properties-values-api/registered-property-ident-function.html.ini
- testing/web-platform/meta/css/css-sizing/keyword-sizes-on-flex-item-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-block-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-inline-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-max-block-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-max-inline-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-min-block-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-alias-min-inline-size-001.tentative.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-block-size-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-inline-size-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-max-block-size-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-max-inline-size-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-min-block-size-001.html.ini
- + testing/web-platform/meta/css/css-sizing/stretch/stretch-min-inline-size-001.html.ini
- + testing/web-platform/meta/css/css-values/sign-in-keyframes-with-relative-units.html.ini
- testing/web-platform/meta/custom-elements/revamped-scoped-registry/idlharness.tentative.window.js.ini → testing/web-platform/meta/custom-elements/registries/idlharness.window.js.ini
- testing/web-platform/meta/fedcm/lfedcm-identity.create-store-collect.tentative.sub.https.html.ini
- + testing/web-platform/meta/html-aam/roles-minimum.tentative.html.ini
- testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission.html.ini
- testing/web-platform/meta/html/semantics/the-button-element/command-and-commandfor/on-dialog-behavior-request-close.tentative.html.ini
- testing/web-platform/meta/html/semantics/the-button-element/command-and-commandfor/on-dialog-behavior.html.ini
- testing/web-platform/meta/html/syntax/parsing/html5lib_tests8.html.ini
- − testing/web-platform/meta/html/syntax/serializing-html-fragments/serializing-lt-gt.tentative.html.ini
- testing/web-platform/meta/html/syntax/serializing-html-fragments/serializing.html.ini
- testing/web-platform/meta/idle-detection/idle-detection-allowed-by-permissions-policy.https.sub.html.ini
- testing/web-platform/meta/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html.ini
- testing/web-platform/meta/mozilla-sync
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-reload-cross-doc.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-samedocument-crossorigin-sameorigindomain.sub.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-samedocument-crossorigin-sameorigindomain.sub.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-cross-document-same-origin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-cross-origin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-handler-returns-non-promise.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-reload.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-requestSubmit.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-window-open.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-reload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-double-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/transition-cross-document.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-intercept.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_after_target_appended.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_after_target_removed.html.ini
- testing/web-platform/meta/preload/preload-referrer-policy-subresource-header.tentative.html.ini
- testing/web-platform/meta/referrer-policy/generic/refresh-cross-origin.sub.html.ini
- testing/web-platform/meta/screen-orientation/active-lock.html.ini
- + testing/web-platform/meta/scroll-animations/css/timeline-names-ident-function.html.ini
- testing/web-platform/meta/service-workers/service-worker/static-router-subresource.https.html.ini
- testing/web-platform/meta/speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html.ini
- testing/web-platform/meta/storage-access-api/requestStorageAccess-sandboxed-iframe-allow-storage-access.sub.https.window.js.ini
- testing/web-platform/meta/subresource-integrity/tentative/integrity-policy/parsing.html.ini → testing/web-platform/meta/subresource-integrity/integrity-policy/parsing.html.ini
- testing/web-platform/meta/subresource-integrity/tentative/integrity-policy/script.https.html.ini → testing/web-platform/meta/subresource-integrity/integrity-policy/script.https.html.ini
- testing/web-platform/meta/svg/animations/svglength-animation-px-to-cm.html.ini
- testing/web-platform/meta/uievents/order-of-events/mouse-events/mouseover-out.html.ini
- testing/web-platform/meta/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest.html.ini
- + testing/web-platform/meta/webdriver/tests/bidi/browser/create_user_context/invalid.py.ini
- + testing/web-platform/meta/webdriver/tests/bidi/browser/remove_user_context/invalid.py.ini
- testing/web-platform/meta/webdriver/tests/bidi/browsing_context/navigate/navigate.py.ini
- testing/web-platform/meta/webdriver/tests/bidi/browsing_context/navigate/navigate_beforeunload.py.ini
- − testing/web-platform/meta/webdriver/tests/bidi/browsing_context/navigation_committed/navigation_committed.py.ini
- testing/web-platform/meta/webdriver/tests/classic/element_click/user_prompts.py.ini
- testing/web-platform/meta/webdriver/tests/classic/execute_async_script/user_prompts.py.ini
- testing/web-platform/meta/webdriver/tests/classic/new_session/unhandled_prompt_behavior.py.ini
- + testing/web-platform/meta/webdriver/tests/classic/perform_actions/key_shortcuts.py.ini
- testing/web-platform/tests/accname/name/comp_name_from_content.html
- + testing/web-platform/tests/accname/name/comp_name_from_content_alt_counter_invalidation.html
- testing/web-platform/tests/ai/summarizer/summarizer-availability-available.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-availability.tentative.https.window.js
- testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-change-event.tentative.https.html
- + testing/web-platform/tests/css/css-anchor-position/anchor-ident-function.html
- + testing/web-platform/tests/css/css-anchor-position/anchor-in-multicol-crash.html
- + testing/web-platform/tests/css/css-anchor-position/anchor-in-multicol-inherit-crash.html
- + testing/web-platform/tests/css/css-anchor-position/position-try-ident-function.html
- testing/web-platform/tests/css/css-borders/tentative/corner-shape/corner-shape-render-fuzzy.html
- testing/web-platform/tests/css/css-conditional/container-queries/at-container-style-parsing.html
- + testing/web-platform/tests/css/css-conditional/container-queries/container-ident-function.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-001.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-002.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-003.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-004.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-005.html
- testing/web-platform/tests/css/css-exclusions/wrap-flow-006.html
- testing/web-platform/tests/css/css-exclusions/wrap-through-001.html
- + testing/web-platform/tests/css/css-flexbox/flex-aspect-ratio-img-vert-lr.html
- + testing/web-platform/tests/css/css-fonts/test-synthetic-bold-2-notref.html
- + testing/web-platform/tests/css/css-fonts/test-synthetic-bold-2.html
- + testing/web-platform/tests/css/css-fonts/test-synthetic-italic-4-notref.html
- + testing/web-platform/tests/css/css-fonts/test-synthetic-italic-4.html
- + testing/web-platform/tests/css/css-gaps/agnostic/gap-decorations-004-ref.html
- + testing/web-platform/tests/css/css-gaps/agnostic/gap-decorations-004.html
- + testing/web-platform/tests/css/css-gaps/multicol/multicol-gap-decorations-019.html
- testing/web-platform/tests/css/css-images/tiled-gradients.html
- + testing/web-platform/tests/css/css-properties-values-api/registered-property-ident-function.html
- testing/web-platform/tests/css/css-sizing/keyword-sizes-on-flex-item-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-block-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-inline-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-max-block-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-max-inline-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-min-block-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-alias-min-inline-size-001.tentative.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-block-size-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-inline-size-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-max-block-size-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-max-inline-size-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-min-block-size-001.html
- testing/web-platform/tests/css/css-sizing/stretch/stretch-min-inline-size-001.html
- + testing/web-platform/tests/css/css-values/sign-in-keyframes-with-relative-units.html
- testing/web-platform/tests/css/css-view-transitions/scoped/auto-name.html
- testing/web-platform/tests/css/css-view-transitions/scoped/document-element-start-view-transition.html
- + testing/web-platform/tests/css/visited-nested-ref.html
- + testing/web-platform/tests/css/visited-nested.html
- testing/web-platform/tests/custom-elements/revamped-scoped-registry/idlharness.tentative.window.js → testing/web-platform/tests/custom-elements/registries/idlharness.window.js
- + testing/web-platform/tests/html-aam/roles-minimum.tentative.html
- + testing/web-platform/tests/html/canvas/offscreen/manual/text/canvas.2d.fillText-FontFace.html
- + testing/web-platform/tests/html/canvas/offscreen/manual/text/canvas.2d.fillText.html
- + testing/web-platform/tests/html/canvas/offscreen/manual/text/empty-ref.html
- testing/web-platform/tests/html/cross-origin-opener-policy/blob-popup.https.html
- testing/web-platform/tests/html/cross-origin-opener-policy/coep-navigate-popup.https.html
- testing/web-platform/tests/html/cross-origin-opener-policy/historical/coep-navigate-popup-unsafe-inherit.https.html
- testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-form-submission.html
- testing/web-platform/tests/html/semantics/the-button-element/command-and-commandfor/on-dialog-behavior-request-close.tentative.html
- testing/web-platform/tests/html/semantics/the-button-element/command-and-commandfor/on-dialog-behavior.html
- testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing-lt-gt.tentative.html → testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing-lt-gt.html
- testing/web-platform/tests/html/syntax/serializing-html-fragments/serializing.html
- testing/web-platform/tests/interfaces/scoped-custom-elements-registry.tentative.idl → testing/web-platform/tests/interfaces/scoped-custom-elements-registry.idl
- + testing/web-platform/tests/media-playback-quality/WEB_FEATURES.yml
- testing/web-platform/tests/preload/preload-referrer-policy-subresource-header.tentative.html
- + testing/web-platform/tests/scroll-animations/css/timeline-names-ident-function.html
- testing/web-platform/tests/soft-navigation-heuristics/detection/tentative/racing-soft-navigations.html
- testing/web-platform/tests/speculation-rules/prefetch/resources/basic-service-worker.js
- testing/web-platform/tests/speculation-rules/prefetch/resources/executor.sub.html
- testing/web-platform/tests/speculation-rules/prefetch/resources/utils.sub.js
- testing/web-platform/tests/speculation-rules/prefetch/tentative/service-worker/basic.sub.https.html
- testing/web-platform/tests/subresource-integrity/tentative/integrity-policy/parsing.html → testing/web-platform/tests/subresource-integrity/integrity-policy/parsing.html
- testing/web-platform/tests/subresource-integrity/tentative/integrity-policy/script.https.html → testing/web-platform/tests/subresource-integrity/integrity-policy/script.https.html
- testing/web-platform/tests/subresource-integrity/signatures/tentative/accept-signature.parser-inserted.html
- testing/web-platform/tests/subresource-integrity/signatures/tentative/accept-signature.window.js
- testing/web-platform/tests/subresource-integrity/signatures/tentative/helper.js
- testing/web-platform/tests/tools/webdriver/webdriver/bidi/modules/browser.py
- testing/web-platform/tests/tools/wpt/run.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/android_webview.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/base.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/chrome.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/chrome_android.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/firefox_android.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/safari.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/sauce.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/servodriver.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/browsers/wktr.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/executors/base.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/executors/executorwebdriver.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/formatters/wptreport.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/testrunner.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/tests/browsers/test_base.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/wptcommandline.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/wptrunner.py
- testing/web-platform/tests/tools/wptserve/wptserve/server.py
- + testing/web-platform/tests/webdriver/tests/bidi/browser/create_user_context/accept_insecure_certs.py
- testing/web-platform/tests/webdriver/tests/bidi/browser/create_user_context/invalid.py
- + testing/web-platform/tests/webdriver/tests/bidi/browser/create_user_context/proxy.py
- testing/web-platform/tests/webdriver/tests/classic/new_session/merge.py
- testing/web-platform/tests/webdriver/tests/support/fixtures_bidi.py
- testing/web-platform/tests/webnn/conformance_tests/arg_min_max.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/expand.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/gather.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/gatherElements.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/gatherND.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/pad.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/qdq_subgraph.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/reduce_l1.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/reshape.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/reverse.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/scatterElements.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/scatterND.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/slice.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/split.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/tensor.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/tile.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/transpose.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/triangular.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/where.https.any.js
- third_party/rust/context_id/.cargo-checksum.json
- third_party/rust/context_id/Cargo.toml
- third_party/rust/context_id/src/lib.rs
- third_party/rust/error-support/.cargo-checksum.json
- third_party/rust/error-support/Cargo.toml
- third_party/rust/error-support/README.md
- − third_party/rust/error-support/src/errorsupport.udl
- third_party/rust/error-support/src/handling.rs
- third_party/rust/error-support/src/lib.rs
- third_party/rust/error-support/src/macros.rs
- third_party/rust/error-support/src/reporting.rs
- third_party/rust/glean-core/.cargo-checksum.json
- third_party/rust/glean-core/Cargo.toml
- third_party/rust/glean/.cargo-checksum.json
- third_party/rust/glean/Cargo.lock
- third_party/rust/glean/Cargo.toml
- third_party/rust/memtest/.cargo-checksum.json
- third_party/rust/memtest/Cargo.lock
- third_party/rust/memtest/Cargo.toml
- third_party/rust/memtest/examples/usage.rs
- third_party/rust/memtest/src/lib.rs
- third_party/rust/memtest/src/memtest.rs
- third_party/rust/relevancy/.cargo-checksum.json
- third_party/rust/relevancy/Cargo.toml
- third_party/rust/relevancy/src/ingest.rs
- third_party/rust/relevancy/src/lib.rs
- third_party/rust/remote_settings/.cargo-checksum.json
- third_party/rust/remote_settings/Cargo.toml
- third_party/rust/remote_settings/src/client.rs
- third_party/rust/remote_settings/src/config.rs
- third_party/rust/remote_settings/src/error.rs
- third_party/rust/remote_settings/src/lib.rs
- third_party/rust/remote_settings/src/service.rs
- third_party/rust/search/.cargo-checksum.json
- third_party/rust/search/Cargo.toml
- third_party/rust/search/src/selector.rs
- third_party/rust/sql-support/.cargo-checksum.json
- third_party/rust/sql-support/Cargo.toml
- third_party/rust/sql-support/src/conn_ext.rs
- third_party/rust/sql-support/src/lib.rs
- third_party/rust/sql-support/src/open_database.rs
- third_party/rust/suggest/.cargo-checksum.json
- third_party/rust/suggest/Cargo.toml
- third_party/rust/suggest/src/benchmarks/geoname.rs
- third_party/rust/suggest/src/db.rs
- third_party/rust/suggest/src/geoname.rs
- third_party/rust/suggest/src/lib.rs
- third_party/rust/suggest/src/provider.rs
- third_party/rust/suggest/src/rs.rs
- third_party/rust/suggest/src/schema.rs
- third_party/rust/suggest/src/store.rs
- third_party/rust/suggest/src/suggestion.rs
- third_party/rust/suggest/src/testing/mod.rs
- third_party/rust/suggest/src/weather.rs
- third_party/rust/sync15/.cargo-checksum.json
- third_party/rust/sync15/Cargo.toml
- third_party/rust/sync15/src/bso/content.rs
- third_party/rust/sync15/src/client/coll_state.rs
- third_party/rust/sync15/src/client/request.rs
- third_party/rust/sync15/src/client/state.rs
- third_party/rust/sync15/src/client/storage_client.rs
- third_party/rust/sync15/src/client/sync.rs
- third_party/rust/sync15/src/client/sync_multiple.rs
- third_party/rust/sync15/src/client/token.rs
- third_party/rust/sync15/src/clients_engine/engine.rs
- third_party/rust/sync15/src/clients_engine/record.rs
- third_party/rust/sync15/src/engine/bridged_engine.rs
- third_party/rust/sync15/src/error.rs
- third_party/rust/sync15/src/key_bundle.rs
- third_party/rust/sync15/src/telemetry.rs
- third_party/rust/tabs/.cargo-checksum.json
- third_party/rust/tabs/Cargo.toml
- third_party/rust/tabs/src/schema.rs
- third_party/rust/tabs/src/storage.rs
- third_party/rust/tabs/src/sync/bridge.rs
- third_party/rust/tabs/src/sync/engine.rs
- + third_party/rust/tinyvec/.cargo-checksum.json
- + third_party/rust/tinyvec/CHANGELOG.md
- + third_party/rust/tinyvec/Cargo.lock
- + third_party/rust/tinyvec/Cargo.toml
- + third_party/rust/tinyvec/LICENSE-APACHE.md
- + third_party/rust/tinyvec/LICENSE-MIT.md
- + third_party/rust/tinyvec/LICENSE-ZLIB.md
- + third_party/rust/tinyvec/README.md
- + third_party/rust/tinyvec/benches/macros.rs
- + third_party/rust/tinyvec/benches/smallvec.rs
- + third_party/rust/tinyvec/debug_metadata/README.md
- + third_party/rust/tinyvec/debug_metadata/tinyvec.natvis
- + third_party/rust/tinyvec/rustfmt.toml
- + third_party/rust/tinyvec/src/array.rs
- + third_party/rust/tinyvec/src/array/const_generic_impl.rs
- + third_party/rust/tinyvec/src/array/generated_impl.rs
- + third_party/rust/tinyvec/src/array/generic_array_impl.rs
- + third_party/rust/tinyvec/src/arrayvec.rs
- + third_party/rust/tinyvec/src/arrayvec_drain.rs
- + third_party/rust/tinyvec/src/lib.rs
- + third_party/rust/tinyvec/src/slicevec.rs
- + third_party/rust/tinyvec/src/tinyvec.rs
- + third_party/rust/tinyvec/tests/arrayvec.rs
- + third_party/rust/tinyvec/tests/debugger_visualizer.rs
- + third_party/rust/tinyvec/tests/tinyvec.rs
- + third_party/rust/tinyvec_macros/.cargo-checksum.json
- + third_party/rust/tinyvec_macros/Cargo.toml
- + third_party/rust/tinyvec_macros/LICENSE-APACHE.md
- + third_party/rust/tinyvec_macros/LICENSE-MIT.md
- + third_party/rust/tinyvec_macros/LICENSE-ZLIB.md
- + third_party/rust/tinyvec_macros/src/lib.rs
- + third_party/rust/unicode-normalization/.cargo-checksum.json
- + third_party/rust/unicode-normalization/COPYRIGHT
- + third_party/rust/unicode-normalization/Cargo.toml
- + third_party/rust/unicode-normalization/LICENSE-APACHE
- + third_party/rust/unicode-normalization/LICENSE-MIT
- + third_party/rust/unicode-normalization/README.md
- + third_party/rust/unicode-normalization/benches/bench.rs
- + third_party/rust/unicode-normalization/scripts/unicode.py
- + third_party/rust/unicode-normalization/src/__test_api.rs
- + third_party/rust/unicode-normalization/src/decompose.rs
- + third_party/rust/unicode-normalization/src/lib.rs
- + third_party/rust/unicode-normalization/src/lookups.rs
- + third_party/rust/unicode-normalization/src/normalize.rs
- + third_party/rust/unicode-normalization/src/perfect_hash.rs
- + third_party/rust/unicode-normalization/src/quick_check.rs
- + third_party/rust/unicode-normalization/src/recompose.rs
- + third_party/rust/unicode-normalization/src/replace.rs
- + third_party/rust/unicode-normalization/src/stream_safe.rs
- + third_party/rust/unicode-normalization/src/tables.rs
- + third_party/rust/unicode-normalization/src/test.rs
- third_party/rust/viaduct/.cargo-checksum.json
- third_party/rust/viaduct/Cargo.toml
- third_party/rust/viaduct/src/backend.rs
- third_party/rust/viaduct/src/backend/ffi.rs
- third_party/rust/viaduct/src/headers/name.rs
- third_party/rust/viaduct/src/lib.rs
- third_party/rust/webext-storage/.cargo-checksum.json
- third_party/rust/webext-storage/Cargo.toml
- third_party/rust/webext-storage/src/api.rs
- third_party/rust/webext-storage/src/db.rs
- third_party/rust/webext-storage/src/error.rs
- third_party/rust/webext-storage/src/migration.rs
- third_party/rust/webext-storage/src/schema.rs
- third_party/rust/webext-storage/src/store.rs
- third_party/rust/webext-storage/src/sync/incoming.rs
- third_party/rust/webext-storage/src/sync/mod.rs
- third_party/rust/webext-storage/src/sync/outgoing.rs
- third_party/rust/webext-storage/src/sync/sync_tests.rs
- − toolkit/.eslintrc.js
- browser/components/.eslintrc.js → toolkit/.eslintrc.mjs
- toolkit/components/aboutconfig/test/browser/browser.toml
- − toolkit/components/antitracking/test/browser/.eslintrc.js
- browser/components/extensions/.eslintrc.js → toolkit/components/antitracking/test/browser/.eslintrc.mjs
- − toolkit/components/extensions/.eslintrc.js
- + toolkit/components/extensions/.eslintrc.mjs
- − toolkit/components/extensions/child/.eslintrc.js
- + toolkit/components/extensions/child/.eslintrc.mjs
- − toolkit/components/extensions/parent/.eslintrc.js
- + toolkit/components/extensions/parent/.eslintrc.mjs
- − toolkit/components/extensions/test/browser/.eslintrc.js
- + toolkit/components/extensions/test/browser/.eslintrc.mjs
- − toolkit/components/extensions/test/mochitest/.eslintrc.js
- + toolkit/components/extensions/test/mochitest/.eslintrc.mjs
- toolkit/components/extensions/test/mochitest/mochitest-common.toml
- − toolkit/components/extensions/test/xpcshell/.eslintrc.js
- + toolkit/components/extensions/test/xpcshell/.eslintrc.mjs
- − toolkit/components/extensions/test/xpcshell/webidl-api/.eslintrc.js
- + toolkit/components/extensions/test/xpcshell/webidl-api/.eslintrc.mjs
- toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
- toolkit/components/httpsonlyerror/tests/browser/browser.toml
- − toolkit/components/narrate/.eslintrc.js
- + toolkit/components/narrate/.eslintrc.mjs
- toolkit/components/nimbus/FeatureManifest.yaml
- toolkit/components/nimbus/test/python/dump-targeting-context.js
- − toolkit/components/normandy/test/.eslintrc.js
- + toolkit/components/normandy/test/.eslintrc.mjs
- − toolkit/components/passwordmgr/test/browser/.eslintrc.js
- taskcluster/docker/index-task/.eslintrc.js → toolkit/components/passwordmgr/test/browser/.eslintrc.mjs
- toolkit/components/passwordmgr/test/browser/browser.toml
- − toolkit/components/passwordmgr/test/mochitest/.eslintrc.js
- + toolkit/components/passwordmgr/test/mochitest/.eslintrc.mjs
- toolkit/components/pictureinpicture/tests/browser.toml
- toolkit/components/printing/tests/browser.toml
- toolkit/components/printing/tests/browserSidebarRevamp.toml
- toolkit/components/promiseworker/PromiseWorker.sys.mjs
- − toolkit/components/prompts/test/.eslintrc.js
- + toolkit/components/prompts/test/.eslintrc.mjs
- − toolkit/components/reader/.eslintrc.js
- + toolkit/components/reader/.eslintrc.mjs
- toolkit/components/reader/Readerable.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs
- toolkit/components/uniffi-js/GeneratedScaffolding.cpp
- testing/raptor/.eslintrc.js → toolkit/content/.eslintrc.mjs
- toolkit/content/aboutLogging/aboutLogging.html
- toolkit/content/tests/browser/browser.toml
- toolkit/content/tests/mochitest/mochitest.toml
- toolkit/crashreporter/client/app/Cargo.toml
- toolkit/crashreporter/client/app/src/config.rs
- toolkit/crashreporter/client/app/src/memory_test.rs
- toolkit/crashreporter/client/app/src/test.rs
- toolkit/crashreporter/crash_helper_client/src/platform.rs
- toolkit/crashreporter/crash_helper_client/src/platform/windows.rs
- toolkit/crashreporter/crash_helper_common/src/errors.rs
- toolkit/crashreporter/crash_helper_common/src/ipc_channel/windows.rs
- toolkit/crashreporter/crash_helper_common/src/ipc_connector/windows.rs
- toolkit/crashreporter/crash_helper_common/src/ipc_listener/windows.rs
- toolkit/crashreporter/crash_helper_common/src/platform/windows.rs
- − toolkit/locales-preview/localModelManagement.ftl
- toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
- toolkit/locales/en-US/toolkit/about/aboutLogging.ftl
- toolkit/locales/jar.mn
- − toolkit/modules/subprocess/.eslintrc.js
- browser/components/customizableui/content/.eslintrc.js → toolkit/modules/subprocess/.eslintrc.mjs
- − toolkit/mozapps/extensions/.eslintrc.js
- + toolkit/mozapps/extensions/.eslintrc.mjs
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/internal/ModelHubProvider.sys.mjs
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- − toolkit/mozapps/extensions/test/browser/.eslintrc.js
- + toolkit/mozapps/extensions/test/browser/.eslintrc.mjs
- toolkit/mozapps/extensions/test/browser/browser.toml
- toolkit/mozapps/extensions/test/browser/browser_html_mlmodel_addons.js
- toolkit/mozapps/extensions/test/browser/browser_sidebar_hidden_categories.js
- − toolkit/mozapps/extensions/test/xpcshell/.eslintrc.js
- tools/tryselect/selectors/chooser/.eslintrc.js → toolkit/mozapps/extensions/test/xpcshell/.eslintrc.mjs
- toolkit/mozapps/extensions/test/xpcshell/head_system_addons.js
- toolkit/mozapps/extensions/test/xpcshell/test_ModelHubProvider.js
- toolkit/mozapps/extensions/test/xpcshell/test_system_builtins.js
- toolkit/mozapps/extensions/test/xpcshell/test_system_reset.js
- toolkit/mozapps/extensions/test/xpcshell/test_system_upgrades.js
- toolkit/mozapps/update/tests/data/xpcshellUtilsAUS.js
- toolkit/themes/shared/global-shared.css
- tools/(a)types/generated/lib.gecko.dom.d.ts
- tools/(a)types/generated/lib.gecko.glean.d.ts
- tools/(a)types/generated/lib.gecko.modules.d.ts
- tools/(a)types/generated/lib.gecko.nsresult.d.ts
- tools/(a)types/generated/lib.gecko.xpcom.d.ts
- tools/(a)types/generated/tspaths.json
- tools/(a)types/subs/FeatureManifest.sys.d.mts
- tools/(a)types/subs/RFPTargetConstants.sys.d.mts
- tools/lint/eslint.yml
- − tools/lint/eslint/.eslintrc.js
- + tools/lint/eslint/.eslintrc.mjs
- tools/lint/eslint/__init__.py
- − tools/lint/eslint/eslint-plugin-mozilla/lib/configs/.eslintrc.js
- + tools/lint/eslint/eslint-plugin-mozilla/lib/configs/.eslintrc.mjs
- tools/lint/eslint/eslint-plugin-mozilla/lib/configs/recommended.js
- tools/lint/eslint/eslint-plugin-mozilla/lib/helpers.js
- tools/lint/eslint/eslint-plugin-mozilla/lib/index.js
- tools/lint/perfdocs/templates/index.rst
- tools/lint/rejected-words.yml
- + tools/lint/test/files/eslint/test-eslint.config.mjs
- tools/lint/test/files/license/.eslintrc.js → tools/lint/test/files/license/.eslintrc.mjs
- tools/lint/test/test_eslint.py
- tools/lint/test/test_file_license.py
- tools/rewriting/ThirdPartyPaths.txt
- + tools/tryselect/selectors/chooser/.eslintrc.mjs
- − tools/ts/.eslintrc.js
- + tools/ts/.eslintrc.mjs
- tools/ts/config/error_list.json
- tools/ts/package-lock.json
- tools/ts/package.json
- widget/gtk/nsGtkKeyUtils.cpp
- widget/gtk/nsGtkKeyUtils.h
- widget/gtk/nsWindow.cpp
- widget/gtk/nsWindow.h
- widget/tests/browser/browser.toml
- widget/tests/chrome.toml
- widget/windows/nsLookAndFeel.cpp
- xpfe/appshell/nsIWindowMediator.idl
- xpfe/appshell/nsWindowMediator.cpp
- xpfe/appshell/nsWindowMediator.h
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/6a72a6…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/6a72a6…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Fix android artifacts path
by boklm (@boklm) 26 May '25
by boklm (@boklm) 26 May '25
26 May '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
fb195041 by Beatriz Rizental at 2025-05-26T09:06:52+00:00
Bug 41444: Fix android artifacts path
- - - - -
1 changed file:
- projects/browser/build.android
Changes:
=====================================
projects/browser/build.android
=====================================
@@ -121,6 +121,6 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
[% END -%]
[% IF c("var/nightly") -%]
- mkdir -p "$OUTDIR"/artifacts
- cp -r $rootdir/geckoview/artifacts "$OUTDIR"
+ mkdir -p "[% dest_dir %]/[% c('filename') %]/artifacts
+ cp -r $rootdir/geckoview/artifacts [% dest_dir %]/[% c('filename') %]
[% END %]
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Added appopriate Apps::Product::* label to Release Preparation GitLab issue templates
by morgan (@morgan) 23 May '25
by morgan (@morgan) 23 May '25
23 May '25
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
318a5c4b by Morgan at 2025-05-23T12:43:47+00:00
Added appopriate Apps::Product::* label to Release Preparation GitLab issue templates
- - - - -
5 changed files:
- .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
- .gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Tor Browser Legacy.md
- .gitlab/issue_templates/Release Prep - Tor Browser Stable.md
Changes:
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
=====================================
@@ -250,4 +250,5 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
</details>
/label ~"Apps::Type::ReleasePreparation"
+/label ~"Apps::Product::MullvadBrowser"
/label ~"Project 131"
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
=====================================
@@ -258,4 +258,5 @@ Mullvad Browser Stable is on the `maint-${MULLVAD_BROWSER_MAJOR}.${MULLVAD_BROWS
</details>
/label ~"Apps::Type::ReleasePreparation"
+/label ~"Apps::Product::MullvadBrowser"
/label ~"Project 131"
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Alpha.md
=====================================
@@ -351,3 +351,4 @@ popd
</details>
/label ~"Apps::Type::ReleasePreparation"
+/label ~"Apps::Product::TorBrowser"
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Legacy.md
=====================================
@@ -310,3 +310,4 @@ popd
</details>
/label ~"Apps::Type::ReleasePreparation"
+/label ~"Apps::Product::TorBrowser"
=====================================
.gitlab/issue_templates/Release Prep - Tor Browser Stable.md
=====================================
@@ -365,3 +365,4 @@ popd
</details>
/label ~"Apps::Type::ReleasePreparation"
+/label ~"Apps::Product::TorBrowser"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/3…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-115.24.0esr-13.5-1-build1
by ma1 (@ma1) 23 May '25
by ma1 (@ma1) 23 May '25
23 May '25
ma1 pushed new tag tor-browser-115.24.0esr-13.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 331 commits: Bug 1948260 - Ensure Extensions button visibility when...
by Pier Angelo Vendrame (@pierov) 23 May '25
by Pier Angelo Vendrame (@pierov) 23 May '25
23 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
a10f5c0c by Rob Wu at 2025-05-22T02:04:19+00:00
Bug 1948260 - Ensure Extensions button visibility when PopupNotifications.show() is used r=willdurand
Some doorhangers are anchored to the Extensions Button via
PopupNotifications.show() + gUnifiedExtensions.getPopupAnchorID().
The default behavior of PopupNotifications is to fall back to a
different anchor if the specified anchor is invisible. But if the
Extensions Button is hidden, we want to show it as needed, instead of
triggering the fallback.
This patch reveals the Extensions Button when PopupNotifications is
about to show the panel. This button will automatically be hidden
when the doorhanger is closed, as verified by the tests.
Differential Revision: https://phabricator.services.mozilla.com/D248163
- - - - -
755ef16c by Rob Wu at 2025-05-22T02:04:23+00:00
Bug 1948260 - Reveal hidden Extensions Button in ExtensionControlledPopup r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248164
- - - - -
6b28907b by Rob Wu at 2025-05-22T02:04:27+00:00
Bug 1948260 - Keep button shown while mouse is on toolbar r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248165
- - - - -
24b8c6c2 by Rob Wu at 2025-05-22T02:04:31+00:00
Bug 1948260 - Show button when attention dot is requested r=willdurand
Unlike all previous conditions, the unhidden button cannot easily be
hidden, because the attention dot can currently not easily be dismissed.
To support users who prefer to ignore attention requests in favor of the
extension button being hidden more often, this behavior can be disabled
by setting the extensions.unifiedExtensions.button.ignore_attention
preference to true.
Differential Revision: https://phabricator.services.mozilla.com/D248166
- - - - -
dc2cd8c2 by Emilio Cobos Álvarez at 2025-05-22T02:04:59+00:00
Bug 1967208 - Fix native menulist styling on Linux and Windows. r=desktop-theme-reviewers,sfoster
Make padding match buttons. Show the dropmarker properly too.
Differential Revision: https://phabricator.services.mozilla.com/D250006
- - - - -
52684250 by Emilio Cobos Álvarez at 2025-05-22T02:05:03+00:00
Bug 1967208 - Unify menulist.css. r=desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D250022
- - - - -
fcefbdba by Gijs Kruitbosch at 2025-05-22T02:05:46+00:00
Bug 1962056 - use the category manager for first window ready initialization, r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D244429
- - - - -
38ef7101 by Michael Froman at 2025-05-22T02:05:59+00:00
Bug 1967834 - remove the preprocessing scripts in favor of direct changes in gn_processor.py r=ng DONTBUILD
Using 'module' will cause trouble (unable to pickle 'module') as we try to
run some of the script in parallel.
Differential Revision: https://phabricator.services.mozilla.com/D250516
- - - - -
25692516 by Michael Froman at 2025-05-22T02:06:02+00:00
Bug 1967834 - move writing individual moz.build file to separate function for clarity. r=ng DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250517
- - - - -
040f150b by Michael Froman at 2025-05-22T02:06:06+00:00
Bug 1967834 - run calls to generate_gn_config in parallel. r=ng DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250518
- - - - -
49f74917 by Michael Froman at 2025-05-22T02:06:10+00:00
Bug 1967834 - moved process_gn_config call to generate_gn_config. r=ng DONTBUILD
This is not dependent on the other configs being complete, so we can
run it in the threaded section for speed.
Differential Revision: https://phabricator.services.mozilla.com/D250519
- - - - -
9bdebe6c by Tim Huang at 2025-05-22T02:06:53+00:00
Bug 1966658 - Populate the partitionedPrincipal to the SessionHistoryEntry in the parent process. r=smaug,sessionstore-reviewers,core-sessionstore-reviewers,farre
In this patch, we populate the partitionedPrincipal when we commit
SessionHistory to the parent process. In addition, we remove the
serialization and deserialization of partitionedPrincipalToInherit in
sessionHistory.
Differential Revision: https://phabricator.services.mozilla.com/D250263
- - - - -
8a4db724 by scottdowne at 2025-05-22T02:07:20+00:00
Bug 1966391 - newtab Contextual Ads send IAB categories from layout cache/store into unified ads request r=home-newtab-reviewers,amy
Differential Revision: https://phabricator.services.mozilla.com/D249842
- - - - -
4ae3743b by Aristide Tossou at 2025-05-22T02:07:47+00:00
Bug 1966713 - [linkPreview] Remove hyperlinks and simplify inputs from readability - r=txia,firefox-ai-ml-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250441
- - - - -
7f3ec269 by Daniel Holbert at 2025-05-22T02:08:12+00:00
Bug 1967844: Make image.natural-size-fallback.enabled only default to true in nightly. r=layout-reviewers,emilio,TYLin
This is a new pref that I only recently added as part of Nightly 140 cycle, and
there's a bit more associated work that I want to do (in bug 1965560) before
we let the new behavior ride the trains to release.
Differential Revision: https://phabricator.services.mozilla.com/D250526
- - - - -
592b7545 by John M. Schanck at 2025-05-22T02:08:39+00:00
Bug 1966632 - bundle cross-signed "SSL.com TLS Transit ECC CA R2" intermediate. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D250486
- - - - -
75808814 by Tim C at 2025-05-22T02:09:05+00:00
Bug 1967828 - Add fallback to first engine in the list coming from remote servers r=android-reviewers,skhan
Differential Revision: https://phabricator.services.mozilla.com/D250503
- - - - -
7c08b42e by Cristina Horotan at 2025-05-22T02:54:34+00:00
Revert "Bug 1967208 - Unify menulist.css. r=desktop-theme-reviewers,dao" for causing build bustages at menulist.css
This reverts commit 16518dda48f436cbe04f42dc1c213ee55850cce9.
Revert "Bug 1967208 - Fix native menulist styling on Linux and Windows. r=desktop-theme-reviewers,sfoster"
This reverts commit d0056709c99fd34b1a38dddf747361f3a9c182f1.
- - - - -
6efc2103 by Roger Yang at 2025-05-22T03:07:57+00:00
Bug 1813776 - Remove URL validation in custom search engine settings. r=android-reviewers,tchoh,android-l10n-reviewers,delphine
Differential Revision: https://phabricator.services.mozilla.com/D250476
- - - - -
44d54c7a by Dana Keeler at 2025-05-22T03:08:23+00:00
Bug 1966033 - pass the list of acceptable issuers through to the android API for client auth certs r=jschanck,geckoview-reviewers,geckoview-api-reviewers,ohall,owlish
Differential Revision: https://phabricator.services.mozilla.com/D249184
- - - - -
a84eb31f by Daniel Holbert at 2025-05-22T03:08:50+00:00
Bug 1941959: Add code-comments to compute-kind-widget WPTs to clarify that their CSS rules are only used in a few of the tests. r=zcorpan
The only manual changes in this patch are in the
build-compute-kind-widget-fallback-props.py script. The rest of this patch
was auto-generated by simply running that script.
Differential Revision: https://phabricator.services.mozilla.com/D234715
- - - - -
bf5dda4a by Beth Rennie at 2025-05-22T03:09:19+00:00
Bug 1956080 - Add NimbusTestUtils helpers for dealing with the SQL database r=nimbus-reviewers,relud
When we start executing SQL queries during unenrollment, the
ExperimentManager.unenroll() function will become effectively async. We
need to change our cleanup functions to work in this semi-async world.
Differential Revision: https://phabricator.services.mozilla.com/D250504
- - - - -
5fd7b08d by Jed Davis at 2025-05-22T03:09:45+00:00
Bug 1965103 - Turn `security.sandbox.content.headless` into sandbox level 5. r=firefox-desktop-core-reviewers ,mossop,gcp
This was a separate pref because it also side-effects the graphics stack
by setting `MOZ_HEADLESS` for content processes. But, it makes more
sense to have it be part of the ordered sequence of sandbox levels (for
example, the upcoming ioctl lockdown will also break graphics drivers),
and in general it's better if the sandbox policy can be understood by
looking at only one pref instead of several.
There is *no* pref migration for older profiles. If anyone had
`security.sandbox.content.headless` set to false: if the reason was to
also turn off `webgl.out-of-process`, try resetting that pref and see if
everything still works. If that's not the case, or if there are still
bugs with default settings, please report them, and the sandbox level
can be lowered to 4 as a workaround.
Differential Revision: https://phabricator.services.mozilla.com/D249016
- - - - -
d2b36313 by Greg Mierzwinski at 2025-05-22T03:10:12+00:00
Bug 1966090 - Pass intermixed argument to _parse_known_args on python 3.12+. r=perftest-reviewers,afinder
This patch fixes an issue on mozperftest when running it with python 3.12+. It relates to a new parameter that has been added in python 3.13, and that does not exist in earlier versions (hence the version check).
Differential Revision: https://phabricator.services.mozilla.com/D249070
- - - - -
0331b186 by Jeff Muizelaar at 2025-05-22T03:10:37+00:00
Bug 1965023 - Convert media element markers to flows. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D248275
- - - - -
ce6ea992 by Andrew Sutherland at 2025-05-22T03:11:03+00:00
Bug 1967877 - Ignore prefs set by PBM new tab page that trip up test-verify mode. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D250566
- - - - -
79385bff by Jeff Muizelaar at 2025-05-22T03:11:28+00:00
Bug 1967506. Change the broken site reporter reasons r=android-reviewers,webcompat-reviewers,android-l10n-reviewers,fluent-reviewers,twisniewski,flod,calu
This makes things less ambiguous and more specific.
This also makes a change to lowercase the reason name that
ends up in the report on Android to match desktop.
Differential Revision: https://phabricator.services.mozilla.com/D250264
- - - - -
efc7e555 by Corey Bryant at 2025-05-22T03:11:55+00:00
Bug 1967871 - Restore push field for merge automation. r=taskgraph-reviewers,releng-reviewers,bhearsum
Thunderbird still needs this field until it moves to git.
Differential Revision: https://phabricator.services.mozilla.com/D250562
- - - - -
d7685c41 by sarah541 at 2025-05-22T03:12:07+00:00
Bug 1966117 - Fix search icons fetched from client r=android-reviewers,harrisono
Differential Revision: https://phabricator.services.mozilla.com/D250417
- - - - -
23f11252 by sarah541 at 2025-05-22T03:12:11+00:00
Bug 1967847 - Enable Search Consolidation in nightly by default r=android-reviewers,tchoh,Roger
Differential Revision: https://phabricator.services.mozilla.com/D250527
- - - - -
85b708e8 by Cristina Horotan at 2025-05-22T05:03:06+00:00
Revert "Bug 1956080 - Add NimbusTestUtils helpers for dealing with the SQL database r=nimbus-reviewers,relud" on request for causing multiple failures
This reverts commit 6502db91d50e8c669ae6664cc983f4b30c791baf.
- - - - -
2efc2e83 by Cristina Horotan at 2025-05-22T05:03:10+00:00
Revert "Bug 1967871 - Restore push field for merge automation. r=taskgraph-reviewers,releng-reviewers,bhearsum" for causing Python ci failure
This reverts commit 9cfeb025a5661c14a8682d1b3a7dadaa955d3fbe.
- - - - -
0c6fc3dd by Sandor Molnar at 2025-05-22T05:43:14+00:00
Revert "Bug 1962056 - use the category manager for first window ready initialization, r=firefox-desktop-core-reviewers ,mossop" for causing xpc/bc related failures.
This reverts commit d8dcab1023e1d209e8c84d6b447e0c710b8d25fe.
- - - - -
ca736ae4 by Masayuki Nakano at 2025-05-22T05:46:55+00:00
Bug 1966551 - Make `PointerEventHandler::DispatchPointerFromMouseOrTouch()` dispatch synthesized `ePointerMove` for synthesized `eMouseMove` if it's caused by hoverable pointer r=smaug
Currently, we don't dispatch synthesized `ePointerMove` unless it's
required for dispatch the boundary events after dispatching
`ePointerLostCapture` event [1] since Pointer Events defined that the
boundary events should be fired only when before dispatching a pointer
event. However, it's changed, Point Events currently defines that the
boundary events should be fired if the element under the pointer is
changed without a `pointermove` [2] if and only if the pointer supports
hover.
Therefore, this patch makes `PresShell` store the last input source
whose event set the mouse location at last and
`PresShell::ProcessSynthMouseMoveEvent()` sets the input source to make
`PointerEventHandler::DispatchPointerFromMouseOrTouch()` can consider
whether it needs to dispatch pointer boundary events or not for the
pointer.
Additionally, the mochitests for the manual WPTs under
`dom/events/test/pointerevents` checks `pointerId`. Therefore, this
patch makes `PresShell` also store the last `pointerId` and set it to
the synthesized `eMouseMove` too.
I think that this approach is **not** correct approach to fix this bug
because there could be multiple hoverable pointers, but we synthesize
pointer boundary events only for the last input device. I think it's
enough for now because we've not supported pen well (we've not supported
the test API yet!), so, we only support only mouse input well as
hoverable inputs. I think we should extend `PointerInfo` and make a
synthesizer of `ePointerMove` later.
Note that this patch changes 2 WPTs which both are in the scope of
Interop.
The expectation of
`pointerevent_pointer_boundary_events_after_removing_last_over_element.html`
needs to be changed for conforming to the latest spec. I wrote this
test before the spec change and it wasn't updated when the spec is
changed. I filed this issue to interop [3].
The changes for `pointerevent_pointerout_no_pointer_movement.html` is
required for avoiding the timeout. Gecko does not allow recursive
synthesized `eMouseMove` to prevent infinite reflow loops without moving
the mouse cursor. However, the test expects that and that causes
requiring the hack for Chrome too. Therefore, I split the test to
make each step run in different event loop and I removed the hack for
Chrome.
Note that this patch also removes 2 sets of mochitests for WPT manual
tests because they are now tested with the test driver [4][5] and they
fail without maintained.
1. https://searchfox.org/mozilla-central/rev/f571db8014431de31d245017e2f545704…
2. https://w3c.github.io/pointerevents/#boundary-events-caused-by-layout-chang…
3. https://github.com/web-platform-tests/interop/issues/961
4. https://wpt.fyi/results/pointerevents/pointerevent_boundary_events_in_captu…
5. https://wpt.fyi/results/pointerevents/pointerevent_releasepointercapture_ev…
Differential Revision: https://phabricator.services.mozilla.com/D250421
- - - - -
fd686217 by Mike Hommey at 2025-05-22T05:47:21+00:00
Bug 1966547 - Remove unnecessary virtual specifiers. r=nika,necko-reviewers,media-playback-reviewers,permissions-reviewers,timhuang,kershaw,padenot
clang 21 now warns about them.
Differential Revision: https://phabricator.services.mozilla.com/D249517
- - - - -
917c15bc by Gregory Pappas at 2025-05-22T05:47:47+00:00
Bug 1966792 - Add keyboard shortcut to screenshots tooltip r=sfoster,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D249931
- - - - -
aebaac53 by Reem H at 2025-05-22T05:48:13+00:00
Bug 1965944 - Visual updates for medium card UI. r=home-newtab-reviewers,nbarrett,npypchenko
Differential Revision: https://phabricator.services.mozilla.com/D249215
- - - - -
65672f5b by Jed Davis at 2025-05-22T05:48:25+00:00
Bug 1302711 - Add Linux content sandbox level 6, for `ioctl` lockdown. r=gcp
The sandbox already limits `ioctl` attack surface by restricting what
files can be opened (you can't call a device's `ioctl` handler if you
can't get a fd for that device), but it's always good to have defense in
depth, especially when it can be implemented this simply.
The new policy is default-deny, allowing only a couple ioctls that
are really fcntls; others may be added as needed.
The old, default-allow policy (which blocked only tty ioctls) is still
available by lowering the pref `security.sandbox.content.level` to 5,
and for now that is also the case in safe mode. (The safe mode sandbox
lowering may be removed in the future once this is better tested.)
Differential Revision: https://phabricator.services.mozilla.com/D249017
- - - - -
8898157d by Jed Davis at 2025-05-22T05:48:29+00:00
Bug 1302711 - Add Linux socket process sandbox level 2, for `ioctl` lockdown. r=gcp
See the previous commit, about content sandbox level 6, for details;
this is basically the same (except with one more ioctl allowlisted, and
controlled by a different pref).
This patch also adds some plumbing to get the socket sandbox level into
the code that constructs the policy, modeled on how it works for content
processes. (Previously the only levels of the socket process sandbox
were "on" and "off" so that wasn't necessary until now.)
Differential Revision: https://phabricator.services.mozilla.com/D249018
- - - - -
b9d967c2 by Release Engineering Landoscript at 2025-05-22T06:52:01+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
af -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
an -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ar -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ast -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
az -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
be -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bg -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
br -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
brx -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ca -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ca-valencia -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cak -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ckb -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cy -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
da -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
de -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
dsb -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
el -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
en-CA -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
en-GB -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
eo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-AR -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-CL -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-ES -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-MX -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
et -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
eu -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fa -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ff -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fi -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fur -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fy-NL -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ga-IE -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gd -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gu-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
he -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hi-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hsb -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hu -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hy-AM -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hye -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ia -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
id -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
is -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
it -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ja -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ja-JP-mac -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ka -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kab -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
km -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ko -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lij -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lt -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ltg -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lv -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
meh -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
mk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ml -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
mr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ms -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
my -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nb-NO -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ne-NP -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nn-NO -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
oc -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pa-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pt-BR -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pt-PT -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
rm -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ro -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ru -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sat -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sc -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
scn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sco -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
si -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
skr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
son -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sq -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sv-SE -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
szl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ta -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
te -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
tg -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
th -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
tl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
tr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
trs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
uk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ur -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
uz -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
vi -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
wo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
xh -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
zh-CN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
zh-TW -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
- - - - -
dab3bfb9 by Release Engineering Landoscript at 2025-05-22T06:52:05+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
an -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ar -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ast -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
az -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
be -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bg -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
br -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
bs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ca -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cak -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
cy -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
da -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
de -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
dsb -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
el -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
en-CA -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
en-GB -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
eo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-AR -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-CL -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-ES -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
es-MX -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
et -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
eu -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fa -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ff -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fi -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
fy-NL -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ga-IE -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gd -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
gu-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
he -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hi-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hsb -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hu -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
hy-AM -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ia -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
id -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
is -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
it -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ja -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ka -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kab -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
km -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
kn -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ko -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lij -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lt -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ltg -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
lv -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
meh -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
mix -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ml -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
mr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ms -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
my -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nb-NO -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ne-NP -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
nn-NO -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
oc -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pa-IN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pt-BR -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
pt-PT -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
rm -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ro -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ru -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
son -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sq -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
sv-SE -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ta -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
te -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
th -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
tl -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
tr -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
trs -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
uk -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
ur -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
uz -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
vi -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
wo -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
xh -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
zam -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
zh-CN -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
zh-TW -> 2557c1c11f2d59d6b2ff36f2ab2d71eb33d92854
- - - - -
9089669f by Alexandru Marc at 2025-05-22T07:21:13+00:00
Revert "Bug 1966658 - Populate the partitionedPrincipal to the SessionHistoryEntry in the parent process. r=smaug,sessionstore-reviewers,core-sessionstore-reviewers,farre"
This reverts commit 52c31c4da0149c5ca72b8a1dd37473c01785c484.
- - - - -
0e9fb035 by Gijs Kruitbosch at 2025-05-22T07:23:16+00:00
Bug 1962056 - use the category manager for first window ready initialization, r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D244429
- - - - -
a1068664 by iulian moraru at 2025-05-22T07:39:28+00:00
Revert "Bug 1967834 - moved process_gn_config call to generate_gn_config. r=ng" for causing bc and xpcshell failures.
This reverts commit fbd34bb1de2004c8c80a2973d148828efc3774b0.
Revert "Bug 1967834 - run calls to generate_gn_config in parallel. r=ng DONTBUILD"
This reverts commit 16cb199df30f675fc1c772e4f12b75d0fb03895e.
Revert "Bug 1967834 - move writing individual moz.build file to separate function for clarity. r=ng DONTBUILD"
This reverts commit f940c62b9a3cd42df337b9a61b030b14babb1569.
- - - - -
9da3e4cc by Jon Coppeard at 2025-05-22T07:47:32+00:00
Bug 1967467 - Add a GC parameter to control the nursery's max collection time target r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D250397
- - - - -
eefee1d6 by iulian moraru at 2025-05-22T08:22:48+00:00
Revert "Bug 1967834 - remove the preprocessing scripts in favor of direct changes in gn_processor.py r=ng" for causing bc and xpcshell failures.
This reverts commit e485a3d10af8d69475ec1802291bdd3ece3b6696.
- - - - -
d371b456 by Mike Hommey at 2025-05-22T08:25:08+00:00
Bug 1967890 - Increase max-run-time for non-unified linux builds. r=taskgraph-reviewers,jcristau
Differential Revision: https://phabricator.services.mozilla.com/D250577
- - - - -
24ed8ac4 by Emilio Cobos Álvarez at 2025-05-22T08:25:34+00:00
Bug 1967507 - Remove Document::GetAnonRootIfInAnonymousContentContainer. r=smaug
These bits are not needed now that AnonymousContent uses shadow DOM.
Differential Revision: https://phabricator.services.mozilla.com/D250530
- - - - -
04f1924f by Yulia at 2025-05-22T08:26:01+00:00
Bug 1966657: Only run shell jobs if JS_ExecuteScript returns true; r=iain
Differential Revision: https://phabricator.services.mozilla.com/D250193
- - - - -
1ad57b53 by Alexandru Marc at 2025-05-22T08:26:27+00:00
Bug 1965944 - Revert "Bug 1965944 - Visual updates for medium card UI. "
This reverts commit c94714433dc639941f392ec3ceb656a3ce0b81b2.
Differential Revision: https://phabricator.services.mozilla.com/D250596
- - - - -
e683ed9e by Emilio Cobos Álvarez at 2025-05-22T08:26:40+00:00
Bug 1967208 - Fix native menulist styling on Linux and Windows. r=desktop-theme-reviewers,sfoster
Make padding match buttons. Show the dropmarker properly too.
Differential Revision: https://phabricator.services.mozilla.com/D250006
- - - - -
ab0788da by Emilio Cobos Álvarez at 2025-05-22T08:26:43+00:00
Bug 1967208 - Unify menulist.css. r=desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D250022
- - - - -
374a3706 by Mark Banner at 2025-05-22T08:27:26+00:00
Bug 1966726 - Add a test to ensure that search engines are ordered by name in the engine selector. r=mcheang
Differential Revision: https://phabricator.services.mozilla.com/D249637
- - - - -
e38c8f9c by Tom Schuster at 2025-05-22T08:27:55+00:00
Bug 1964754 - Remove nsIContentPolicy TYPE_OBJECT_SUBREQUEST. r=necko-reviewers,webdriver-reviewers,extension-reviewers,devtools-reviewers,valentin,robwu,whimboo,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D250027
- - - - -
2314f129 by Jan-Erik Rediger at 2025-05-22T08:28:49+00:00
Bug 1967754 - Update to Glean v64.3.0 r=TravisLong,supply-chain-reviewers,mach-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D250445
- - - - -
0c1fd295 by Keith Cirkel at 2025-05-22T08:29:42+00:00
Bug 1966702 - Implement debugger breakpoints for CloseWatcher events r=nchevobbe,devtools-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250307
- - - - -
40b08358 by Sandor Molnar at 2025-05-22T10:29:16+00:00
Reapply "Bug 1967834 - remove the preprocessing scripts in favor of direct changes in gn_processor.py r=ng".
This reverts commit 946f65307b1377e305dbbd65fa43009b34f39604.
- - - - -
994e0a3c by Sandor Molnar at 2025-05-22T10:29:19+00:00
Revert "Bug 1966632 - bundle cross-signed "SSL.com TLS Transit ECC CA R2" intermediate. r=keeler" for causing bc failures
This reverts commit 4ac16f5365523b0d9d5b182d1b81e764b04f4ec8.
- - - - -
9ad83735 by Sandor Molnar at 2025-05-22T10:29:23+00:00
Revert "Bug 1967506. Change the broken site reporter reasons r=android-reviewers,webcompat-reviewers,android-l10n-reviewers,fluent-reviewers,twisniewski,flod,calu" for causing fenix ui test failures
This reverts commit 329c1aaa59321d55bb89d45936e1d3c5bbef1832.
- - - - -
99ef23c5 by Rob Wu at 2025-05-22T10:36:13+00:00
Bug 1948261 - Add "Pin extension to toolbar" checkbox in postinstall r=zombie,fluent-reviewers,bolsson
This adds the "Pin extension to toolbar" checkbox to the post-install
doorhanger, and ensures that the checkbox has a state that reflects the
actual placement of the button, including externally triggered changes.
Differential Revision: https://phabricator.services.mozilla.com/D250324
- - - - -
873284b5 by Johannes Pfrang at 2025-05-22T10:36:40+00:00
Bug 1827615 - [Wayland] Fix Level3 and Level5 mappings. r=stransky
libxkbcommon actually uses the strings "LevelThree" and "LevelFive" for
Level3 / Level5 respectively. To prevent this mixup from happening again,
use the defines from libxkbcommon and add fallbacks on our side as well.
Furthermore, GDK does not support Level3 / Level5 vmods in GdkModifierType,
and we also can't expect bitwise compatibility between GdkModifierType and
the opaque `(1 << xkb_keymap_mod_get_index(...))` result. Instead, use the
libxkbcommon API to reverse the vmod->rmod mapping GDK does internally,
and match against that. Do no translate the META, SUPER and HYPER vmods,
which are natively supported by GDK, because they otherwise collide with
rmods like ALT, which we don't want to happen.
See also: https://github.com/xkbcommon/libxkbcommon/discussions/732
Differential Revision: https://phabricator.services.mozilla.com/D250529
- - - - -
3373c8b1 by Nicolas Silva at 2025-05-22T10:37:11+00:00
Bug 1926651 - Point DXC builds to a newer revision.r=jimb,ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D250447
- - - - -
285bc3d0 by Reem H at 2025-05-22T10:37:37+00:00
Bug 1965944 - Visual updates for medium card UI. r=home-newtab-reviewers,nbarrett,npypchenko
Differential Revision: https://phabricator.services.mozilla.com/D249215
- - - - -
58839dd9 by Emilio Cobos Álvarez at 2025-05-22T10:38:03+00:00
Bug 1967479 - Clear vertices if GetOrBuildPathForMeasuring() fails. r=longsonr
It's failing here:
https://searchfox.org/mozilla-central/rev/02d33f4bf984f65bd394bfd2d19d66569…
Which makes sense I think, because off the zero radii. Keep the state
consistent in that case.
Differential Revision: https://phabricator.services.mozilla.com/D250624
- - - - -
01f3c018 by Carlos Alberto Lopez Perez at 2025-05-22T10:38:15+00:00
Bug 1966556 [wpt PR 52559] - Merge the page-lifecycle tests into one unique top-level directory.,
Automatic update from web-platform-tests
Join the page-lifecycle inside one unique top-level directory. (#52559)
--
wpt-commits: 371bb0bb1d8203aff37d0841c290eb9b9b60ac22
wpt-pr: 52559
Differential Revision: https://phabricator.services.mozilla.com/D250617
- - - - -
b583d055 by moz-wptsync-bot at 2025-05-22T10:38:19+00:00
Bug 1966556 [wpt PR 52559] - Update wpt metadata,
wpt-pr: 52559
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250618
- - - - -
1b872257 by Rune Lillesveen at 2025-05-22T10:38:23+00:00
Bug 1966587 [wpt PR 52564] - Use TreeCountingChecker for rotate interpolations,
Automatic update from web-platform-tests
Use TreeCountingChecker for rotate interpolations
Coincidentally fixing 384966232 by passing a proper CSSLengthResolver
Bug: 415626999, 384966232
Change-Id: Ifa60457e219816e10207977f28b749c85fc8736f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6543093
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460561}
--
wpt-commits: 13c6c3671c67092d98626a078b07d995a51738d5
wpt-pr: 52564
Differential Revision: https://phabricator.services.mozilla.com/D250619
- - - - -
e76fafb2 by moz-wptsync-bot at 2025-05-22T10:38:26+00:00
Bug 1966587 [wpt PR 52564] - Update wpt metadata,
wpt-pr: 52564
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250620
- - - - -
0dbb3b1a by Arnaud Mandy at 2025-05-22T10:38:30+00:00
Bug 1966633 [wpt PR 52565] - compute pressure: Add OwnContributionEstimate to API.,
Automatic update from web-platform-tests
compute pressure: Add OwnContributionEstimate to API.
This patch is the second part of the two patches patchset to
implement OnwContributionEstimate feature described in [1].
The first patch for crbug.com/402033762 addressed the
implementation-specific part, modifying //services and //content.
This patch exposes OwnContributionEstimate to Compute Pressure API.
The CDP has been also modified to also include a virtual estimate value.
Testdriver code was also modified to support estimate as a virtual
source input parameter.
[1] https://w3c.github.io/compute-pressure/?experimental=1#the-owncontributione…
Bug: 402033762
Change-Id: Ie4ff1294aea757700fb1cf6b5f22f18906867428
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6373001
Reviewed-by: Alex Rudenko <alexrudenko(a)chromium.org>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: Koji Ishii <kojii(a)chromium.org>
Reviewed-by: Danil Somsikov <dsv(a)chromium.org>
Commit-Queue: Arnaud Mandy <arnaud.mandy(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1460595}
--
wpt-commits: 9c26aadd95c82cc819cb766ea69946467cf6d5ea
wpt-pr: 52565
Differential Revision: https://phabricator.services.mozilla.com/D250621
- - - - -
47e2efc7 by moz-wptsync-bot at 2025-05-22T10:38:34+00:00
Bug 1966633 [wpt PR 52565] - Update wpt metadata,
wpt-pr: 52565
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250622
- - - - -
f9d3f0ab by Keith Cirkel at 2025-05-22T10:38:38+00:00
Bug 1966338 [wpt PR 52527] - add tests for canonicalisation of the video preload attribute,
Automatic update from web-platform-tests
add tests for canonicalisation of the video preload attribute (#52527)
--
wpt-commits: 3b98b229846386fa60eec6ecb6ef93074033c4c5
wpt-pr: 52527
Differential Revision: https://phabricator.services.mozilla.com/D250623
- - - - -
1a05dccb by moz-wptsync-bot at 2025-05-22T10:38:41+00:00
Bug 1966338 [wpt PR 52527] - Update wpt metadata,
wpt-pr: 52527
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250625
- - - - -
29fb0b7f by Daniil Sakhapov at 2025-05-22T10:38:45+00:00
Bug 1966635 [wpt PR 52566] - Don't parse element dependent math functions in canvas context,
Automatic update from web-platform-tests
Don't parse element dependent math functions in canvas context
Fixed: 416454066
Change-Id: I0b864228593318e98a81143b5eed11b328795624
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6533703
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460616}
--
wpt-commits: 3dbf1963195e65f2f04b26013ad07f9202b93cc8
wpt-pr: 52566
Differential Revision: https://phabricator.services.mozilla.com/D250626
- - - - -
3fd7bc2d by Anders Hartvoll Ruud at 2025-05-22T10:38:49+00:00
Bug 1966655 [wpt PR 52567] - Drop tentative suffix for timeline-scope-computed/parsing.html,
Automatic update from web-platform-tests
Drop tentative suffix for timeline-scope-computed/parsing.html
Bug: 40065520
Change-Id: I7d60d0b0888ca9f766e036d2f33ff45f526f5cb0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6551239
Reviewed-by: Kevin Ellis <kevers(a)chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460652}
--
wpt-commits: 8db62f110de08edcca8cfba96e4f77921431cce3
wpt-pr: 52567
Differential Revision: https://phabricator.services.mozilla.com/D250627
- - - - -
2c2af7d1 by moz-wptsync-bot at 2025-05-22T10:38:52+00:00
Bug 1966655 [wpt PR 52567] - Update wpt metadata,
wpt-pr: 52567
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250628
- - - - -
57a5f100 by Max Ihlenfeldt at 2025-05-22T10:38:56+00:00
Bug 1966700 [wpt PR 52568] - Enable some WPT tests depending on CSSTest fonts,
Automatic update from web-platform-tests
Enable some WPT tests depending on CSSTest fonts
https://crrev.com/c/6512831 added the CSSTest fonts to test_fonts, so we
can now enable some tests that depend on them on Linux (the only
platform where test_fonts are loaded).
Bug: 412384635
Change-Id: Iaf36e6dcf3249c9bbe3fc9bfda1135c44780a7ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6476224
Reviewed-by: Dominik Röttsches <drott(a)chromium.org>
Commit-Queue: Dominik Röttsches <drott(a)chromium.org>
Auto-Submit: Max Ihlenfeldt <max(a)igalia.com>
Cr-Commit-Position: refs/heads/main@{#1460718}
--
wpt-commits: 542ce5d49d33df06e8e1ab929359568c469e983c
wpt-pr: 52568
Differential Revision: https://phabricator.services.mozilla.com/D250629
- - - - -
05824e4c by moz-wptsync-bot at 2025-05-22T10:39:00+00:00
Bug 1966700 [wpt PR 52568] - Update wpt metadata,
wpt-pr: 52568
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250630
- - - - -
0f3b24ca by Javier Contreras Tenorio (from Dev Box) at 2025-05-22T10:39:04+00:00
Bug 1966725 [wpt PR 52569] - [gap-decorations] Avoid invalidating col rules when GapDecorations is on,
Automatic update from web-platform-tests
[gap-decorations] Avoid invalidating col rules when GapDecorations is on
This CL makes it so we avoid making a call to
`ColumnRuleStyleDidChange()` in `LayoutBlockFlow::StyleDidChange()` so
that we do not invalidate column rules when GapDecorations is enabled,
since with GapDecorations we already invalidate via the `invalidate:
paint` pipeline in `css_properties.json`.
The test added in this CL makes sure we are still invalidating correctly
after this change.
Bug: 357648037
Change-Id: I93f1a453133e658bca88277d8e253075ce2e2cd7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532734
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Reviewed-by: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1460754}
--
wpt-commits: 12048307995281f5e6cc9f3bcfb20d7b2877bd48
wpt-pr: 52569
Differential Revision: https://phabricator.services.mozilla.com/D250631
- - - - -
4671f35e by Blink WPT Bot at 2025-05-22T10:39:07+00:00
Bug 1966538 [wpt PR 52556] - QuotaExceededError: Update to a DOMException derived interface,
Automatic update from web-platform-tests
QuotaExceededError: Update to a DOMException derived interface (#52556)
This change introduces a new QuotaExceededError class to
update the existing QuotaExceededError so services can return
`quota` and `requested` properties as needed. Implemented behind
RuntimeEnabledFlag `QuotaExceededErrorUpdate`. Changes to
update services throwing QuotaExceededError to use the new class
will be made in following changes (except for IDB which triggered
failures with this change).
Proposal: https://github.com/whatwg/webidl/pull/1465
Chromestatus: https://chromestatus.com/feature/6194847180128256
Bug: 406162261
Change-Id: I68e91e15724e64c0995365ee63d4abe627fe06d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6516473
Reviewed-by: Domenic Denicola <domenic(a)chromium.org>
Commit-Queue: Ayu Ishii <ayui(a)chromium.org>
Reviewed-by: Joey Arhar <jarhar(a)chromium.org>
Reviewed-by: Joe Mason <joenotcharles(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1460403}
Co-authored-by: Ayu Ishii <ayui(a)chromium.org>
--
wpt-commits: 16a71c4282b0379f639051c0a3f98f3fcdaa2149
wpt-pr: 52556
Differential Revision: https://phabricator.services.mozilla.com/D250632
- - - - -
ca767a6b by moz-wptsync-bot at 2025-05-22T10:39:11+00:00
Bug 1966538 [wpt PR 52556] - Update wpt metadata,
wpt-pr: 52556
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250633
- - - - -
ee1f8099 by youennf at 2025-05-22T10:39:15+00:00
Bug 1962698 [wpt PR 52174] - Add a test validating that encoded transforms cannot be reused,
Automatic update from web-platform-tests
Add a test validating that encoded transforms cannot be reused (#52174)
* Add a test validating that encoded transforms cannot be reused
* Update webrtc-encoded-transform/RTCRtpScriptTransform-encoded-transform.https.html
Co-authored-by: Jan-Ivar Bruaroey <jan-ivar(a)users.noreply.github.com>
---------
Co-authored-by: Jan-Ivar Bruaroey <jan-ivar(a)users.noreply.github.com>
--
wpt-commits: cb101f4f94126b7ef842c180c204b090875a3fe9
wpt-pr: 52174
Differential Revision: https://phabricator.services.mozilla.com/D250634
- - - - -
2a16cb15 by Sam Sneddon at 2025-05-22T10:39:19+00:00
Bug 1966747 [wpt PR 52424] - Install requirements for mypy,
Automatic update from web-platform-tests
Fix #52417: Add missing requirements_metadata.txt
--
Install requirements for mypy
This provides mypy with knowledge of the types for packages that
include type data.
--
Remove unused import
--
wpt-commits: 70cea246fc01de210a03a5c4c87608206aafb1ad, c03fb6d7058c1700600f2b9797bd83e6f7b7fd61, 0f86ae6e69c0a5f5742dc039d8e3a3b80421c57b
wpt-pr: 52424
Differential Revision: https://phabricator.services.mozilla.com/D250635
- - - - -
f67a2270 by Nathan Memmott at 2025-05-22T10:39:22+00:00
Bug 1966742 [wpt PR 52573] - Don't proceed after a progress event triggers an abort,
Automatic update from web-platform-tests
Don't proceed after a progress event triggers an abort
For Translator and the Writing Assistance APIs, if an ProgressEvent
triggers an abort, then we could erroneously send another event or try
to resolve the promise with a new instance of the API. This checks
after each ProgressEvent if we've aborted and stops if we did.
Fixed: 412444078, 415111444
Change-Id: Ib235d061639d7d69f549c74a371031d10a082c39
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6547878
Reviewed-by: Daseul Lee <dslee(a)chromium.org>
Commit-Queue: Nathan Memmott <memmott(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460854}
--
wpt-commits: 3604bf586fb764a71b7d041aca518be866db3212
wpt-pr: 52573
Differential Revision: https://phabricator.services.mozilla.com/D250636
- - - - -
05f15170 by moz-wptsync-bot at 2025-05-22T10:39:26+00:00
Bug 1966742 [wpt PR 52573] - Update wpt metadata,
wpt-pr: 52573
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250637
- - - - -
141ddce1 by Anders Hartvoll Ruud at 2025-05-22T10:39:30+00:00
Bug 1966770 [wpt PR 52577] - Make var() and attr() short-circuiting,
Automatic update from web-platform-tests
Make var() and attr() short-circuiting
Following the resolution in Issue 11500, all substitution functions
should be short-circuiting. This CL implements this for var()
and attr(), behind the flag CSSShortCircuitVarAttr.
Note that env() already has the desired behavior, and therefore
no change is needed for env().
https://github.com/w3c/csswg-drafts/issues/11500
Bug: 397690639
Change-Id: If71326bc52a55524ecfd4d439d30ac09bf22fea3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6530122
Reviewed-by: Munira Tursunova <moonira(a)google.com>
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460882}
--
wpt-commits: 649319c229a6037ad25250a4f006bf605e986e81
wpt-pr: 52577
Differential Revision: https://phabricator.services.mozilla.com/D250638
- - - - -
75c5ac48 by moz-wptsync-bot at 2025-05-22T10:39:33+00:00
Bug 1966770 [wpt PR 52577] - Update wpt metadata,
wpt-pr: 52577
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250639
- - - - -
d7b08a83 by anushamuley at 2025-05-22T10:39:37+00:00
Bug 1966785 [wpt PR 52572] - Update cookieStore WPTs to not append "/" to the path attribute,
Automatic update from web-platform-tests
Update cookieStore WPTs to not append "/" to the path attribute
Remove this behavior for better interoperability with document.cookie
and the Set-Cookie header. This logic was added in
https://chromium-review.googlesource.com/c/chromium/src/+/2131031 but it
is unclear why that was done (per
https://github.com/WICG/cookie-store/issues/244)
This change additionally updates the set/delete test cleanup methods to
use the `Set-Cookie` header instead of `cookieStore.delete` to delete
cookies to avoid a dependency on the API being tested.
Bug: 402779102
Change-Id: I50fea05101c839f55736e7f3c958c919dd119f27
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6520094
Auto-Submit: Anusha Muley <anushamuley(a)google.com>
Reviewed-by: Chris Fredrickson <cfredric(a)chromium.org>
Reviewed-by: Dylan Cutler <dylancutler(a)google.com>
Commit-Queue: Dylan Cutler <dylancutler(a)google.com>
Commit-Queue: Anusha Muley <anushamuley(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1460844}
--
wpt-commits: 40130390ab10d1a05a1b8a2e964e016e2ae57a9b
wpt-pr: 52572
Differential Revision: https://phabricator.services.mozilla.com/D250640
- - - - -
372a389b by Nathan Memmott at 2025-05-22T10:39:41+00:00
Bug 1966782 [wpt PR 52579] - Translator: Composite instance method abort signals with the create abort signal,
Automatic update from web-platform-tests
Translator: Composite instance method abort signals with the create abort signal
This composites Translator's translate, translateStreaming, and
measureInputUsage's abort signals with the abort signal used to create
the Translator. As part of this, the destroy signal is aligned with spec
and rejects with AbortError instead of InvalidStateError.
Fixed: 399693771
Change-Id: I245082364c1f8a51ce7781027c04d941e0e4efb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6553208
Reviewed-by: Christine Hollingsworth <christinesm(a)chromium.org>
Commit-Queue: Nathan Memmott <memmott(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460965}
--
wpt-commits: 0b3673275ec1c3545c266a8ad32229e2de100bec
wpt-pr: 52579
Differential Revision: https://phabricator.services.mozilla.com/D250641
- - - - -
130a7700 by moz-wptsync-bot at 2025-05-22T10:39:45+00:00
Bug 1966782 [wpt PR 52579] - Update wpt metadata,
wpt-pr: 52579
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250642
- - - - -
15d3fc0b by Bryan Bernhart at 2025-05-22T10:39:48+00:00
Bug 1966755 [wpt PR 52574] - WebNN: support constant tensors,
Automatic update from web-platform-tests
WebNN: support constant tensors
Allows MLTensor to be input to constant() so weights can be
reused on-device between multiple builds on the same builder
or different builders. This eliminates the need to keep the original
JS input data and lowers CPU memory usage.
To keep the CL size in check, only the DML backend was enabled.
More specifically:
* Adds constant usage to MLTensor.
* Allows tensors to be initialized from a supplied JS buffer.
* Supports graph builds using weights from tensors.
Restrictions:
* Constant tensors cannot be dispatched.
* Constant tensors must be initialized.
* Constant tensors must remain static.
https://github.com/webmachinelearning/webnn/issues/760
Bug: 332350952
Change-Id: Ib18dfe06ead6728172355f2a540e3faeec99917b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6075601
Reviewed-by: Alex Gough <ajgo(a)chromium.org>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Commit-Queue: Bryan Bernhart <bryan.bernhart(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1460981}
--
wpt-commits: 92ec2abac329e59a4aa790d966f43efe7465fd6d
wpt-pr: 52574
Differential Revision: https://phabricator.services.mozilla.com/D250643
- - - - -
ba2fb5c2 by Sam Sneddon at 2025-05-22T10:39:52+00:00
Bug 1965978 [wpt PR 52485] - Fix #52484: test_trickle should actually test trickling,
Automatic update from web-platform-tests
Fix #52484: test_trickle should actually test trickling
A random failure on CI made me notice that the pass condition for this
test has always been backwards: it's always been testing the trickle
takes less than six seconds. It typically passed because we weren't
actually reading all the content from the response within block we
were timing, though this is subject to buffering choices.
This both fixes that, and moves us to use a monotonic clock, and
provides an allowance for the clock resolution.
--
wpt-commits: 63b3ba89384e58d33b00d09d996d22c307de974f
wpt-pr: 52485
Differential Revision: https://phabricator.services.mozilla.com/D250644
- - - - -
e411b105 by Sam Sneddon at 2025-05-22T10:39:56+00:00
Bug 1966849 [wpt PR 52429] - Fix WrapperHandler to have abc.ABCMeta as a metaclass,
Automatic update from web-platform-tests
Fix WrapperHandler to have abc.ABCMeta as a metaclass
--
wpt-commits: dc9a8bee02ea02ef7c27ea4944a06299d2f2e3f4
wpt-pr: 52429
Differential Revision: https://phabricator.services.mozilla.com/D250645
- - - - -
9da04fb2 by Matt Woodrow at 2025-05-22T10:40:00+00:00
Bug 1966858 [wpt PR 52582] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=293035,
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=293035
--
wpt-commits: 7011739d3138403891906e28e9dda9adf5b6fb16
wpt-pr: 52582
Differential Revision: https://phabricator.services.mozilla.com/D250646
- - - - -
d02d6226 by Daseul Lee at 2025-05-22T10:40:03+00:00
Bug 1966859 [wpt PR 52580] - Fix EchoAIManager to check Writer/Rewriter correctly, like Summarizer,
Automatic update from web-platform-tests
Fix EchoAIManager to check Writer/Rewriter correctly, like Summarizer
It should check for language requirements and handle download progress
correctly, as it's already done for Summarizer.
Since the implementation is the same, template functions are used to
share the same logic.
Bug: 417752253
Change-Id: I25b55455c6d3d08cfc59d087cee6590a30426667
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6549635
Commit-Queue: Daseul Lee <dslee(a)chromium.org>
Reviewed-by: Mike Wasserman <msw(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461006}
--
wpt-commits: bbd1bdbd06804eca76dfcfdab8d8cef10f659510
wpt-pr: 52580
Differential Revision: https://phabricator.services.mozilla.com/D250647
- - - - -
22f8466e by moz-wptsync-bot at 2025-05-22T10:40:07+00:00
Bug 1966859 [wpt PR 52580] - Update wpt metadata,
wpt-pr: 52580
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250648
- - - - -
e07e4c30 by Chengwei Hsieh at 2025-05-22T10:40:11+00:00
Bug 1966884 [wpt PR 52586] - geolocation: Re-enable some geolocation WPT tests,
Automatic update from web-platform-tests
geolocation: Re-enable some geolocation WPT tests
Re-eanble some geolocation WPT tests with using Web driver Bidi
set_geolocation_override to avoid timeout issue.
Bug: 390467419
Change-Id: I485613abf185e136af98b2634df5b67f3dfe8d21
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6187719
Commit-Queue: Jack Hsieh <chengweih(a)chromium.org>
Reviewed-by: Matt Reynolds <mattreynolds(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461071}
--
wpt-commits: 296fb69fd30e1a19a859c3b58a1f235038f1db6c
wpt-pr: 52586
Differential Revision: https://phabricator.services.mozilla.com/D250649
- - - - -
2429a769 by moz-wptsync-bot at 2025-05-22T10:40:15+00:00
Bug 1966884 [wpt PR 52586] - Update wpt metadata,
wpt-pr: 52586
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250650
- - - - -
54e45074 by Stefan Zager at 2025-05-22T10:40:18+00:00
Bug 1966886 [wpt PR 52587] - Revert "WebNN: support constant tensors",
Automatic update from web-platform-tests
Revert "WebNN: support constant tensors"
This reverts commit fd00312e80a964f7f5dffee1f811f634f7fe731e.
Reason for revert: See bug
Bug: 418078503
Original change's description:
> WebNN: support constant tensors
>
> Allows MLTensor to be input to constant() so weights can be
> reused on-device between multiple builds on the same builder
> or different builders. This eliminates the need to keep the original
> JS input data and lowers CPU memory usage.
>
> To keep the CL size in check, only the DML backend was enabled.
>
> More specifically:
> * Adds constant usage to MLTensor.
> * Allows tensors to be initialized from a supplied JS buffer.
> * Supports graph builds using weights from tensors.
>
> Restrictions:
> * Constant tensors cannot be dispatched.
> * Constant tensors must be initialized.
> * Constant tensors must remain static.
>
> https://github.com/webmachinelearning/webnn/issues/760
>
> Bug: 332350952
> Change-Id: Ib18dfe06ead6728172355f2a540e3faeec99917b
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6075601
> Reviewed-by: Alex Gough <ajgo(a)chromium.org>
> Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
> Commit-Queue: Bryan Bernhart <bryan.bernhart(a)intel.com>
> Cr-Commit-Position: refs/heads/main@{#1460981}
Bug: 332350952
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I01c02f3fafef3d68f483f88e30fc5fc7a5d70740
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6552231
Bot-Commit: Rubber Stamper <rubber-stamper(a)appspot.gserviceaccount.com>
Owners-Override: Stefan Zager <szager(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1461097}
--
wpt-commits: 07fcd4607e3426a773db02b711dff9ee0b677ddd
wpt-pr: 52587
Differential Revision: https://phabricator.services.mozilla.com/D250651
- - - - -
ef458486 by Erica Kovac at 2025-05-22T10:40:22+00:00
Bug 1966888 [wpt PR 52581] - [FedCM] Prefetch pictures for Accounts Push,
Automatic update from web-platform-tests
[FedCM] Prefetch pictures for Accounts Push
* Fire-and-forget requests for the profile pictures when
navigator.login.setStatus is called; for these requests, use the IdP
origin as the top-level frame for the network isolation key.
* Create a new property on IdentityRequestAccount to track whether the
account was retrieved from the Accounts Push storage.
* If the IdentityRequestAccount was retrieved from Accounts Push
storage, set the LOAD_ONLY_FROM_CACHE flag on the ResourceRequest
for the image and issue the request using the IdP origin as the
top-level frame for the network isolation key.
Bug: 414428747
Change-Id: Ib25f296f56966933ab9d38462a749541dec745d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6495311
Auto-Submit: Erica Kovac <ekovac(a)google.com>
Commit-Queue: Nicolás Peña <npm(a)chromium.org>
Reviewed-by: Christian Biesinger <cbiesinger(a)chromium.org>
Reviewed-by: Nicolás Peña <npm(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461011}
--
wpt-commits: 37a23450fb90ea414856eb8edde1230ead92a0fc
wpt-pr: 52581
Differential Revision: https://phabricator.services.mozilla.com/D250652
- - - - -
07b9802b by moz-wptsync-bot at 2025-05-22T10:40:26+00:00
Bug 1966888 [wpt PR 52581] - Update wpt metadata,
wpt-pr: 52581
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250653
- - - - -
5aa67f23 by Joey Arhar at 2025-05-22T10:40:29+00:00
Bug 1966897 [wpt PR 52588] - Fix customizable select arrow up with containers,
Automatic update from web-platform-tests
Fix customizable select arrow up with containers
Keyboard navigating options backwards with the arrow keys was broken
with container elements due to using the wrong traversal method when
starting a traversal backwards given an existing option element.
Fixed: 417119055
Change-Id: I0cc8d0b501ea6d4c4f14e9f2a8746ed866486afa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536215
Commit-Queue: Joey Arhar <jarhar(a)chromium.org>
Reviewed-by: Mason Freed <masonf(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461123}
--
wpt-commits: e78646aa759ff6058b67cac63d93879fbb4ff27d
wpt-pr: 52588
Differential Revision: https://phabricator.services.mozilla.com/D250654
- - - - -
eef75eb6 by moz-wptsync-bot at 2025-05-22T10:40:33+00:00
Bug 1966897 [wpt PR 52588] - Update wpt metadata,
wpt-pr: 52588
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250655
- - - - -
5495a7b7 by Joey Arhar at 2025-05-22T10:40:37+00:00
Bug 1966900 [wpt PR 52589] - Implement ToggleEvent.source,
Automatic update from web-platform-tests
Implement ToggleEvent.source
The ToggleEvent's source attribute is set to the element which invoked
the element which the ToggleEvent is being fired on. Source can be set
up as a parameter passed to element.showPopover(), an element with the
popovertarget attribute, or an element with the commandfor attribute.
This patch implements support for every element which the ToggleEvent is
currently fired on, including <details>, <dialog>, and popovers.
Bug: 408018828
Change-Id: I43f3cfe66cfcf077980180d598cfb4ccea6c171e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6427115
Reviewed-by: Mason Freed <masonf(a)chromium.org>
Commit-Queue: Joey Arhar <jarhar(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461127}
--
wpt-commits: 054fc62514695a3e3cac6eeda9854a09caac1e22
wpt-pr: 52589
Differential Revision: https://phabricator.services.mozilla.com/D250656
- - - - -
e4d2e64c by moz-wptsync-bot at 2025-05-22T10:40:41+00:00
Bug 1966900 [wpt PR 52589] - Update wpt metadata,
wpt-pr: 52589
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250657
- - - - -
ea4f686e by Johannes Henkel at 2025-05-22T10:40:44+00:00
Bug 1966902 [wpt PR 52590] - [soft navs] Add smoke test for task attribution.,
Automatic update from web-platform-tests
[soft navs] Add smoke test for task attribution.
These tests work by having click handlers that schedule their work
so that it happens in another task (I think / hope).
This is in response to Michal's comment on crrev.com/c/6545933.
Change-Id: I71a92638501e89a0634d92d3ed37e3733115a6a2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6547980
Reviewed-by: Scott Haseley <shaseley(a)chromium.org>
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461149}
--
wpt-commits: 599d45637e1698dbab48e7244a058435a63a686f
wpt-pr: 52590
Differential Revision: https://phabricator.services.mozilla.com/D250658
- - - - -
c3d25ef0 by Rohan Raja at 2025-05-22T10:40:48+00:00
Bug 1966903 [wpt PR 52591] - [ClipboardChange event] - Blink implementation for the event,
Automatic update from web-platform-tests
[ClipboardChange event] - Blink implementation for the event
Renderer side changes for clipboardchange event feature. Introduces a
new class - ClipboardChangeEventController which handles monitoring and
dispatching of clipboard change events.
blink::Clipboard checks for clipboardchange events being added/removed.
Based on number of listeners, the ClipboardChangeEventController signals
SystemClipboard to start/stop listening to the clipboardChange event.
The SystemClipboard invokes Mojom calls to browser for listening to
clipboard changes.
Following existing pattern of event handling mechanism in blink, the
SystemClipboard is now PlatformEventDispatcher. The
ClipboardChangeEventController is a PlatformEventController which can be
added as an observer to PlatformEventDispatcher (SystemClipboard).
Design doc:
https://docs.google.com/document/d/1bY2pzV6PSX56fiFcrXEgOjpFen07xaxmnsM5dqX…
Bug: 41442253
Change-Id: Iff0a86058faaef0438d6ebed81e6f8e07814a127
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6420874
Reviewed-by: Dave Tapuska <dtapuska(a)chromium.org>
Commit-Queue: Rohan Raja <roraja(a)microsoft.com>
Reviewed-by: Sambamurthy Bandaru <sambamurthy.bandaru(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1461173}
--
wpt-commits: d30ad7e15d304c34f94ad539b352d3744a97f4dd
wpt-pr: 52591
Differential Revision: https://phabricator.services.mozilla.com/D250659
- - - - -
fc14102b by moz-wptsync-bot at 2025-05-22T10:40:51+00:00
Bug 1966903 [wpt PR 52591] - Update wpt metadata,
wpt-pr: 52591
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250660
- - - - -
0e394d49 by Marcos Cáceres at 2025-05-22T10:40:55+00:00
Bug 1949376 [wpt PR 50819] - Digital Credentials: object conversion tests for DigitalCredentialGetRequest's data member,
Automatic update from web-platform-tests
Digital Credentials: object conversion tests for DigitalCredentialGetRequest's data member (#50819)
--
wpt-commits: 9b96b450e9712ae2145a0fd910e3b54c7e29dd58
wpt-pr: 50819
Differential Revision: https://phabricator.services.mozilla.com/D250661
- - - - -
8e4fbf99 by moz-wptsync-bot at 2025-05-22T10:40:59+00:00
Bug 1949376 [wpt PR 50819] - Update wpt metadata,
wpt-pr: 50819
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250662
- - - - -
8e084ad5 by Sam Sneddon at 2025-05-22T10:41:02+00:00
Bug 1966731 [wpt PR 52571] - Revert "QuotaExceededError: Update to a DOMException derived interface",
Automatic update from web-platform-tests
Revert "QuotaExceededError: Update to a DOMException derived interface (#52556)"
This reverts commit 16a71c4282b0379f639051c0a3f98f3fcdaa2149.
--
wpt-commits: 2f96fa19966d6bc19e979a09479ac8a7aa337c54
wpt-pr: 52571
Differential Revision: https://phabricator.services.mozilla.com/D250663
- - - - -
3124b8d3 by Philip Rogers at 2025-05-22T10:41:06+00:00
Bug 1966914 [wpt PR 52592] - Respect position-visibility: no-overflow without anchors,
Automatic update from web-platform-tests
Respect position-visibility: no-overflow without anchors
The spec for position-visibility: no-overflow doesn't require that it
is used with anchor positioning.
https://drafts.csswg.org/css-anchor-position-1/#position-visibility
Fixed: 412695437
Change-Id: I800a6ba813ed107381cef85b2b6a170e84015403
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6553149
Auto-Submit: Philip Rogers <pdr(a)chromium.org>
Reviewed-by: Noam Rosenthal <nrosenthal(a)google.com>
Commit-Queue: Noam Rosenthal <nrosenthal(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1461217}
--
wpt-commits: 87f9ddb0c673cac53de04b4ec277cd90ea5d2dfc
wpt-pr: 52592
Differential Revision: https://phabricator.services.mozilla.com/D250664
- - - - -
4fdc311d by moz-wptsync-bot at 2025-05-22T10:41:10+00:00
Bug 1966914 [wpt PR 52592] - Update wpt metadata,
wpt-pr: 52592
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250665
- - - - -
e4ca60a9 by Thomas Nguyen at 2025-05-22T10:41:14+00:00
Bug 1966923 [wpt PR 52595] - [PEPC] Remove the display enforcement,
Automatic update from web-platform-tests
[PEPC] Remove the display enforcement
Current the display enforcement within `AdjustStyle` may lead to
incorrect layout validation. This occurs due to bit fields not being
properly propagated or cleared, resulting in an `AssertLaidOut()`
failure.
We will replace the display enforcement by showing a console message
when the display is set incorrectly.
Bug: 408164614
Change-Id: I7fc635d641a33f40a6251199616145c7de1499f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6551238
Commit-Queue: Thomas Nguyen <tungnh(a)chromium.org>
Reviewed-by: Joey Arhar <jarhar(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461289}
--
wpt-commits: c90c127a4fa96a0a5b8c810a11e705da20e21c3e
wpt-pr: 52595
Differential Revision: https://phabricator.services.mozilla.com/D250666
- - - - -
4b9f7764 by Daniil Sakhapov at 2025-05-22T10:41:17+00:00
Bug 1966972 [wpt PR 52597] - Add AltCounterContentData and parse it in alt content,
Automatic update from web-platform-tests
Add AltCounterContentData and parse it in alt content
Bug: 417488055
Change-Id: I27c81004ee6737fe2fbbb02fb2b31358ef6f0813
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6544156
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Daniil Sakhapov <sakhapov(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461312}
--
wpt-commits: 75460061e1d871b26092792be07ad10193b66cdb
wpt-pr: 52597
Differential Revision: https://phabricator.services.mozilla.com/D250667
- - - - -
94dccb63 by moz-wptsync-bot at 2025-05-22T10:41:21+00:00
Bug 1966972 [wpt PR 52597] - Update wpt metadata,
wpt-pr: 52597
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250668
- - - - -
30d82172 by Vladimir Levin at 2025-05-22T10:41:25+00:00
Bug 1966975 [wpt PR 52600] - vt: Invalidate VT pseudos before/after getComputedStyle sometimes.,
Automatic update from web-platform-tests
vt: Invalidate VT pseudos before/after getComputedStyle sometimes.
In situations where we need to getComputedStyle for vt pseudo before
they are exposed, we need to invalidate the style so that we can
recalculate it as if they didn't yet exist (including default UA
and author stylesheets).
R=khushalsagar(a)chromium.org, futhark(a)chromium.org
Bug: 399098430
Change-Id: Icb9d6ec0b897392af46e9df95cfb41f4b467c84a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542969
Reviewed-by: Khushal Sagar <khushalsagar(a)chromium.org>
Commit-Queue: Vladimir Levin <vmpstr(a)chromium.org>
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461368}
--
wpt-commits: df87a828a04ca0aff78788876886eb840db799f0
wpt-pr: 52600
Differential Revision: https://phabricator.services.mozilla.com/D250669
- - - - -
705cc986 by Joshua Bell at 2025-05-22T10:41:29+00:00
Bug 1966976 [wpt PR 52602] - WebNN: Fix WPT and move ASAN-only expectations to correct file,
Automatic update from web-platform-tests
WebNN: Fix WPT and move ASAN-only expectations to correct file
* ASAN-only failure expectations go in ASANExpectations
* The "mul" test was testing "add" - oops!
Re-land of https://crrev.com/c/6509875
Bug: 414243950,415739879
Change-Id: I345e3a2f2c987ff00de7afb71608a26e78b48961
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6513353
Commit-Queue: Phillis Tang <phillis(a)chromium.org>
Reviewed-by: Junwei Fu <junwei.fu(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1461392}
--
wpt-commits: 500ca66ae6bb6dc773c12fd48e669b1ca6b1ba60
wpt-pr: 52602
Differential Revision: https://phabricator.services.mozilla.com/D250670
- - - - -
095bd519 by Sammy Gill at 2025-05-22T10:41:32+00:00
Bug 1966988 [wpt PR 52606] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=256047,
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=256047 (#52606)
--
wpt-commits: c92694f0197008d44c491ac4ec66a2772c5fbaed
wpt-pr: 52606
Differential Revision: https://phabricator.services.mozilla.com/D250671
- - - - -
91d93045 by David Awogbemila at 2025-05-22T10:41:36+00:00
Bug 1966981 [wpt PR 52603] - Expose SnapEvent constructor,
Automatic update from web-platform-tests
Expose SnapEvent constructor
The constructor for the SnapEvent interface was omitted in the
interface definition in snap_event.idl. This patch corrects this
omission.
The change is put behind a flag as we might need to send out a Blink
PSA.
Bug: 415848477
Change-Id: I2444de59ab4fa69f63d65ea885148135c3ee028b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6545816
Reviewed-by: Kevin Ellis <kevers(a)chromium.org>
Commit-Queue: David Awogbemila <awogbemila(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461431}
--
wpt-commits: 8f488e2c5e3cc04b814c58a35aaee5a7ad6d11ac
wpt-pr: 52603
Differential Revision: https://phabricator.services.mozilla.com/D250672
- - - - -
9573262e by moz-wptsync-bot at 2025-05-22T10:41:39+00:00
Bug 1966981 [wpt PR 52603] - Update wpt metadata,
wpt-pr: 52603
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250673
- - - - -
882a7534 by Reilly Grant at 2025-05-22T10:41:43+00:00
Bug 1967005 [wpt PR 52609] - webnn: Add an explicit test for non-constant PReLU scale,
Automatic update from web-platform-tests
webnn: Add an explicit test for non-constant PReLU scale
This change fixes the PReLU conformance tests to mostly pass a
non-constant input (as this is what models will typically do) and adds a
test case for passing a non-constant scale as well as this is allowed by
the specification.
Bug: 416364328
Change-Id: I7ad805a58db6f55c1d7cc754c3965df8d09bc55f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6551443
Commit-Queue: Reilly Grant <reillyg(a)chromium.org>
Commit-Queue: Phillis Tang <phillis(a)chromium.org>
Auto-Submit: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461574}
--
wpt-commits: 39b1806340bb67455263384dfb8e71c696143ac0
wpt-pr: 52609
Differential Revision: https://phabricator.services.mozilla.com/D250674
- - - - -
951ddc08 by Mason Freed at 2025-05-22T10:41:47+00:00
Bug 1967006 [wpt PR 52610] - Closing interest invoker target popover loses interest,
Automatic update from web-platform-tests
Closing interest invoker target popover loses interest
Since it's possible that the target popover for an interest
invoker (via `interesttarget`) can be closed through other means
such as light dismiss or programmatic `.hidePopover()`, that
should cause a loss of interest. Without this, the UI can get
into an odd state where the target popover is already closed,
yet the invoker still "has interest". To get the popover to
show up again, the invoker needs to be de-hovered *and left
de-hovered for the "hide" delay* so that interest can be lost.
Since that's completely invisible, the user has no way to know
whether it's "done" and the invoker can be re-hovered. With
this change, the UX will be intuitive.
Bug: 364669918
Change-Id: Ifab53af643ffdccfda47524b187255c756b3a106
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536349
Commit-Queue: Mason Freed <masonf(a)chromium.org>
Reviewed-by: Joey Arhar <jarhar(a)chromium.org>
Auto-Submit: Mason Freed <masonf(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461575}
--
wpt-commits: ce2db66a012a77d8b1b948f71a08ab15db6e2cdd
wpt-pr: 52610
Differential Revision: https://phabricator.services.mozilla.com/D250675
- - - - -
f24af0ee by moz-wptsync-bot at 2025-05-22T10:41:50+00:00
Bug 1967006 [wpt PR 52610] - Update wpt metadata,
wpt-pr: 52610
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250676
- - - - -
2e2636b0 by Daseul Lee at 2025-05-22T10:41:54+00:00
Bug 1966996 [wpt PR 52608] - Writing Assistance: Check and consume User Activation,
Automatic update from web-platform-tests
Writing Assistance: Check and consume User Activation
Per spec, user activation is required when the model is downloadable or
downloading during Summarizer / Writer / Rewriter client creation.
It calls `CanCreate*()` to get the model availability status first to
check the download status, before calling `Create*()`. Ideally, this
should be combined as a one mojo round-trip for future improvement.
Since the first call can return unavailable status, now we throw an
error early before calling `Create*()`.
As a result, this fixes missing enterprise check from Create*() mojo
call, which was previously only checked from CanCreate*() mojo call.
This CL also updates permissions policy WPT pattern, to be aligned with Language Detector and Translator API as done in crrev.com/c/6501107 to fix the breakage with the changes introduced in this CL.
Bug: 414811872, 372806447
Change-Id: Ie0ebf35d3e622957139d8a57695e9e4f765430db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532326
Commit-Queue: Daseul Lee <dslee(a)chromium.org>
Reviewed-by: Mike Wasserman <msw(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461567}
--
wpt-commits: f59fa9fba54b54f42aa53b58185feb6e4245db82
wpt-pr: 52608
Differential Revision: https://phabricator.services.mozilla.com/D250677
- - - - -
189c9b5a by moz-wptsync-bot at 2025-05-22T10:41:58+00:00
Bug 1966996 [wpt PR 52608] - Update wpt metadata,
wpt-pr: 52608
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250678
- - - - -
4e50c938 by Oriol Brufau at 2025-05-22T10:42:01+00:00
Bug 1967039 [wpt PR 52596] - layout: Fix `align-content` on stretched row flex containers,
Automatic update from web-platform-tests
layout: Fix `align-content` on stretched row flex containers
Fixes a regression from #36973, which didn't take into account that
stretching flex items affects their final block size when the cross
axis is the block axis.
Signed-off-by: Oriol Brufau <obrufau(a)igalia.com>
--
wpt-commits: 0557f15b1edaed64ca89d864a8be9ffd82c888ec
wpt-pr: 52596
Differential Revision: https://phabricator.services.mozilla.com/D250679
- - - - -
4a875ba4 by Helmut Januschka at 2025-05-22T10:42:05+00:00
Bug 1966990 [wpt PR 52607] - Fix filter:invert on HTML element on high-DPI displays,
Automatic update from web-platform-tests
Fix filter:invert on HTML element on high-DPI displays
This CL fixes an issue where filters applied to the HTML element (like
filter:invert(100%)) don't affect the body's background image on
high-DPI displays with device scale factor >= 1.5.
Bug: 412115607
Change-Id: I896f9b84299f3403692fedadf5db1afb18dc5839
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532305
Commit-Queue: Helmut Januschka <helmut(a)januschka.com>
Reviewed-by: Philip Rogers <pdr(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461528}
--
wpt-commits: f74e8e93b5264771f63bf94c1e3b5cd89c6379af
wpt-pr: 52607
Differential Revision: https://phabricator.services.mozilla.com/D250680
- - - - -
b6156ec5 by Tim van der Lippe at 2025-05-22T10:42:09+00:00
Bug 1966775 [wpt PR 52578] - Propagate destination through load_data,
Automatic update from web-platform-tests
Propagate destination through load_data
This way, we don't always set the destination to Document
(which is as the spec is written today). Instead, we set
it it in the load_data, depending on which context we
load it from.
Doing so allows us to set the `Destination::IFrame` for
navigations in iframes, enabling all frame-related CSP
checks.
While we currently block iframes when `frame-src` or
`child-src` is set, their respective tests don't pass
yet. That's because we don't yet handle the cases
where we fire the correct `load` event.
Also update one WPT test to correctly fail, rather than
erroring. That's because it was using the wrong JS
test variable.
Part of #4577
Signed-off-by: Tim van der Lippe <tvanderlippe(a)gmail.com>
--
wpt-commits: d2b8b72ee2b97f942fa12d5fcdcf6c01ff38618a
wpt-pr: 52578
Differential Revision: https://phabricator.services.mozilla.com/D250681
- - - - -
a3d7c62a by 一丝 at 2025-05-22T10:42:12+00:00
Bug 1959740 [wpt PR 51938] - Add fuzzy to avoid Safari failing due to CSS gradient noise,
Automatic update from web-platform-tests
Add fuzzy to avoid Safari failing due to CSS gradient noise (#51938)
Closes: https://bugs.webkit.org/show_bug.cgi?id=200209
--
wpt-commits: 5cb2e5411e0235ee46d8622d107764e7230e4bee
wpt-pr: 51938
Differential Revision: https://phabricator.services.mozilla.com/D250682
- - - - -
27d7b285 by Anders Hartvoll Ruud at 2025-05-22T10:42:16+00:00
Bug 1966984 [wpt PR 52605] - [ident] Implement ident() function fundamentals,
Automatic update from web-platform-tests
[ident] Implement ident() function fundamentals
The ident() function allows identifiers to be constructed dynamically
by e.g. concatenating strings and integers. This CL implements
the "bare minimum" to get the feature going, and only supports
view-transition-name for now. It may accidentally already work
in other properties. If that's the case, then future CLs will
land WPTs for those properties gradually.
Note that this feature has several open questions, and this CL does
not try to answer all of them. Some important ones are filed
as dependencies of Issue 384930424.
Bug: 384930424
Change-Id: I0fea0eb3163c3ac3fead8a139220c571a1aa5628
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6551725
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Anders Hartvoll Ruud <andruud(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461990}
--
wpt-commits: 50787b55380d0310268cc40f02242908b41c6c42
wpt-pr: 52605
Differential Revision: https://phabricator.services.mozilla.com/D250683
- - - - -
0dc5d1d2 by moz-wptsync-bot at 2025-05-22T10:42:20+00:00
Bug 1966984 [wpt PR 52605] - Update wpt metadata,
wpt-pr: 52605
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250684
- - - - -
86ec4a5a by Jason at 2025-05-22T10:42:23+00:00
Bug 1967215 [wpt PR 52631] - Fix ch fallback logic,
Automatic update from web-platform-tests
Fix ch fallback logic
This CL fixes the logic error introduced in crrev.com/c/6333369,
In the cases where it is impossible or impractical to determine the
measure of the “0” glyph, it must be assumed to be 0.5em wide by 1em
tall. Thus, the ch unit falls back to 0.5em in the general case,
and to 1em when it would be typeset upright (i.e. writing-mode is
vertical-rl or vertical-lr and text-orientation is upright).[1]
[1]https://drafts.csswg.org/css-values-4/#ch
Bug: 416145497
Change-Id: I5000ede2edfe02a4ea0df71e6511078d6de56651
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6520498
Reviewed-by: Koji Ishii <kojii(a)chromium.org>
Commit-Queue: Jason Leo <cgqaq(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462035}
--
wpt-commits: 9b3e4f017348a29b885078573673345f9ecd97ba
wpt-pr: 52631
Differential Revision: https://phabricator.services.mozilla.com/D250685
- - - - -
f76c15cf by moz-wptsync-bot at 2025-05-22T10:42:27+00:00
Bug 1967215 [wpt PR 52631] - Update wpt metadata,
wpt-pr: 52631
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250686
- - - - -
2d44c3b6 by wpt-pr-bot at 2025-05-22T10:42:31+00:00
Bug 1967130 [wpt PR 52626] - Update Wasm tests,
Automatic update from web-platform-tests
Update Wasm tests
--
wpt-commits: 201efba5130d5dfbfaa95e886a7a261c34d89ed7
wpt-pr: 52626
Differential Revision: https://phabricator.services.mozilla.com/D250687
- - - - -
06170de2 by Fredrik Söderquist at 2025-05-22T10:42:34+00:00
Bug 1967244 [wpt PR 52635] - Update PaintLayer's filter and clip-path even if there's no style change,
Automatic update from web-platform-tests
Update PaintLayer's filter and clip-path even if there's no style change
For 'filter', 'backdrop-filter' and 'clip-path', there may be
CSSURIValues generated from variable. The CSSURIValues in turn may
create ExternalSVGResource objects that contain the list of clients. If
we don't update these client references they may leak, causing crashes
due to imbalances in the client set(s). Add the same bodge as for
generated images.
Fixed: 411598594
Change-Id: I7406a03ec93f102e645727514ef112ecb7fa62e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6563744
Reviewed-by: Rune Lillesveen <futhark(a)chromium.org>
Commit-Queue: Fredrik Söderquist <fs(a)opera.com>
Cr-Commit-Position: refs/heads/main@{#1462085}
--
wpt-commits: 190cee2283134de807090f6877d2a7626b4fd763
wpt-pr: 52635
Differential Revision: https://phabricator.services.mozilla.com/D250688
- - - - -
b8256696 by Ziran Sun at 2025-05-22T10:42:38+00:00
Bug 1967264 [wpt PR 52636] - Style for the CSS caret-shape property,
Automatic update from web-platform-tests
Style for the CSS caret-shape property
The caret-shape property gives authors three options for the caret appearance
during text editing: bar (the existing default), underscore and block. This
CL has the style portions.
Bug: 353713061
Change-Id: I1796efe4b48bd8b67891d0c9a97d94c748c81f13
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6482572
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Reviewed-by: Stephen Chenney <schenney(a)chromium.org>
Commit-Queue: Ziran Sun <zsun(a)igalia.com>
Cr-Commit-Position: refs/heads/main@{#1462133}
--
wpt-commits: 45b41d5be7278d0e860996e8996e2c1bc775b46e
wpt-pr: 52636
Differential Revision: https://phabricator.services.mozilla.com/D250689
- - - - -
49be34a3 by moz-wptsync-bot at 2025-05-22T10:42:42+00:00
Bug 1967264 [wpt PR 52636] - Update wpt metadata,
wpt-pr: 52636
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250690
- - - - -
84ed74ec by Daseul Lee at 2025-05-22T10:42:45+00:00
Bug 1967290 [wpt PR 52642] - Make Writing Assistance API WPT more consistent,
Automatic update from web-platform-tests
Make Writing Assistance API WPT more consistent
Align Writer and Rewriter WPTs with Summarizer WPTs.
- Remove a period from test name.
- Add a few missing test cases for Summarizer.
- Fix misnamed title.
Bug: 385370643
Change-Id: I708ea156899aaace8222b64bb07854b055c61a11
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6558370
Commit-Queue: Daseul Lee <dslee(a)chromium.org>
Reviewed-by: Mike Wasserman <msw(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462204}
--
wpt-commits: e76fd1c8ed08074c44f6b57ebe401c6360f4c397
wpt-pr: 52642
Differential Revision: https://phabricator.services.mozilla.com/D250691
- - - - -
fc0c9ba2 by moz-wptsync-bot at 2025-05-22T10:42:49+00:00
Bug 1967290 [wpt PR 52642] - Update wpt metadata,
wpt-pr: 52642
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250692
- - - - -
c8abfc67 by BruceDai at 2025-05-22T10:42:53+00:00
Bug 1967185 [wpt PR 52629] - webnn: update tests align with latest WebNN API Spec change for pad(),
Automatic update from web-platform-tests
webnn: update tests align with latest WebNN API Spec change for pad()
This CL is to update tests align with latest WebNN API Spec change for
pad()[1] by removing one conformance test with symmetric padding mode
and adding four validation tests of restrict the padding size for
reflection model. The failure validation tests are tracked by
issue#417227410[2].
[1] https://github.com/webmachinelearning/webnn/pull/843
[2] https://issues.chromium.org/issues/417227410
Bug: 416604162
Change-Id: I7a3ec7539138019c7cab78eb3cd616de3a7d630d
Cq-Include-Trybots: luci.chromium.try:win11-blink-rel, mac14.arm64-blink-rel, mac14-blink-rel, mac15.arm64-blink-rel, mac15-blink-rel, linux-blink-rel
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6529861
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Auto-Submit: Feng Dai <feng.dai(a)intel.com>
Commit-Queue: Feng Dai <feng.dai(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1461938}
--
wpt-commits: 2a5ceec5c242259bafaab3091625ae2d5af89d9a
wpt-pr: 52629
Differential Revision: https://phabricator.services.mozilla.com/D250693
- - - - -
35aeea01 by Alexander Cooper at 2025-05-22T10:42:56+00:00
Bug 1967016 [wpt PR 52611] - Update WebXR Depth-Sensing WPT coverage,
Automatic update from web-platform-tests
Update WebXR Depth-Sensing WPT coverage
Consume new changes for depth-sensing added to the webxr-test-api. This
allows increased testing of `matchDepthView` and raw/smooth depth type
capabilities. Further test changes to e.g. cpu/gpu and supported formats
could now be made, but are left as an exercise for a future change, as
this change is primarily about increasing coverage for the most recent
spec additions that are intended to ship soon.
Note that due to the need to add new test asserts, the asserts file was
quite significantly re-worked. However, as no new test failures are
introduced, these changes should be a no-op that simply cleans up the
code a bit.
There is also an update to the webxr-samples to allow testing the
toggling of depthActive with dom-overlay.
Finally, GPU test failure expectations were updated. As chrome does not
support `gpu-optimized` depth, these tests should simply be all-up
disabled on all platforms, and don't need to be careful of specific
error messages.
Changes to webxr-test-api that enable this change can be found at:
https://github.com/immersive-web/webxr-test-api/pull/88
Bug: 410607163,409806803
Change-Id: I2dfdc2376a310b084fee75d521c712d5ae788433
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6554023
Commit-Queue: Alexander Cooper <alcooper(a)chromium.org>
Reviewed-by: Piotr Bialecki <bialpio(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1461626}
--
wpt-commits: d8b1e1b76c5cab0943815ccfbf59a2b737ac1b92
wpt-pr: 52611
Differential Revision: https://phabricator.services.mozilla.com/D250694
- - - - -
7aa5bfb5 by moz-wptsync-bot at 2025-05-22T10:43:00+00:00
Bug 1967016 [wpt PR 52611] - Update wpt metadata,
wpt-pr: 52611
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250695
- - - - -
f5adbf91 by Wei Wang at 2025-05-22T10:43:04+00:00
Bug 1967182 [wpt PR 52628] - [WebNN] Fuse QDQ for slice on tflite,
Automatic update from web-platform-tests
[WebNN] Fuse QDQ for slice on tflite
This CL supports fusing `dq->slice->q` subgraph on tflite.
Input and output operands have to be dequantized from ints8, the scale
and zero point of input and output have to be scaler.
Bug: 401281047
Change-Id: I2da7afc60ddbfc992ee52059a322b32e6c9e4f92
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6551995
Commit-Queue: Wei4 Wang <wei4.wang(a)intel.com>
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1461912}
--
wpt-commits: d3839ad9f7d09fa794f90ffc7c09adbbbab008bb
wpt-pr: 52628
Differential Revision: https://phabricator.services.mozilla.com/D250696
- - - - -
8a776a2c by Blink WPT Bot at 2025-05-22T10:43:08+00:00
Bug 1967207 [wpt PR 52630] - Add WPT to check referrerpolicy in Link headers on subresources,
Automatic update from web-platform-tests
Add WPT to check referrerpolicy in Link headers on subresources (#52630)
This CL adds WPT to ensure that referrerpolicy is set to `no-referrer`
for `Link` headers on subresources, as a follow-up for a past change,
https://crrev.com/c/6522070.
Bug: 417529151
Change-Id: I472594b7aa49f6f662f84c7b1af8f36c0538f567
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542774
Reviewed-by: Hiroshige Hayashizaki <hiroshige(a)chromium.org>
Reviewed-by: Shunya Shishido <sisidovski(a)chromium.org>
Commit-Queue: Takashi Nakayama <tnak(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462025}
Co-authored-by: Takashi Nakayama <tnak(a)chromium.org>
--
wpt-commits: eb2d81823d73f624e3ce9b82dc92685585d18ffd
wpt-pr: 52630
Differential Revision: https://phabricator.services.mozilla.com/D250697
- - - - -
8b272309 by moz-wptsync-bot at 2025-05-22T10:43:11+00:00
Bug 1967207 [wpt PR 52630] - Update wpt metadata,
wpt-pr: 52630
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250698
- - - - -
946392d6 by Mason Freed at 2025-05-22T10:43:15+00:00
Bug 1967041 [wpt PR 52619] - Remove the requestIdleCallback test from closedby,
Automatic update from web-platform-tests
Remove the requestIdleCallback test from closedby
Mozilla and Chromium keep ping-ponging this test back and forth because
it's flaky. And the source of the flakiness is that there's an inherent
race in the test, between the call to requestIdleCallback and the `await
test_driver.send_keys`. I added this test initially just to make sure
there wasn't anything weird going on, in [1]. I don't think it's worth
the flakiness in either browser's test system, so this CL just removes
that particular sub-test.
This section is racy:
```
const step = setup(t);
const ESC = '\uE00C';
await test_driver.send_keys(document.documentElement,ESC); // [2]
await step;
```
The [2] line (or equivalent in each test) is racy: we're awaiting
sending keys, but we've also already queued up things, e.g.
requestIdleCallback. The callback might get called before or after
sending the ESC key.
The test was flaky about ~80% of the time for me locally
on a Mac before this CL, and 0% after this CL.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/6259116
Fixed: 417571176
Change-Id: I8ade9b467323c7f8ad4a52f98059d328bb574852
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6559169
Commit-Queue: Mason Freed <masonf(a)chromium.org>
Reviewed-by: Keith Cirkel <chromium(a)keithcirkel.co.uk>
Auto-Submit: Mason Freed <masonf(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462348}
--
wpt-commits: 5855958877a18ace62a91c0cda77b8848a876635
wpt-pr: 52619
Differential Revision: https://phabricator.services.mozilla.com/D250699
- - - - -
ae077b92 by Sam Davis Omekara (from Dev Box) at 2025-05-22T10:43:18+00:00
Bug 1967323 [wpt PR 52646] - [Gap Decorations]: Implement Serialization for ColumnRule,
Automatic update from web-platform-tests
[Gap Decorations]: Implement Serialization for ColumnRule
This CL augments the serialization logic for `column-rule` to support
the new grammar [1] for gap decorations. According to the new grammar,
`column-rule` can now support list of <gap-rule>s and a <gap-rule> can
be a regular or repeated <gap-rule>.
To serialize, each property is iterated over, and a corresponding
<gap-rule> is serialized at each index.
The `column-rule-shorthand.html` file for gap-decorations has been
rebaselined to reflect the correct serialization expectations. The
previous pipeline parses and serializes the 'initial' value. See [2].
In subsequent CLs, we will implement `row-rule` and `rule` properties.
[1]: https://drafts.csswg.org/css-gaps-1/#propdef-column-rule
[2]:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/…
Bug: 357648037
Change-Id: I91bd033f96564448c9f3ac70c590784829dd9a22
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6520839
Commit-Queue: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Reviewed-by: Kevin Babbitt <kbabbitt(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1462372}
--
wpt-commits: 5c3084665f27280212208de2a982c17ec85177dd
wpt-pr: 52646
Differential Revision: https://phabricator.services.mozilla.com/D250700
- - - - -
0ee22a56 by moz-wptsync-bot at 2025-05-22T10:43:22+00:00
Bug 1967323 [wpt PR 52646] - Update wpt metadata,
wpt-pr: 52646
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250701
- - - - -
30624cae by Hubert Chao at 2025-05-22T10:43:26+00:00
Bug 1967332 [wpt PR 52649] - [LNA] check that resolved address space matches target address space,
Automatic update from web-platform-tests
[LNA] check that resolved address space matches target address space
Change-Id: I635981c97354d9ddc69c0716d7b462801953bca9
Bug: 395895368
Cq-Do-Not-Cancel-Tryjobs: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6547896
Reviewed-by: Chris Thompson <cthomp(a)chromium.org>
Reviewed-by: Emily Stark <estark(a)chromium.org>
Commit-Queue: Hubert Chao <hchao(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462419}
--
wpt-commits: 00e9c5a20b436ab5d1d6704fb81abec12ddb1bd7
wpt-pr: 52649
Differential Revision: https://phabricator.services.mozilla.com/D250702
- - - - -
55daf78c by Javier Contreras Tenorio at 2025-05-22T10:43:30+00:00
Bug 1967349 [wpt PR 52652] - [gap-decorations] Invalidate Layout when *RuleStyle changes,
Automatic update from web-platform-tests
[gap-decorations] Invalidate Layout when *RuleStyle changes
This CL aims to fix a bug where if we are in a situation where we don't
have a gap rule, to then adding a gap rule with a button or similar, we
don't actually end up painting the gap rules until we force a re-layout
somehow. This manifests itself also for instance when adding a gap rule
to an html that didn't have one, via devtools. Unless we force a
re-layout somehow, we will not see an immediate gap rule pop up, how we
would with other properties.
The way we fix this is by adding a new invalidation bit flag for gap
decorations. This will be set when the *RuleStyle changes, but will only
trigger re-layout when it changes from none to non-none value.
Bug: 357648037, 417658665
Change-Id: Icb2f03321599dd2986a64b900ddaffeb0b6bd40e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6548202
Reviewed-by: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1462463}
--
wpt-commits: b9e7588084abf2ea45928c9a231c59b100d09e92
wpt-pr: 52652
Differential Revision: https://phabricator.services.mozilla.com/D250703
- - - - -
ff6bb91d by moz-wptsync-bot at 2025-05-22T10:43:33+00:00
Bug 1967349 [wpt PR 52652] - Update wpt metadata,
wpt-pr: 52652
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250704
- - - - -
d523b737 by Johannes Henkel at 2025-05-22T10:43:37+00:00
Bug 1967355 [wpt PR 52656] - [soft navs] New WPT for soft-navs: multiple Interactions racing.,
Automatic update from web-platform-tests
[soft navs] New WPT for soft-navs: multiple Interactions racing.
Two soft navigations are started in rapid succession.
The first one is slow enough so that the second
one completes first.
In this test, this is done by delaying the first
one by waiting a second before it updates the URL.
This used to trigger a bug - see crbug.com/418449366
A fix for the bug is in ccrev.com/c/6565425,
including a description of the issue.
Bug: 418449366, 418839741, 378148364
Change-Id: Ib5068f856207f9edbb1ba1bd8956c2c7ee6fbab0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6562208
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Reviewed-by: Scott Haseley <shaseley(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462477}
--
wpt-commits: fb6383ccd8599f82f7a005ae8093ff62e95acc74
wpt-pr: 52656
Differential Revision: https://phabricator.services.mozilla.com/D250705
- - - - -
49d74631 by Sam Davis Omekara (from Dev Box) at 2025-05-22T10:43:41+00:00
Bug 1967356 [wpt PR 52657] - [Gap Decorations]: Implement row-rule shorthand,
Automatic update from web-platform-tests
[Gap Decorations]: Implement row-rule shorthand
This CL introduces the `row-rule` shorthand as part of the gap
decorations feature [1]. The primary update in this change is the
addition of the `CSSGapDecorationPropertyDirection` enum, which allows
for sharing parsing and computed logic for both `column-rule` and
`row-rule` by passing a direction parameter.
[1]: https://drafts.csswg.org/css-gaps-1/#propdef-row-rule
Bug: 357648037
Change-Id: Iac266695db9e5f3f394d7eadcde462210a882408
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6520421
Reviewed-by: Kevin Babbitt <kbabbitt(a)microsoft.com>
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Commit-Queue: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1462483}
--
wpt-commits: 5fa759f8188b156fcdc812706d8175077f5df19e
wpt-pr: 52657
Differential Revision: https://phabricator.services.mozilla.com/D250706
- - - - -
f514b611 by moz-wptsync-bot at 2025-05-22T10:43:44+00:00
Bug 1967356 [wpt PR 52657] - Update wpt metadata,
wpt-pr: 52657
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250707
- - - - -
b71f5f59 by Javier Contreras Tenorio (from Dev Box) at 2025-05-22T10:43:48+00:00
Bug 1967284 [wpt PR 52638] - [gap-decorations] Rule color is transparent fix for repeater values,
Automatic update from web-platform-tests
[gap-decorations] Rule color is transparent fix for repeater values
This CL fixes an issue where we will crash when recomputing
the column-rule-color style when it is set to a repeater value.
In order to fix this, we consider the rule transparent on the case
of repeater values only if every individual value is transparent.
Bug: 357648037
Change-Id: I7072e7e4035af7ddad3acd26a01406d50219d410
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536229
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Reviewed-by: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1462485}
--
wpt-commits: ccbe9a42c616107fad456f5b7f2fd4795026d79a
wpt-pr: 52638
Differential Revision: https://phabricator.services.mozilla.com/D250708
- - - - -
325126fb by moz-wptsync-bot at 2025-05-22T10:43:51+00:00
Bug 1967284 [wpt PR 52638] - Update wpt metadata,
wpt-pr: 52638
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250709
- - - - -
6b74c50a by dependabot[bot] at 2025-05-22T10:43:55+00:00
Bug 1967350 [wpt PR 52653] - Bump docker/build-push-action from 6.16.0 to 6.17.0,
Automatic update from web-platform-tests
Bump docker/build-push-action from 6.16.0 to 6.17.0 (#52653)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.16.0 to 6.17.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/14487ce63c7a62…
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 6.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support(a)github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot](a)users.noreply.github.com>
--
wpt-commits: 009a59035b0ca6a6176bccb7850ad734b9989cd1
wpt-pr: 52653
Differential Revision: https://phabricator.services.mozilla.com/D250710
- - - - -
86235269 by Johannes Henkel at 2025-05-22T10:43:59+00:00
Bug 1967361 [wpt PR 52658] - [soft navs] Smoke test for soft nav LCP, replacing disabled.html.,
Automatic update from web-platform-tests
[soft navs] Smoke test for soft nav LCP, replacing disabled.html.
In particular, this is a test that shows:
(1) An initial LCP
(2) A soft nav
(3) A soft nav LCP
It asserts that the "normal" way of using PerformananceObserver to
look for largest-contentful-paint will only return (1).
Only when the flag includeSoftNavigationObserverations is added
will the observer return both (1) and (3).
Prior to this change, disabled.html covered a small part of this with
its disabled-expected.txt file (reflecting how the test fails with a
short error message when the feature is enabled); however,
disabled.html *mostly* was testing what happens when the feature is
disabled, and the expectations for this test passing were not part of
the web platform tests.
So I'd like to delete disabled.html, and replace the expectation for
the stable test suite with a new expectation, which shows how when
soft navigation detection isn't available, the test fails indicating
that neither were soft nav entries observed, nor a second lcp entry. I
put the interesting code for this into soft-navigation-test-helper.js,
and will see to reuse and refine it.
Backstory for disabled.html:
crbug.com/40073849 and crrev.com/c/4905895
Change-Id: I22ef965dac535d1e021b3fc99b9ecdbd3dbc01e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6555808
Auto-Submit: Johannes Henkel <johannes(a)chromium.org>
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Reviewed-by: Scott Haseley <shaseley(a)chromium.org>
Reviewed-by: Philip Rogers <pdr(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462497}
--
wpt-commits: 91ba9c3af57f7664123cccf9b3c26dbb1b8d0fec
wpt-pr: 52658
Differential Revision: https://phabricator.services.mozilla.com/D250711
- - - - -
d2572a8a by moz-wptsync-bot at 2025-05-22T10:44:03+00:00
Bug 1967361 [wpt PR 52658] - Update wpt metadata,
wpt-pr: 52658
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250712
- - - - -
4d439052 by Wenbo Jie at 2025-05-22T10:44:06+00:00
Bug 1967362 [wpt PR 52660] - Revert "[gap-decorations] Rule color is transparent fix for repeater values",
Automatic update from web-platform-tests
Revert "[gap-decorations] Rule color is transparent fix for repeater values"
This reverts commit 0273b508c87276e2b39f56af3385ba02c36ac5ac.
Reason for revert: "undefined symbol GapRuleColorIsTransparent" error
which breaks the build https://ci.chromium.org/ui/p/chromium/builders/ci/mac-arm64-dbg/58866/overv…
Bug: 357648037
Original change's description:
> [gap-decorations] Rule color is transparent fix for repeater values
>
> This CL fixes an issue where we will crash when recomputing
> the column-rule-color style when it is set to a repeater value.
>
> In order to fix this, we consider the rule transparent on the case
> of repeater values only if every individual value is transparent.
>
> Bug: 357648037
> Change-Id: I7072e7e4035af7ddad3acd26a01406d50219d410
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536229
> Reviewed-by: Alison Maher <almaher(a)microsoft.com>
> Reviewed-by: Sam Davis Omekara <samomekarajr(a)microsoft.com>
> Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#1462485}
Bug: 357648037
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Ic6372665b9429ee845b876ff6ee6505cf39753f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6566703
Bot-Commit: Rubber Stamper <rubber-stamper(a)appspot.gserviceaccount.com>
Owners-Override: Wenbo Jie <wenbojie(a)chromium.org>
Auto-Submit: Wenbo Jie <wenbojie(a)chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper(a)appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1462502}
--
wpt-commits: 8a857c3a68ecdc099c5fe687c738a35d44860f20
wpt-pr: 52660
Differential Revision: https://phabricator.services.mozilla.com/D250713
- - - - -
460128ba by Alexander Cooper at 2025-05-22T10:44:10+00:00
Bug 1967327 [wpt PR 52648] - Remove unnecessary isCpuOptimized parameter/generators,
Automatic update from web-platform-tests
Remove unnecessary isCpuOptimized parameter/generators
A lot of depth-sensing tests pass in whether this is a test case
expecting a cpu-optimized session or not; however, this data is
available from the session object and doesn't need to be passed in. This
results in many cases where a generator function is no longer truly
needed, and so a simple test function is created instead. There is still
value in having these tests split into gpu/cpu subfolders, so these
tests are still left written in a shared .js file
Change-Id: I81e8e73bd90473fda49796e9672829489d846c6b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6554764
Reviewed-by: Piotr Bialecki <bialpio(a)chromium.org>
Commit-Queue: Piotr Bialecki <bialpio(a)chromium.org>
Auto-Submit: Alexander Cooper <alcooper(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1462400}
--
wpt-commits: 6407bf32623942504a5a969a615400cb16a30e33
wpt-pr: 52648
Differential Revision: https://phabricator.services.mozilla.com/D250714
- - - - -
652c874f by moz-wptsync-bot at 2025-05-22T10:44:14+00:00
Bug 1967327 [wpt PR 52648] - Update wpt metadata,
wpt-pr: 52648
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250715
- - - - -
908f01f9 by Joshua Bell at 2025-05-22T10:44:17+00:00
Bug 1967344 [wpt PR 52650] - WPT: Don't pass Date objects to comparison assertions,
Automatic update from web-platform-tests
WPT: Don't pass Date objects to comparison assertions
A WPT change [1] added support for BigInt values as well as Number
values to the assert_less_than (etc) family of functions. There is
apparently one place in WPT that passed Date objects. Previously these
were implicitly cast to numbers, but now fail a more restrictive
check. This was caught by nodejs/undici's CI [2]. In Chromium, a
failure expectation was added in [3] as part of rolling [1].
Update the test in question, remove the failure expectation.
1: https://github.com/web-platform-tests/wpt/pull/51919
2: https://github.com/nodejs/undici/issues/4225
3: https://chromium-review.googlesource.com/c/chromium/src/+/6512012
Change-Id: Ied53e093307c89d77fb2bc32f8333695fa119bda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6565401
Auto-Submit: Joshua Bell <jsbell(a)chromium.org>
Reviewed-by: Panos Astithas <pastithas(a)google.com>
Commit-Queue: Panos Astithas <pastithas(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1462443}
--
wpt-commits: 0d7fb0a39aa73bf885ca2a5d0220dee77e2b8a55
wpt-pr: 52650
Differential Revision: https://phabricator.services.mozilla.com/D250716
- - - - -
fdbb834f by moz-wptsync-bot at 2025-05-22T10:44:21+00:00
Bug 1967344 [wpt PR 52650] - Update wpt metadata,
wpt-pr: 52650
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250717
- - - - -
6675765b by moz-wptsync-bot at 2025-05-22T10:44:25+00:00
Bug 1967442 - [wpt-sync] Update web-platform-tests to ce1c374ec8f6bee8785bd149f991ba9089cfb100,
MANUAL PUSH: wpt sync bot
wpt-head: ce1c374ec8f6bee8785bd149f991ba9089cfb100
wpt-type: landing
Differential Revision: https://phabricator.services.mozilla.com/D250718
- - - - -
254c6d03 by Nicolas Silva at 2025-05-22T10:45:11+00:00
Bug 1965239 - Add a pref to highlight backdrop filters. r=gfx-reviewers,aosmond
Differential Revision: https://phabricator.services.mozilla.com/D248497
- - - - -
4726c52e by Kagami Sascha Rosylight at 2025-05-22T10:45:37+00:00
Bug 1823283 - Reset geolocation server earlier and permit errors in test_hidden.html r=dom-core,mccr8
1. Bug 1960651 made geolocation API faster, meaning calling the API and then immediately doing something with the server can affect the API result. The handling of the server should thus be done before calling the APIs.
2. Bug 1653549 prevented geolocation update while document is hidden, but did not prevent errors. And preventing errors does not make much sense as it can't expose privacy.
(IMO preventing geolocation update also doesn't make much sense in the current design, if the system backend sends update only when the actual geolocation change is made. Given we don't have queueing system, that means meaningful geolocation changes would be permanently discarded.)
Differential Revision: https://phabricator.services.mozilla.com/D250207
- - - - -
3db05ec1 by Sandor Molnar at 2025-05-22T10:46:54+00:00
Bug 1648512 - Disable test browser_newwindow_tabstrip_overflow.js on linux debug for frequent failures. r=tabbrowser-reviewers,dao DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250593
- - - - -
e12e1392 by Alexandre Lissy at 2025-05-22T11:03:21+00:00
Bug 1966929 - Use valid path in SandboxBrokerPolicyFactory r=jld
Differential Revision: https://phabricator.services.mozilla.com/D249822
- - - - -
af9088d5 by smayya at 2025-05-22T11:13:47+00:00
Bug 1948222 - update nsILoadInfo.idl to add IPAddressSpace attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D244558
- - - - -
21b77695 by smayya at 2025-05-22T11:13:51+00:00
Bug 1948222 - Add IPAddressSpace settings in BrowsingContext. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238498
- - - - -
63aa56bf by smayya at 2025-05-22T11:13:54+00:00
Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238478
- - - - -
348fd959 by smayya at 2025-05-22T11:13:58+00:00
Bug 1960474 - Add LNA utility functions. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238479
- - - - -
f03e166e by smayya at 2025-05-22T11:14:02+00:00
Bug 1960474 - Add tests for LNA Utilities. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D249235
- - - - -
77871310 by smayya at 2025-05-22T11:14:05+00:00
Bug 1944556 - update IpAddressSpace for browsingContexts. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D246199
- - - - -
19a80c63 by smayya at 2025-05-22T11:14:09+00:00
Bug 1960582 - Add LNA telemetry. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D249887
- - - - -
27edec80 by Gijs Kruitbosch at 2025-05-22T11:29:55+00:00
Bug 1965860 - stop reader mode setting broken lang attributes leading to the wrong font being used, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D250434
- - - - -
b892e4fc by Sandor Molnar at 2025-05-22T12:18:25+00:00
Revert "Bug 1948261 - Add "Pin extension to toolbar" checkbox in postinstall r=zombie,fluent-reviewers,bolsson" for causing toolbar related bc failures
This reverts commit 5fdd2188e87a722953097fd711df2b4b7644db18.
- - - - -
4101e2cf by Sandor Molnar at 2025-05-22T12:18:28+00:00
Reapply "Bug 1967834 - moved process_gn_config call to generate_gn_config. r=ng"
This reverts commit 360d3a3311ad248403ef58b829957f38bb347c4e.
- - - - -
e92669a0 by Alexandru Marc at 2025-05-22T12:26:52+00:00
Bug 1967442 - Adjust test expectations for html/dom/idlharness.https.html
- - - - -
ee2ca405 by Helena at 2025-05-22T12:46:27+00:00
Bug 1919571 - The password manager dropdown is being triggered for the Email field instead of the address autofill one. r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D247546
- - - - -
fbcd9c5c by Alexandra Borovova at 2025-05-22T12:50:06+00:00
Bug 1772680 - Update test expectations for fetch/metadata/generated/window-history.https.sub.html.
Differential Revision: https://phabricator.services.mozilla.com/D250731
- - - - -
edd982e7 by Sandor Molnar at 2025-05-22T13:00:46+00:00
Revert "Bug 1966117 - Fix search icons fetched from client r=android-reviewers,harrisono" for causing fenix ui-test failures
This reverts commit 449d60368a9aa906dcc5b8c7a0131e8561ec5ceb.
- - - - -
95012ae5 by Sandor Molnar at 2025-05-22T13:00:50+00:00
Revert "Bug 1967847 - Enable Search Consolidation in nightly by default r=android-reviewers,tchoh,Roger" for causing fenix ui-test failures
This reverts commit 23d95b807bfad2219b50be13419994ae24b439e7.
- - - - -
b3556431 by ffxbld at 2025-05-22T13:04:15+00:00
No Bug, mozilla-central repo-update HSTS HPKP remote-settings tld-suffixes ct-logs - r=release-managers,dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D250738
- - - - -
d1829bf0 by James Teh at 2025-05-22T13:04:45+00:00
Bug 360003: Add a test for character bounds of list item bullets. r=morgan
This was fixed in bug 1951833.
Differential Revision: https://phabricator.services.mozilla.com/D249711
- - - - -
c2d2757f by Jonathan Kew at 2025-05-22T13:04:57+00:00
Bug 1967954 - Wait for Ahem font loading in flex-container-max-content-002.tentative.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250739
- - - - -
f1eb719b by Jonathan Kew at 2025-05-22T13:05:01+00:00
Bug 1967954 - patch 2 - Also wait for Ahem font loading in flex-container-min-content-002.tentative.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250746
- - - - -
0904ecb9 by az at 2025-05-22T13:05:43+00:00
Bug 1805365 - Part 1: Allow mp2 files distributed within wav containers to retain an .mp2 extension when saving to disk. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D250371
- - - - -
cfa39f78 by Emilio Cobos Álvarez at 2025-05-22T13:06:12+00:00
Bug 1967507 - Simplify custom content container set-up. r=smaug,devtools-reviewers,nchevobbe
I haven't been able to reproduce this locally, but I see what's going
on, and I think we could do better.
This avoids the frame flush from nsCanvasFrame::CreateAnonymousContent,
and in general makes the anonymous content timing a lot more reasonable
(see the FlushPendingNotifications call that's getting removed).
The ServoStyleSet changes are needed now that there are multiple style
roots that can be unstyled like that.
It also simplifies the API as now it's not dependent on having a canvas
frame around (and thus doesn't need to flush layout).
Differential Revision: https://phabricator.services.mozilla.com/D250531
- - - - -
1879494b by Andy Leiserson at 2025-05-22T13:06:39+00:00
Bug 1967612 - Implement `GPUCanvasContext.getConfiguration` r=webgpu-reviewers,ErichDonGubler,webidl,smaug,nical
Differential Revision: https://phabricator.services.mozilla.com/D250572
- - - - -
047ec7a7 by Rob Wu at 2025-05-22T13:07:06+00:00
Bug 1948261 - Add "Pin extension to toolbar" checkbox in postinstall r=zombie,fluent-reviewers,bolsson
This adds the "Pin extension to toolbar" checkbox to the post-install
doorhanger, and ensures that the checkbox has a state that reflects the
actual placement of the button, including externally triggered changes.
Differential Revision: https://phabricator.services.mozilla.com/D250324
- - - - -
fd14104f by AndiAJ at 2025-05-22T13:07:33+00:00
Bug 1967946 - Disable failing broken site form related UI tests to unblock reasons updates r=aaronmt
The reasons update patch was backed out, let's disable the failing UI tests to unblock the reasons updates and fix the UI tests after the changes from [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1967506 | 1967506 ]] land.
Differential Revision: https://phabricator.services.mozilla.com/D250734
- - - - -
90def9d0 by Luca Greco at 2025-05-22T13:07:45+00:00
Bug 1966736 - Scan all scopes on early startup if addonStartup.json.lz4 is lost or completely corrupted. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249659
- - - - -
dac333a4 by Luca Greco at 2025-05-22T13:07:49+00:00
Bug 1966736 - Scan all profile scopes on missing/incomplete app-system-addons location found in addonStartup.json.lz4. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249839
- - - - -
c9ec2741 by Florian Queze at 2025-05-22T13:08:32+00:00
Bug 1967945 - Fix error in mozgeckoprofiler/profiling.py when opening the profile file to symbolicate, r=marco.
Differential Revision: https://phabricator.services.mozilla.com/D250733
- - - - -
54273e2e by AndiAJ at 2025-05-22T13:08:57+00:00
Bug 1967957 - Disable failing search related UI tests r=aaronmt
A couple of UI tests started to fail after [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1967847 | 1967847 ]] landed.
Tried to disable the the useRemoteSearchConfiguration setting using a feature setting helper but it didn't seem to be working.
Differential Revision: https://phabricator.services.mozilla.com/D250743
- - - - -
a0631722 by Alex Jakobi at 2025-05-22T13:47:07+00:00
Bug 1953029 - Pass WindowGlobalTargetActor to TouchSimulator in RDM r=devtools-backward-compat-reviewers,devtools-reviewers,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D245393
- - - - -
3df797a0 by Holger Benl at 2025-05-22T13:47:35+00:00
Bug 1967248 - [devtools] Rerender tree nodes when their depth changes. r=devtools-reviewers,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D250056
- - - - -
90da2d09 by Jeff Muizelaar at 2025-05-22T13:48:04+00:00
Bug 1967506. Change the broken site reporter reasons r=android-reviewers,webcompat-reviewers,android-l10n-reviewers,fluent-reviewers,twisniewski,flod,calu
This makes things less ambiguous and more specific.
This also makes a change to lowercase the reason name that
ends up in the report on Android to match desktop.
Differential Revision: https://phabricator.services.mozilla.com/D250264
- - - - -
79e9d043 by Jonathan Kew at 2025-05-22T13:48:32+00:00
Bug 1967948 - Ensure viewTransitions pref is enabled for test that uses it. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D250753
- - - - -
e7f21f2f by Mike Conley at 2025-05-22T13:49:00+00:00
Bug 1967437 - Disable payment method import for Chromium Edge on Windows. r=migration-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D250533
- - - - -
d77aa320 by az at 2025-05-22T13:54:07+00:00
Bug 1805365 - Part 2: Add audio/mpeg and audio/x-wav MIME type support to filename validation mochitest (browser_save_filenames.js) r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D250573
- - - - -
84acdce1 by az at 2025-05-22T13:54:11+00:00
Bug 1805365 - Part 3: Verify that .mp2 files served as audio/x-wav retain their extension when saved. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D250574
- - - - -
69425385 by Alexandra Borovova at 2025-05-22T14:46:30+00:00
Bug 1967690 - [wdspec] Add long timeout for mozilla-specific tests for "acceptInsecureCerts". r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D250742
- - - - -
e714aa48 by Dale Harvey at 2025-05-22T14:47:01+00:00
Bug 1967857 - Enable scotchBonnet by default r=urlbar-reviewers,daisuke
Differential Revision: https://phabricator.services.mozilla.com/D250537
- - - - -
17677942 by sarah541 at 2025-05-22T14:47:30+00:00
Bug 1966117 - Fix search icons fetched from client r=android-reviewers,harrisono
Differential Revision: https://phabricator.services.mozilla.com/D250417
- - - - -
67fbd831 by Tom Schuster at 2025-05-22T14:53:14+00:00
Bug 1967417 - Remove default parameters from LoadInfo constructor. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D250764
- - - - -
7f0ea484 by iulian moraru at 2025-05-22T15:58:47+00:00
Revert "Bug 1967417 - Remove default parameters from LoadInfo constructor. r=smaug" for causing mass build bustages on EarlyHintPreloader.cpp.
This reverts commit 60270087850b8c51bb9ad8d75ffbab50f6344683.
- - - - -
b516e5ce by Sandor Molnar at 2025-05-22T16:24:21+00:00
Revert "Bug 1966203 - Update Sentry to version 8.12. r=android-reviewers,marcin" for causing sentry crashes
This reverts commit 256771d3e23dfdcb075c3aa10d30aa4aec0be8c0.
- - - - -
2e0c58ca by Emilio Cobos Álvarez at 2025-05-22T16:40:23+00:00
Bug 1967507 - Make CSS loader not count privileged sheets for testing.
This prevents browser_css_cache from spuriously failing on ASAN builds
after the last patch, since now creating the accessiblecaret doesn't
force a flush (and thus might not force accessiblecaret.css to be
parsed).
- - - - -
bb716f9a by Nicolas Silva at 2025-05-22T16:42:46+00:00
Bug 1926651 - Fetch DXC from taskcluster. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D241216
- - - - -
1a1c9bc0 by Emilio Cobos Álvarez at 2025-05-22T16:43:15+00:00
Bug 1967400 - Prevent unnecessary layout shift from the vertical pinned tabs splitter. r=kcochrane,sidebar-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250127
- - - - -
82697e06 by Ben Visness at 2025-05-22T16:43:43+00:00
Bug 1967661: Fix type of catch_ref and catch_all_ref. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D250468
- - - - -
eaa49db2 by Sandor Molnar at 2025-05-22T16:44:11+00:00
Bug 1912735 - Disable test test_bug1166138.html on win for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250766
- - - - -
47f02c2e by Mugurell at 2025-05-22T16:44:24+00:00
Bug 1962170 - part 1 - Composable toolbar middleware cleanup r=android-reviewers,tchoh
BrowserToolbarComposable was already receiving a Context and TabsUseCases
as parameters. Since it needed to pass down to the middleware both UseCases
it obtained from Context and TabsUseCases this can be simplified to avoid
it's separate TabsUseCases parameter.
BrowserToolbarMiddlewareTest tests were also simplified to reduce the
amount of code needed in each test setup.
Differential Revision: https://phabricator.services.mozilla.com/D250062
- - - - -
62e6392e by Mugurell at 2025-05-22T16:44:28+00:00
Bug 1962170 - part 2 - Add a home button in the composable toolbar r=android-reviewers,Roger
Differential Revision: https://phabricator.services.mozilla.com/D250063
- - - - -
bfacee0c by Magnus Melin at 2025-05-22T16:45:12+00:00
Bug 1966050 - should not call _configureFromNimbus() if not Firefox. r=mviar
Differential Revision: https://phabricator.services.mozilla.com/D249049
- - - - -
9fe6e7f5 by Erik Nordin at 2025-05-22T16:45:40+00:00
Bug 1967809 - Add more isDestroyed checks to TranslationsEngine actors r=translations-reviewers,gregtatum
Adds a few more checks for isDestroyed in places where we might
send asynchronous messages within the TranslationsEngine actors.
Differential Revision: https://phabricator.services.mozilla.com/D250765
- - - - -
2adbd4a4 by Gabriel Luong at 2025-05-22T16:46:14+00:00
Bug 1967859 - Open Private Browsing Learn More link in the existing tab when Homepage as a New Tab is enabled r=android-reviewers,Roger
- When Homepage as a New Tab is enabled, the private browsing mode learn more link in the Homepage Private Mode should be opened in the existing tab instead of opening as a new tab.
Differential Revision: https://phabricator.services.mozilla.com/D250544
- - - - -
2257dbb8 by Gabriel Luong at 2025-05-22T16:46:42+00:00
Bug 1914852 - Ensure there's always a single private homepage tab when switching to private mode when Homepage as a New Tab is enabled r=android-reviewers,Roger
- Adds a new private homepage tab when there are no private tabs available when switching from normal to private mode.
- This fixes the reported issue of switching from private mode to normal mode when performing a search or loading a URL in private mode because without a selected private tab it will load it from the selected normal tab under the Hompeage as a New Tab feature. Therefore, we need to guarantee that there's a private tab to load from by ensuring there's always a private tab in private mode.
Differential Revision: https://phabricator.services.mozilla.com/D250522
- - - - -
f00836d6 by RebecaTudor at 2025-05-22T16:46:54+00:00
Bug 1967427 - Redirect to "Private browsing" from TabsTrayBanner. r=android-reviewers,gmalekpour
When the button "Lock tabs" is tapped then the user
should be redirected to "Private browsing" fragment instead
of device settings.
Differential Revision: https://phabricator.services.mozilla.com/D250755
- - - - -
c11683ed by RebecaTudor at 2025-05-22T16:46:58+00:00
Bug 1967427 - Remove unused code from TabsTrayFragment. r=android-reviewers,gmalekpour
Differential Revision: https://phabricator.services.mozilla.com/D250771
- - - - -
fa8e939f by Dão Gottwald at 2025-05-22T16:47:41+00:00
Bug 1967721 - Fix action mode layout. r=daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D250719
- - - - -
28ff6aec by Alex Franchuk at 2025-05-22T16:48:09+00:00
Bug 1959875 - Handle a missing dump file more clearly in the crash reporter r=gsvelto,fluent-reviewers,bolsson
This doesn't change anything about how the crash reporter client is
invoked. We _could_ intentionally pass an empty string as the dump file
argument to the crash reporter, however it's unclear whether a
non-`success` status in the breakpad minidump callback always means the
minidump is missing (i.e., maybe there are cases where `success` would
be false but the minidump is still usable). Instead, we just check
whether the minidump file exists when loading the crash reporter client.
Differential Revision: https://phabricator.services.mozilla.com/D248431
- - - - -
8dd6d653 by Atila Butkovits at 2025-05-22T17:35:28+00:00
Bug 1967507 - Fix for Lint failures.
- - - - -
f0c33dd2 by Valentin Gosu at 2025-05-22T18:00:54+00:00
Bug 1966045 - Add nimbus rollout controls for DoH UI settings r=android-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D249943
- - - - -
bded00d9 by Valentin Gosu at 2025-05-22T18:00:58+00:00
Bug 1963558 - Add GV API to enable DoH provider autoselect on Android r=geckoview-reviewers,android-reviewers,nalexander,geckoview-api-reviewers,ohall
This change adds a GV API to enable DoH provider autoselection when the browser
is in Default Protection mode for DoH.
The autoselect mechanism works by enabling DoHController when the API is enabled.
The DoHController will determine the user's georegion. If the remote-settings
collection doh-config indicates that rollout is enabled for that region,
DoHController will set the doh-rollout.mode and doh-rollout.uri prefs
which override the network.trr.mode and network.trr.uri prefs when they
haven't been previously changed by the user.
The autoselect mechanism will be enabled via nimbus experiment/rollout after
the DoH UI in Fenix is enabled.
Differential Revision: https://phabricator.services.mozilla.com/D247248
- - - - -
116ac6a8 by Valentin Gosu at 2025-05-22T18:01:02+00:00
Bug 1963558 - Add nimbus controls for DoH provider autoselect on Android r=android-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D250001
- - - - -
ae855919 by André Bargull at 2025-05-22T18:01:32+00:00
Bug 1967986 - Part 1: Handle new feature tags. r=spidermonkey-reviewers,dminor
Changes the shell option for `Atomics.waitAsync` because passing `-P atomics_wait_async`
through the test262-update script doesn't work correctly.
Differential Revision: https://phabricator.services.mozilla.com/D250761
- - - - -
f27150a0 by André Bargull at 2025-05-22T18:01:36+00:00
Bug 1967986 - Part 2: Update test262 May, 2025. r=spidermonkey-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D250762
- - - - -
97c9b6ac by André Bargull at 2025-05-22T18:01:42+00:00
Bug 1967986 - Part 3: Update test exclusions. r=spidermonkey-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D250763
- - - - -
c4d34251 by Julien Wajsberg at 2025-05-22T18:02:17+00:00
Bug 1581963 - [profiler] Remove an unused feature from the default list of features r=canaltinova,devtools-reviewers,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D246768
- - - - -
4c4a3fbe by Julien Wajsberg at 2025-05-22T18:02:20+00:00
Bug 1581963 - [devtools] Add a new trait to control the use of the bulk API for the performance panel r=devtools-reviewers,devtools-backward-compat-reviewers,profiler-reviewers,nchevobbe,mstange
Differential Revision: https://phabricator.services.mozilla.com/D245460
- - - - -
c607bebb by Julien Wajsberg at 2025-05-22T18:02:25+00:00
Bug 1581963 - [devtools] Implement a new remote function to gather the profile data, using the bulk api r=devtools-backward-compat-reviewers,profiler-reviewers,ochameau,mstange
The devtools protocol's bulk API is much more efficient, as we're
transfering the protocol data in a binary form instead of serializing it
using the devtools protocol.
In addition to that, the profile data is now gzipped before sending it.
Differential Revision: https://phabricator.services.mozilla.com/D244341
- - - - -
bc1289f8 by Julien Wajsberg at 2025-05-22T18:02:28+00:00
Bug 1581963 - [devtools] Handle errors properly when capturing a profile r=profiler-reviewers,mstange
Differential Revision: https://phabricator.services.mozilla.com/D245886
- - - - -
519be3f6 by Julien Wajsberg at 2025-05-22T18:02:32+00:00
Bug 1581963 - [devtools] Add copyFromBuffer and copyToBuffer to the bulk packet r=ochameau,devtools-reviewers,profiler-reviewers,canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D250276
- - - - -
e991f467 by Moritz Beier at 2025-05-22T18:03:17+00:00
Bug 1967398 - Only show "Add Search Engine" on http and https pages. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D250404
- - - - -
a2ca9236 by Ben Visness at 2025-05-22T18:03:46+00:00
Bug 1966552: Allow imports of tables with non-null types. r=rhunt
This was an oversight brought about by the combined codepath for
validating "table types" in both the import and table sections. It now
accounts for imported tables in both validation and decoding.
Differential Revision: https://phabricator.services.mozilla.com/D250497
- - - - -
3ea2ade5 by kpatenio at 2025-05-22T18:03:59+00:00
Bug 1964844 - clean up shopping in storybook r=shopping-reviewers,reusable-components-reviewers,akulyk
Differential Revision: https://phabricator.services.mozilla.com/D248313
- - - - -
d2f320a9 by kpatenio at 2025-05-22T18:04:03+00:00
Bug 1964840 - clean up shopping nimbus metrics r=beth,shopping-reviewers,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D248548
- - - - -
a5883f88 by kpatenio at 2025-05-22T18:04:07+00:00
Bug 1965361 - clean up shopping metrics and scalars r=shopping-reviewers,rking
Differential Revision: https://phabricator.services.mozilla.com/D248550
- - - - -
ba0cb760 by Fred Chasen at 2025-05-22T18:04:11+00:00
Bug 1966511 - Remove Shopping component tests. r=shopping-reviewers,rking
Differential Revision: https://phabricator.services.mozilla.com/D249477
- - - - -
c4d65c5d by Fred Chasen at 2025-05-22T18:04:15+00:00
Bug 1964835 - Part 1: Remove shopping actors and globals. r=shopping-reviewers,frontend-codestyle-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248147
- - - - -
31119b9a by Fred Chasen at 2025-05-22T18:04:19+00:00
Bug 1964835 - Part 2: Remove Shopping sidebar button from navigator toolbox. r=shopping-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248332
- - - - -
19593337 by kpatenio at 2025-05-22T18:04:23+00:00
Bug 1964842 - clean up shopping.ftl files r=shopping-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D248341
- - - - -
239207b2 by Fred Chasen at 2025-05-22T18:04:27+00:00
Bug 1964835 - Part 3: Remove about:shoppingsidebar. r=shopping-reviewers,desktop-theme-reviewers,urlbar-reviewers,emilio,adw,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248333
- - - - -
f53b6152 by Fred Chasen at 2025-05-22T18:04:31+00:00
Bug 1964835 - Part 4: Remove shopping browser component. r=shopping-reviewers,desktop-theme-reviewers,frontend-codestyle-reviewers,emilio,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248334
- - - - -
e3f488b9 by Rebecca King at 2025-05-22T18:04:34+00:00
Bug 1964836 - Clean up AboutWelcomeShopping and Shopping messages - r=shopping-reviewers,omc-reviewers,emcminn,fchasen
Differential Revision: https://phabricator.services.mozilla.com/D248957
- - - - -
02f73af4 by Fred Chasen at 2025-05-22T18:04:39+00:00
Bug 1964845 - Remove Shopping prefs. r=shopping-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248678
- - - - -
2fad78ad by Fred Chasen at 2025-05-22T18:04:42+00:00
Bug 1964849 - Remove Shopping toolkit component. r=shopping-reviewers,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D248677
- - - - -
3d4f8953 by hanna.alemu at 2025-05-22T18:19:12+00:00
Bug 1956061 - Allow for configuration of AboutWelcome SingleSelect borders (including between text and icon) r=omc-reviewers,mviar
Differential Revision: https://phabricator.services.mozilla.com/D248359
- - - - -
a8a548d9 by Mikhail Galanin at 2025-05-22T18:19:40+00:00
Bug 1625915 - Expose validation error message via AXValidationError. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D214679
- - - - -
0057bf4a by Drew Willcoxon at 2025-05-22T18:20:08+00:00
Bug 1967902 - Add sqlite3_create_collation_v2 to sqlite.symbols. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D250592
- - - - -
8cb3a17e by Gabriel Luong at 2025-05-22T18:20:35+00:00
Bug 1968033 - Remove Compose Top Sites Feature flag and Setting r=android-reviewers,Roger
Differential Revision: https://phabricator.services.mozilla.com/D250787
- - - - -
b950f40b by Valentin Gosu at 2025-05-22T18:21:03+00:00
Bug 1958018 - Always set AI_CANONNAME flag when making DNS requests r=necko-reviewers,kershaw
This flag controls whether ai_canonname is set to the target CNAME when
calling getaddrinfo.
However, since it is part of the host record key, a request that doesn't have
the flag set will not reuse a DNS cache entry that does, even though
all of the information it needs is there.
This is a problem because consumers set this flag inconsistently.
Ideally we would remove it in the future.
Differential Revision: https://phabricator.services.mozilla.com/D244328
- - - - -
a483a362 by Ryan VanderMeulen at 2025-05-22T18:21:34+00:00
Bug 1967598 - Fix ModifierParameter warning in MenuItem.kt. r=android-reviewers,007
Differential Revision: https://phabricator.services.mozilla.com/D250345
- - - - -
84b133c7 by Beth Rennie at 2025-05-22T18:22:02+00:00
Bug 1956080 - Make the unenroll flow (mostly) async r=nimbus-reviewers,relud,settings-reviewers,omc-reviewers,emcminn,bytesized
Writing enrollments to the SQL database is an async process, so the
entire unenroll flow needs to become async. This patch lays the
groundwork for making that happen by updating our testing helpers to use
async functions, as well as adding some new helpers for asserting the
state of the enrollments database.
For now the unenroll() (_unenroll()) functions are marked async but
otherwise have no behavioural changes -- this is just a first step to
port all the tests over before landing changes that write to the
enrollments store (which have to all be landed together).
Most callers of unenroll() have been updated so that they await the
result. There are a few callers left that do not await the result,
however, mostly because doing so causes race conditions in tests (most
notably in the pref observers in ExperimentManager and the
PrefFlipsFeature). These issues will be addressed in bug 1956082.
Differential Revision: https://phabricator.services.mozilla.com/D250504
- - - - -
5813af29 by Updatebot at 2025-05-22T18:22:30+00:00
Bug 1967881 - Update WebGPU CTS to 905c7cbfeaac1cf3feb4c6056dd6f3dbaa06b074 r=ErichDonGubler
Differential Revision: https://phabricator.services.mozilla.com/D250569
- - - - -
2cb045a0 by John M. Schanck at 2025-05-22T18:22:58+00:00
Bug 1966632 - bundle cross-signed "SSL.com TLS Transit ECC CA R2" intermediate. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D250486
- - - - -
4c7fc218 by Release Engineering Landoscript at 2025-05-22T18:51:46+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
af -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
an -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ar -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ast -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
az -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
be -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bg -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
br -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
brx -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ca -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ca-valencia -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cak -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ckb -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cy -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
da -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
de -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
dsb -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
el -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
en-CA -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
en-GB -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
eo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-AR -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-CL -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-ES -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-MX -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
et -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
eu -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fa -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ff -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fi -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fur -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fy-NL -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ga-IE -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gd -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gu-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
he -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hi-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hsb -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hu -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hy-AM -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hye -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ia -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
id -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
is -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
it -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ja -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ja-JP-mac -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ka -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kab -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
km -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ko -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lij -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lt -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ltg -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lv -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
meh -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
mk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ml -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
mr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ms -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
my -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nb-NO -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ne-NP -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nn-NO -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
oc -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pa-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pt-BR -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pt-PT -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
rm -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ro -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ru -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sat -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sc -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
scn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sco -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
si -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
skr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
son -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sq -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sv-SE -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
szl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ta -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
te -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
tg -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
th -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
tl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
tr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
trs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
uk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ur -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
uz -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
vi -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
wo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
xh -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
zh-CN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
zh-TW -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
- - - - -
e804f64c by Release Engineering Landoscript at 2025-05-22T18:51:50+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
an -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ar -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ast -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
az -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
be -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bg -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
br -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
bs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ca -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cak -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
cy -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
da -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
de -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
dsb -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
el -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
en-CA -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
en-GB -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
eo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-AR -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-CL -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-ES -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
es-MX -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
et -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
eu -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fa -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ff -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fi -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
fy-NL -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ga-IE -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gd -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
gu-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
he -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hi-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hsb -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hu -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
hy-AM -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ia -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
id -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
is -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
it -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ja -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ka -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kab -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
km -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
kn -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ko -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lij -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lt -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ltg -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
lv -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
meh -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
mix -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ml -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
mr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ms -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
my -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nb-NO -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ne-NP -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
nn-NO -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
oc -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pa-IN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pt-BR -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
pt-PT -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
rm -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ro -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ru -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
son -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sq -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
sv-SE -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ta -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
te -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
th -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
tl -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
tr -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
trs -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
uk -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
ur -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
uz -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
vi -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
wo -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
xh -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
zam -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
zh-CN -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
zh-TW -> bc59aff378f3860ae744b6a0036d1d0af452c0e6
- - - - -
b6fc1b6a by Jeff Muizelaar at 2025-05-22T20:10:20+00:00
Bug 1967980 - Add a flow marker for channel suspension r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D250786
- - - - -
53fd00cc by Alex Hochheiden at 2025-05-22T20:10:49+00:00
Bug 1916793 - Add suggestion to add `platform-tools` dir to PATH r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D250499
- - - - -
8cd2a91a by Roger Yang at 2025-05-22T20:11:17+00:00
Bug 1967798 - Add telemetry for custom search engine creation. r=android-reviewers,skhan,tchoh
Differential Revision: https://phabricator.services.mozilla.com/D250487
- - - - -
71621a52 by Dan Baker at 2025-05-22T20:11:45+00:00
Bug 1962571 - Changing from std::stoi to account for larger values of mDeviceUniqueId.;r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D246689
- - - - -
4215e12b by Marco Bonardo at 2025-05-22T20:12:12+00:00
Bug 1968020 - Fix schema check of the semantic history database. r=cgopal
The healthy database schema check cannot use table_info as it is not
supported by the sqlite-vec extension.
Differential Revision: https://phabricator.services.mozilla.com/D250794
- - - - -
102655da by Tarek Ziadé at 2025-05-22T20:12:25+00:00
Bug 1963137 - Fixing test failures related to activating LMM r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D250423
- - - - -
2021e288 by Luca Greco at 2025-05-22T20:12:29+00:00
Bug 1961440 - Defer ModelHubAddonWrapper initialization to first AddonManager.getAddonsByTypes including mlmodel type. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D250453
- - - - -
1ee3412e by Tarek Ziadé at 2025-05-22T20:12:32+00:00
Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249936
- - - - -
6167f478 by Tarek Ziadé at 2025-05-22T20:12:36+00:00
Bug 1967224 - promote preview strings for local model managment r=rpl,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D250021
- - - - -
11fba875 by Tarek Ziadé at 2025-05-22T20:12:40+00:00
Bug 1963137 - change indexdb migration behavior r=atossou
Differential Revision: https://phabricator.services.mozilla.com/D250424
- - - - -
cdd6f567 by Cieara Meador at 2025-05-22T20:13:24+00:00
Bug 1958696 - Set a default value for profiles foreground color r=profiles-reviewers,desktop-theme-reviewers,emilio,jhirsch
Differential Revision: https://phabricator.services.mozilla.com/D248455
- - - - -
f73c2e52 by John Oberhauser at 2025-05-22T20:13:52+00:00
Bug 1964497 - Hiding QR code and print buttons when the device is android automotive r=android-reviewers,007
Differential Revision: https://phabricator.services.mozilla.com/D250065
- - - - -
d52fa902 by Beth Rennie at 2025-05-22T20:14:04+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/urlbar browser tests r=urlbar-reviewers,Standard8
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250505
- - - - -
abdab4aa by Beth Rennie at 2025-05-22T20:14:08+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/tests browser tests r=mconley
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250506
- - - - -
15b1787a by Beth Rennie at 2025-05-22T20:14:12+00:00
Bug 1956080 - Use async experiment cleanup in toolkit/components/passwordmgr browser tests r=mconley
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250507
- - - - -
dd30d1c8 by Beth Rennie at 2025-05-22T20:14:16+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/search browser tests r=search-reviewers,scunnane
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250508
- - - - -
269bb73b by Beth Rennie at 2025-05-22T20:14:19+00:00
Bug 1956080 - Use async experiment cleanup in toolkit/components/pictureinpicture browser tests r=mconley
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250509
- - - - -
c29dc887 by Glenn Watson at 2025-05-22T20:15:03+00:00
Bug 1967840 - Add SWGL extension for applying a R8 alpha mask to a RGBA8 texture r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D250524
- - - - -
11d15f0a by Eitan Isaacson at 2025-05-22T20:15:16+00:00
Bug 1967813 - Check menu's frame IsOpen to determine if menu is active. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D250492
- - - - -
c1ddeb01 by Eitan Isaacson at 2025-05-22T20:15:19+00:00
Bug 1899960 - P1: Don't cache implicit states. r=Jamie
This also removes some duplication and unifies the logic we use for
states that are calculated from other ones.
Differential Revision: https://phabricator.services.mozilla.com/D250356
- - - - -
5de42535 by Eitan Isaacson at 2025-05-22T20:15:23+00:00
Bug 1899960 - P2: Imply an unavailable state if focusable is in unavailable subtree. r=Jamie
I decided not to use aria-disabled directly because we currently don't
cache it in the parent, and I don't think the benefit would be great
enough.
Differential Revision: https://phabricator.services.mozilla.com/D250357
- - - - -
1cfb8cfc by Robert Kirkman at 2025-05-22T21:20:22+00:00
Bug 1946405 - Don't start nsGTKRemoteServer unless X11 server is present r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D250580
- - - - -
88abfd37 by Beth Rennie at 2025-05-22T21:20:35+00:00
Bug 1956080 - Use async experiment cleanup in toolkit/components/antitracking browser tests r=anti-tracking-reviewers,emz
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250510
- - - - -
d12b9c8c by Beth Rennie at 2025-05-22T21:20:39+00:00
Bug 1956080 - Use async experiment cleanup in messaging system browser tests r=omc-reviewers,emcminn
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250511
- - - - -
89f40cda by Beth Rennie at 2025-05-22T21:20:43+00:00
Bug 1956080 - Use async experiment cleanup in browser_aboutSupport.js r=mconley
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250512
- - - - -
05c7dc84 by Beth Rennie at 2025-05-22T21:20:46+00:00
Bug 1956080 - Use async experiment cleanup in browser_chat_nimbus.js r=firefox-ai-ml-reviewers,Mardak
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250551
- - - - -
d2c19d07 by Beth Rennie at 2025-05-22T21:20:50+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/preferences r=settings-reviewers,mconley
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250552
- - - - -
5f27d906 by Joel Maher at 2025-05-22T21:21:38+00:00
Bug 1968082 - add env var to turn off power meter reset in certain environments. r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D250835
- - - - -
9004c10b by Joel Maher at 2025-05-22T21:22:05+00:00
Bug 1967504 - adjust test suite .yml files to support 24.04. r=ahal,taskgraph-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250271
- - - - -
404f50df by Mike Hommey at 2025-05-22T21:22:33+00:00
Bug 1967887 - Avoid using signed integer arithmetic that can overflow. r=spidermonkey-reviewers,nbp
Differential Revision: https://phabricator.services.mozilla.com/D250576
- - - - -
8de88eee by Beth Rennie at 2025-05-22T21:45:53+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/reportbrokensite r=webcompat-reviewers,twisniewski
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250553
- - - - -
feaf4fb4 by Beth Rennie at 2025-05-22T21:45:56+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/shell r=nalexander,bhearsum
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250554
- - - - -
5ea13ebd by Beth Rennie at 2025-05-22T21:46:00+00:00
Bug 1956080 - Use async experiment cleanup in browser/components/sidebar r=sidebar-reviewers,sclements
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250555
- - - - -
7cc1de1f by Beth Rennie at 2025-05-22T21:46:03+00:00
Bug 1956080 - Use async experiment cleanup in browser_address_autofill_nimbus r=credential-management-reviewers,dimi
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250556
- - - - -
ef94b8f0 by Beth Rennie at 2025-05-22T21:46:07+00:00
Bug 1956080 - Use async experiment cleanup in browser_experiments_api_control.js r=mconley,home-newtab-reviewers
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250557
- - - - -
95465338 by Jeremy Swinarton at 2025-05-22T22:03:01+00:00
Bug 1961161: Additional metrics for closing tabs within groups r=dwalker,fxview-reviewers,tabbrowser-reviewers,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D248438
- - - - -
b0ca30e1 by Alex Hochheiden at 2025-05-22T22:07:42+00:00
Bug 1924743 - Only show lldb-server warning if there are multiple versions installed r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D250563
- - - - -
a9f3181e by Alex Hochheiden at 2025-05-22T22:08:24+00:00
Bug 1965907 - Re-enable `test_vendor.py` r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D250337
- - - - -
9b3d9f66 by Alex Hochheiden at 2025-05-22T22:08:28+00:00
Bug 1965905 - Remove `vendor_requirements.txt/in` as they are no longer necessary with `uv` python vendoring r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D250338
- - - - -
4f4f0ed3 by Alex Hochheiden at 2025-05-22T22:08:32+00:00
Bug 1967634 - Add `python-sites` lint to facilitate adding rules specific to `python/sites/` r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D250374
- - - - -
2725ef83 by Alex Hochheiden at 2025-05-22T22:08:35+00:00
Bug 1967634 - Apply fixes from `python-sites` lint r=ahal,mach-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250489
- - - - -
f4ee1cd9 by Rolf Rando at 2025-05-22T22:13:30+00:00
Bug 1968074 - Fix truncated inferred interests ping r=thecount,home-newtab-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250825
- - - - -
e010ccc5 by Rob Wu at 2025-05-22T22:31:57+00:00
Bug 1966935 - Record whether the user prefers a hidden Extensions button r=willdurand
This allows us to measure how many % of the users have configured the
button to be hidden.
Differential Revision: https://phabricator.services.mozilla.com/D249917
- - - - -
263ab7e8 by Rob Wu at 2025-05-22T22:32:00+00:00
Bug 1966935 - Record when the user hides/unhides the Extensions Button r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249918
- - - - -
3227a8c3 by Rob Wu at 2025-05-22T22:32:04+00:00
Bug 1966935 - Record when Extensions app menu item is clicked r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249919
- - - - -
902cc5b2 by Rob Wu at 2025-05-22T22:32:08+00:00
Bug 1966935 - Record telemetry when button is temporarily visible r=willdurand
To minimize the amount of new test logic, this commit adds lightweight
test helpers to head_unified_extensions.js, and inserts the relevant
checks in existing test files that exercise the code paths that trigger
the relevant cases.
Differential Revision: https://phabricator.services.mozilla.com/D249920
- - - - -
1c567d0d by Rob Wu at 2025-05-22T22:32:11+00:00
Bug 1964857 - Enable UI to remove Extensions Button r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D250081
- - - - -
d5c44d0f by Geoff Lankow at 2025-05-22T22:35:16+00:00
Bug 1966470 - Simplify how Thunderbird artifacts get found. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D249928
- - - - -
c1fba4b8 by Cristian Tuns at 2025-05-22T22:38:47+00:00
Revert "Bug 1967634 - Apply fixes from `python-sites` lint r=ahal,mach-reviewers" for broken tests
This reverts commit b6bab59343b3ae80bce87b30b2581b4577a8e1fc.
Revert "Bug 1967634 - Add `python-sites` lint to facilitate adding rules specific to `python/sites/` r=ahal"
This reverts commit cd14d13cec28987474e4154569ebb6b807971046.
Revert "Bug 1965905 - Remove `vendor_requirements.txt/in` as they are no longer necessary with `uv` python vendoring r=ahal"
This reverts commit dbb9b5ca9b2825af1d2ac25d61a3704548c20581.
Revert "Bug 1965907 - Re-enable `test_vendor.py` r=ahal"
This reverts commit c39a35d0a2daba9f459e34d151d9b220d72d6624.
- - - - -
082d6d23 by Atila Butkovits at 2025-05-22T23:36:44+00:00
Revert "Bug 1899960 - P2: Imply an unavailable state if focusable is in unavailable subtree. r=Jamie" for causing Geckoview failures.
This reverts commit d4794289e743c0f8f0a1e6f992c3f9d11bdc3a87.
Revert "Bug 1899960 - P1: Don't cache implicit states. r=Jamie"
This reverts commit dd5d2cd56154db25c987f7e7bd00bb672e80c57e.
Revert "Bug 1967813 - Check menu's frame IsOpen to determine if menu is active. r=morgan"
This reverts commit 2d6a0f17e3f25a382ae2d7078dfd170f394a886f.
- - - - -
687b655b by Atila Butkovits at 2025-05-22T23:36:47+00:00
Revert "Bug 1926651 - Fetch DXC from taskcluster. r=glandium" requested by Darktrojan for causing broken Thunderbird's Win64 builds.
This reverts commit 628afe3be4d5f0861769a2d71c009ee8b2f9ec0a.
- - - - -
7c77657a by Release Engineering Landoscript at 2025-05-23T00:12:33+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
d6b8d1ee by Mike Hommey at 2025-05-23T00:27:11+00:00
Bug 1968103 - Enable libz-rs-sys on early beta. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D250847
- - - - -
2f385b66 by Jim Blandy at 2025-05-23T00:27:37+00:00
Bug 1967621: Rename and document `wgpu_bindings::server::Global::owner`. r=webgpu-reviewers,nical
In `wgpu_bindings::server::Global`, rename the field `owner` to
`webgpu_parent`, and document its type and use.
Differential Revision: https://phabricator.services.mozilla.com/D250362
- - - - -
bf151a6c by Beth Rennie at 2025-05-23T00:27:49+00:00
Bug 1956080 - Use async experiment cleanup in test_commands_closetab.js r=markh
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250558
- - - - -
96fbc1b3 by Beth Rennie at 2025-05-23T00:27:52+00:00
Bug 1956080 - Use async experiment cleanup in browser_contentrelevancy_nimbus.js r=nanj
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250559
- - - - -
cba229bf by Beth Rennie at 2025-05-23T00:27:56+00:00
Bug 1956080 - Use async experiment cleanup in toolkit/components/telemetry tests r=chutten
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250560
- - - - -
0d51c0ed by Beth Rennie at 2025-05-23T00:28:00+00:00
Bug 1956080 - Use async experiment cleanup in browser_test_nimbus_feature.js r=jhirsch,profiles-reviewers
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250561
- - - - -
f58d4034 by Beth Rennie at 2025-05-23T00:28:03+00:00
Bug 1956080 - Use async experiment cleanup in test_backgroundupdate_glean.js r=bytesized
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250570
- - - - -
97c00d61 by Beth Rennie at 2025-05-23T00:28:07+00:00
Bug 1956080 - Use async experiment cleanup in test_backgroundtask_experiments.js r=nalexander
ExperimentManager.unenroll() is now effectively async when running in a
browser test (because we are now executing SQL queries during
unenrollment) so all cleanup functions that trigger unenrollment are
async as well.
Differential Revision: https://phabricator.services.mozilla.com/D250571
- - - - -
be7d32d5 by Nathan Barrett at 2025-05-23T00:28:47+00:00
Bug 1965942 - Remove topic labels from all cards r=home-newtab-reviewers,reemhamz
Differential Revision: https://phabricator.services.mozilla.com/D249692
- - - - -
8979856e by Boris Chiou at 2025-05-23T01:29:02+00:00
Bug 1922301 - Add test to make sure the view transition tree is not exposed to the accessibility tree. r=morgan,view-transitions-reviewers,emilio
We don't expose the view transition tree to the accessibility tree per
our current implementation, so only a test in this patch.
In the test, we shouldn't see any view transition pseudo-elements in the
accessibility tree.
Differential Revision: https://phabricator.services.mozilla.com/D250840
- - - - -
ec966caf by Tom Ritter at 2025-05-23T03:47:13+00:00
Bug 1966184: If we are fullscreen, do not subtract anything from the available resolution r=fkilic
Differential Revision: https://phabricator.services.mozilla.com/D250819
- - - - -
42756b07 by William Wen at 2025-05-23T03:51:18+00:00
Bug 1962092 - Add flags and prefs for antifraud list feature. r=timhuang,extension-reviewers,robwu
Differential Revision: https://phabricator.services.mozilla.com/D247534
- - - - -
91d0a803 by William Wen at 2025-05-23T03:51:21+00:00
Bug 1962092 - Add antifraud annotation feature. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247535
- - - - -
5de6a293 by William Wen at 2025-05-23T03:51:25+00:00
Bug 1962092 - Add tracking protection skip for anti-fraud feature. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247536
- - - - -
97af4d2f by William Wen at 2025-05-23T03:51:29+00:00
Bug 1962092 - Add test for anti-fraud annotation. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247537
- - - - -
fef50821 by agoloman at 2025-05-23T05:09:21+00:00
Revert Bug 1962092 - for causing bc failures @browser_emailtracking_telemetry.js.
This reverts commit ef16c3f97cd5c44984c565060a4462e2f51861af.
Revert "Bug 1962092 - Add tracking protection skip for anti-fraud feature. r=timhuang"
This reverts commit 2404b29b7ff96c422d017b82520bab32fb3c8117.
Revert "Bug 1962092 - Add antifraud annotation feature. r=timhuang"
This reverts commit 2d2deb7533d52bee4e183cef2aa548b61edfbd6b.
Revert "Bug 1962092 - Add flags and prefs for antifraud list feature. r=timhuang,extension-reviewers,robwu"
This reverts commit b18b06376ea08b46f27578c51ddc3eefd0d414ee.
- - - - -
6a72a6d2 by agoloman at 2025-05-23T05:59:48+00:00
Revert (Bug 1963137, Bug 1967224, 1961440) - for causing bc failures @browser_bug963945.js.
This reverts commit b515558b0f67bda82a14944db78867cd47b7614c.
Revert "Bug 1967224 - promote preview strings for local model managment r=rpl,fluent-reviewers,bolsson"
This reverts commit ed97f511f6100ef0440c614462829ca02aa1773b.
Revert "Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato,willdurand"
This reverts commit 47ba0012c31471d1570ce9901184be121736baba.
Revert "Bug 1961440 - Defer ModelHubAddonWrapper initialization to first AddonManager.getAddonsByTypes including mlmodel type. r=robwu"
This reverts commit d15c30a53c38702243f0bf51ae2a329363ea7eb1.
Revert "Bug 1963137 - Fixing test failures related to activating LMM r=rpl"
This reverts commit e7be8b069bbd6ea66627b8815f9a156560c13575.
- - - - -
2476 changed files:
- .eslintrc-rollouts.js
- Cargo.lock
- Cargo.toml
- accessible/base/nsAccessibilityService.h
- accessible/interfaces/nsIAccessibleEvent.idl
- accessible/mac/DocAccessibleWrap.mm
- accessible/mac/MOXAccessibleProtocol.h
- accessible/mac/Platform.mm
- accessible/mac/mozAccessible.h
- accessible/mac/mozAccessible.mm
- accessible/tests/browser/e10s/browser_caching_text_bounds.js
- accessible/tests/browser/mac/browser.toml
- + accessible/tests/browser/mac/browser_aria_errormessage.js
- accessible/tests/browser/tree/browser.toml
- + accessible/tests/browser/tree/browser_view_transition.js
- accessible/windows/msaa/nsEventMap.h
- browser/app/profile/firefox.js
- browser/base/content/browser-addons.js
- browser/base/content/browser-commands.js
- browser/base/content/browser-init.js
- browser/base/content/browser-main.js
- browser/base/content/browser-profiles.js
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/main-popupset.js
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/navigator-toolbox.js
- browser/base/content/nsContextMenu.sys.mjs
- browser/base/content/test/about/browser_aboutSupport.js
- browser/base/content/test/contextMenu/browser.toml
- browser/base/content/test/contextMenu/browser_contextmenu_keyword.js → browser/base/content/test/contextMenu/browser_contextmenu_add_search_engine.js
- browser/base/content/test/contextMenu/subtst_contextmenu_keyword.html → browser/base/content/test/contextMenu/subtst_contextmenu_add_search_engine.html
- browser/components/BrowserComponents.manifest
- browser/components/BrowserGlue.sys.mjs
- browser/components/DesktopActorRegistry.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/aboutwelcome/actors/AboutWelcomeChild.sys.mjs
- browser/components/aboutwelcome/actors/AboutWelcomeParent.sys.mjs
- browser/components/aboutwelcome/content-src/aboutwelcome.scss
- browser/components/aboutwelcome/content-src/components/MSLocalized.jsx
- browser/components/aboutwelcome/content-src/components/SingleSelect.jsx
- browser/components/aboutwelcome/content/aboutwelcome.bundle.js
- browser/components/aboutwelcome/content/aboutwelcome.css
- browser/components/aboutwelcome/modules/AboutWelcomeTelemetry.sys.mjs
- browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_configurable_ui.js
- browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_multistage_experimentAPI.js
- browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_multistage_transitions.js
- browser/components/aboutwelcome/tests/unit/ContentTiles.test.jsx
- browser/components/aboutwelcome/tests/xpcshell/test_AboutWelcomeTelemetry_exposure.js
- − browser/components/asrouter/content-src/styles/_shopping.scss
- browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs
- browser/components/asrouter/tests/NimbusRolloutMessageProvider.sys.mjs
- browser/components/asrouter/tests/browser/browser_bookmarks_bar_button.js
- browser/components/customizableui/ToolbarContextMenu.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/extensions/ExtensionControlledPopup.sys.mjs
- + browser/components/extensions/metrics.yaml
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/test/browser/browser.toml
- browser/components/extensions/test/browser/browser_unified_extensions_appmenu_item.js
- browser/components/extensions/test/browser/browser_unified_extensions_button_visibility.js
- + browser/components/extensions/test/browser/browser_unified_extensions_button_visibility_attention.js
- browser/components/extensions/test/browser/browser_unified_extensions_button_visibility_browserAction.js
- browser/components/extensions/test/browser/browser_unified_extensions_doorhangers.js
- + browser/components/extensions/test/browser/browser_unified_extensions_doorhangers_install.js
- + browser/components/extensions/test/browser/browser_unified_extensions_doorhangers_postinstall.js
- browser/components/extensions/test/browser/head_unified_extensions.js
- browser/components/firefoxview/opentabs.mjs
- browser/components/genai/LinkPreviewChild.sys.mjs
- browser/components/genai/tests/browser/browser_chat_nimbus.js
- browser/components/migration/ChromeProfileMigrator.sys.mjs
- browser/components/migration/tests/unit/test_Chrome_credit_cards.js
- browser/components/moz.build
- browser/components/newtab/metrics.yaml
- browser/components/preferences/experimental.js
- browser/components/preferences/tests/browser_windows_launch_on_login.js
- browser/components/preferences/tests/browser_windows_launch_on_login_msix.js
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about_nimbus.js
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about_nimbus_dismiss.js
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about_nimbus_impressions.js
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about_nimbus_messaging.js
- browser/components/profiles/tests/browser/browser_test_nimbus_feature.js
- browser/components/reportbrokensite/content/reportBrokenSitePanel.inc.xhtml
- browser/components/reportbrokensite/test/browser/browser_antitracking_data_sent.js
- browser/components/reportbrokensite/test/browser/browser_experiment_data_sent.js
- browser/components/reportbrokensite/test/browser/browser_reason_dropdown.js
- browser/components/screenshots/ScreenshotsUtils.sys.mjs
- browser/components/search/test/browser/browser_defaultPrivate_nimbus.js
- browser/components/shell/test/browser_doesAppNeedPin.js
- browser/components/shell/test/browser_setDefaultBrowser.js
- browser/components/shell/test/browser_setDefaultPDFHandler.js
- − browser/components/shopping/ReviewCheckerParent.sys.mjs
- − browser/components/shopping/ShoppingSidebarChild.sys.mjs
- − browser/components/shopping/ShoppingSidebarParent.sys.mjs
- − browser/components/shopping/ShoppingUtils.sys.mjs
- − browser/components/shopping/content/adjusted-rating.mjs
- − browser/components/shopping/content/analysis-explainer.css
- − browser/components/shopping/content/analysis-explainer.mjs
- − browser/components/shopping/content/assets/optInDark.avif
- − browser/components/shopping/content/assets/optInLight.avif
- − browser/components/shopping/content/assets/packaging.svg
- − browser/components/shopping/content/assets/priceTagButtonCallout.svg
- − browser/components/shopping/content/assets/quality.svg
- − browser/components/shopping/content/assets/ratingDark.avif
- − browser/components/shopping/content/assets/ratingLight.avif
- − browser/components/shopping/content/assets/reviewCheckerCalloutPriceTag.svg
- − browser/components/shopping/content/assets/reviewsVisualCallout.svg
- − browser/components/shopping/content/assets/shipping.svg
- − browser/components/shopping/content/assets/shopping.svg
- − browser/components/shopping/content/assets/unanalyzedDark.avif
- − browser/components/shopping/content/assets/unanalyzedLight.avif
- − browser/components/shopping/content/highlight-item.css
- − browser/components/shopping/content/highlight-item.mjs
- − browser/components/shopping/content/highlights.mjs
- − browser/components/shopping/content/letter-grade.css
- − browser/components/shopping/content/letter-grade.mjs
- − browser/components/shopping/content/onboarding.mjs
- − browser/components/shopping/content/recommended-ad.css
- − browser/components/shopping/content/recommended-ad.mjs
- − browser/components/shopping/content/reliability.mjs
- − browser/components/shopping/content/settings.css
- − browser/components/shopping/content/settings.mjs
- − browser/components/shopping/content/shopping-card.css
- − browser/components/shopping/content/shopping-card.mjs
- − browser/components/shopping/content/shopping-container.css
- − browser/components/shopping/content/shopping-container.mjs
- − browser/components/shopping/content/shopping-message-bar.css
- − browser/components/shopping/content/shopping-message-bar.mjs
- − browser/components/shopping/content/shopping-page.css
- − browser/components/shopping/content/shopping-sidebar.js
- − browser/components/shopping/content/shopping.ftl
- − browser/components/shopping/content/shopping.html
- − browser/components/shopping/content/unanalyzed.css
- − browser/components/shopping/content/unanalyzed.mjs
- − browser/components/shopping/jar.mn
- − browser/components/shopping/metrics.yaml
- − browser/components/shopping/moz.build
- − browser/components/shopping/tests/browser/browser.toml
- − browser/components/shopping/tests/browser/browser_shopping_adjusted_rating.js
- − browser/components/shopping/tests/browser/browser_shopping_analysis_explainer.js
- − browser/components/shopping/tests/browser/browser_shopping_container.js
- − browser/components/shopping/tests/browser/browser_shopping_exposure_telemetry.js
- − browser/components/shopping/tests/browser/browser_shopping_inprogress_analysis.js
- − browser/components/shopping/tests/browser/browser_shopping_network_offline.js
- − browser/components/shopping/tests/browser/browser_shopping_not_enough_reviews.js
- − browser/components/shopping/tests/browser/browser_shopping_onboarding.js
- − browser/components/shopping/tests/browser/browser_shopping_page_not_supported.js
- − browser/components/shopping/tests/browser/browser_shopping_review_highlights.js
- − browser/components/shopping/tests/browser/browser_shopping_settings.js
- − browser/components/shopping/tests/browser/browser_shopping_settings_telemetry.js
- − browser/components/shopping/tests/browser/browser_shopping_sidebar.js
- − browser/components/shopping/tests/browser/browser_shopping_stale_product.js
- − browser/components/shopping/tests/browser/browser_shopping_survey.js
- − browser/components/shopping/tests/browser/browser_shopping_ui_telemetry.js
- − browser/components/shopping/tests/browser/browser_shopping_unanalyzed_product.js
- − browser/components/shopping/tests/browser/browser_shopping_unavailable_product.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_auto_open.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_keep_close_message_bar.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_message_triggers.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_onboarding.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_private_mode.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_recommended_ad_test.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_settings.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_telemetry.js
- − browser/components/shopping/tests/browser/browser_shoppingsidebar_urlbar.js
- − browser/components/shopping/tests/browser/head.js
- browser/components/sidebar/tests/browser/browser_sidebar_nimbus.js
- browser/components/storybook/docs/README.typography.stories.md
- − browser/components/storybook/stories/letter-grade.stories.mjs
- − browser/components/storybook/stories/shopping-card.stories.mjs
- − browser/components/storybook/stories/shopping-container.stories.mjs
- − browser/components/storybook/stories/shopping-message-bar.stories.mjs
- browser/components/tabbrowser/TabMetrics.sys.mjs
- browser/components/tabbrowser/TabsList.sys.mjs
- browser/components/tabbrowser/content/tab.js
- browser/components/tabbrowser/content/tabbrowser.js
- browser/components/tabbrowser/metrics.yaml
- browser/components/tabbrowser/test/browser/tabs/browser.toml
- + browser/components/tabbrowser/test/browser/tabs/browser_tab_groups_tab_interactions_telemetry.js
- browser/components/tabbrowser/test/browser/tabs/browser_tab_groups_telemetry.js
- browser/components/tests/browser/browser_browserGlue_upgradeDialog_trigger.js
- browser/components/tests/browser/browser_browserGlue_userNamespacesNotification.js
- browser/components/tests/browser/browser_default_browser_prompt.js
- browser/components/urlbar/UrlbarPrefs.sys.mjs
- browser/components/urlbar/tests/browser/browser_speculative_connect_not_with_client_cert.js
- browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs
- browser/components/urlbar/tests/quicksuggest/unit/test_merinoClient.js
- browser/extensions/formautofill/test/browser/address/browser_address_autofill_nimbus.js
- browser/extensions/formautofill/test/browser/browser.toml
- + browser/extensions/formautofill/test/browser/browser_email_dropdown.js
- + browser/extensions/formautofill/test/fixtures/autocomplete_multiple_emails_checkout.html
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardGrid/CardGrid.jsx
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardGrid/_CardGrid.scss
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardSections/CardSections.jsx
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/CardSections/_CardSections.scss
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/DSCard/DSCard.jsx
- browser/extensions/newtab/content-src/components/DiscoveryStreamComponents/DSCard/_DSCard.scss
- browser/extensions/newtab/css/activity-stream.css
- browser/extensions/newtab/data/content/activity-stream.bundle.js
- browser/extensions/newtab/karma.mc.config.js
- browser/extensions/newtab/lib/ActivityStream.sys.mjs
- browser/extensions/newtab/lib/DiscoveryStreamFeed.sys.mjs
- browser/extensions/newtab/lib/InferredModel/FeatureModel.sys.mjs
- browser/extensions/newtab/lib/TelemetryFeed.sys.mjs
- browser/extensions/newtab/test/browser/abouthomecache/browser_experiments_api_control.js
- browser/extensions/newtab/test/xpcshell/test_InferredFeatureModel.js
- browser/locales/en-US/browser/appMenuNotifications.ftl
- browser/locales/en-US/browser/reportBrokenSite.ftl
- browser/locales/en-US/browser/screenshots.ftl
- − browser/locales/en-US/browser/shopping.ftl
- browser/locales/jar.mn
- browser/locales/l10n-changesets.json
- browser/modules/BrowserUsageTelemetry.sys.mjs
- browser/themes/shared/browser-shared.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/urlbar-searchbar.css
- browser/themes/shared/urlbarView.css
- build/gn_processor.py
- build/moz.configure/android-ndk.configure
- devtools/client/debugger/test/mochitest/browser_dbg-event-breakpoints.js
- + devtools/client/debugger/test/mochitest/browser_dbg-sources-tree.js
- devtools/client/debugger/test/mochitest/browser_kz.toml
- + devtools/client/debugger/test/mochitest/examples/doc-nested-sources.html
- devtools/client/debugger/test/mochitest/examples/event-breakpoints.js
- + devtools/client/debugger/test/mochitest/examples/nested/deep/deep-nested-source.js
- devtools/client/debugger/test/mochitest/shared-head.js
- devtools/client/devtools-client.js
- devtools/client/fronts/perf.js
- devtools/client/performance-new/(a)types/gecko.d.ts
- devtools/client/performance-new/(a)types/perf.d.ts
- devtools/client/performance-new/components/panel/RecordingButton.js
- devtools/client/performance-new/panel/initializer.js
- devtools/client/performance-new/shared/background.sys.mjs
- devtools/client/performance-new/shared/browser.js
- devtools/client/performance-new/store/actions.js
- devtools/client/performance-new/store/selectors.js
- devtools/client/shared/components/Tree.js
- devtools/server/actors/emulation/touch-simulator.js
- devtools/server/actors/highlighters/utils/markup.js
- devtools/server/actors/highlighters/viewport-size-on-resize.js
- devtools/server/actors/highlighters/viewport-size.js
- devtools/server/actors/perf.js
- devtools/server/actors/root.js
- devtools/server/actors/targets/window-global.js
- devtools/server/actors/utils/event-breakpoints.js
- devtools/server/devtools-server-connection.js
- devtools/server/tests/browser/browser_perf-01.js
- devtools/shared/network-observer/NetworkUtils.sys.mjs
- devtools/shared/protocol/Request.js
- devtools/shared/specs/perf.js
- devtools/shared/transport/local-transport.js
- devtools/shared/transport/packets.js
- devtools/shared/transport/stream-utils.js
- devtools/shared/transport/tests/xpcshell/test_client_server_bulk.js
- devtools/shared/transport/transport.js
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/BrowsingContextWebProgress.h
- docshell/base/CanonicalBrowsingContext.cpp
- dom/base/DOMRect.h
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/FragmentOrElement.h
- dom/base/IDTracker.cpp
- dom/base/Location.h
- dom/base/TimeoutHandler.h
- dom/base/UserActivation.h
- dom/base/nsContentPolicyUtils.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsGlobalWindowInner.h
- dom/base/nsIContentPolicy.idl
- dom/base/nsJSEnvironment.cpp
- dom/base/nsScreen.cpp
- dom/base/nsScreen.h
- dom/cache/DBSchema.cpp
- dom/chrome-webidl/ChannelWrapper.webidl
- dom/chrome-webidl/DebuggerNotification.webidl
- dom/closewatcher/CloseWatcher.h
- dom/debugger/DebuggerNotificationManager.h
- dom/debugger/DebuggerNotificationObserver.h
- dom/events/PointerEventHandler.cpp
- dom/events/test/pointerevents/mochitest.toml
- dom/events/test/pointerevents/test_bug1285128.html
- − dom/events/test/pointerevents/test_wpt_pointerevent_boundary_events_in_capturing-manual.html
- − dom/events/test/pointerevents/test_wpt_pointerevent_releasepointercapture_events_to_original_target-manual.html
- − dom/events/test/pointerevents/wpt/pointerevent_boundary_events_in_capturing-manual.html
- − dom/events/test/pointerevents/wpt/pointerevent_releasepointercapture_events_to_original_target-manual.html
- dom/fetch/InternalRequest.cpp
- dom/geolocation/test/mochitest/test_hidden.html
- dom/html/HTMLMediaElement.cpp
- dom/html/test/mochitest.toml
- dom/ipc/jsactor/JSActor.h
- dom/locales/en-US/chrome/security/security.properties
- dom/media/mediasession/MediaMetadata.h
- dom/media/mediasession/MediaSession.h
- dom/media/platforms/PDMFactory.h
- dom/media/systemservices/video_engine/desktop_capture_impl.cc
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/utils/MediaElementEventRunners.cpp
- dom/media/utils/MediaProfilerMarkers.h
- dom/media/webrtc/third_party_build/gn-configs/abseil.json
- − dom/media/webrtc/third_party_build/gn-configs/abseil_preprocessor.py
- dom/media/webrtc/third_party_build/gn-configs/webrtc.json
- − dom/media/webrtc/third_party_build/gn-configs/webrtc_preprocessor.py
- dom/script/ScriptLoader.h
- dom/script/SharedScriptCache.h
- dom/security/SecFetch.cpp
- dom/security/featurepolicy/FeaturePolicy.h
- dom/security/nsCSPUtils.cpp
- dom/security/nsContentSecurityManager.cpp
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsHTTPSOnlyStreamListener.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/serviceworkers/test/chrome-common.toml
- dom/svg/SVGMotionSMILAnimationFunction.cpp
- dom/webgpu/CanvasContext.cpp
- dom/webgpu/CanvasContext.h
- dom/webgpu/tests/cts/checkout/src/common/framework/fixture.ts
- dom/webgpu/tests/cts/checkout/src/resources/cache/hashes.json
- dom/webgpu/tests/cts/checkout/src/webgpu/idl/javascript.spec.ts
- dom/webgpu/tests/cts/checkout/src/webgpu/listing_meta.json
- dom/webgpu/tests/cts/checkout/tools/gen_version
- dom/webgpu/tests/cts/moz.yaml
- dom/webgpu/tests/mochitest/test_context_configure.html
- dom/webidl/Document.webidl
- dom/webidl/WebGPU.webidl
- dom/workers/RuntimeService.cpp
- extensions/permissions/PermissionDelegateHandler.h
- gfx/layers/ImageContainer.h
- gfx/layers/MemoryPressureObserver.h
- gfx/thebes/gfxPlatform.cpp
- gfx/wgpu_bindings/src/server.rs
- gfx/wr/Cargo.lock
- gfx/wr/Cargo.toml
- gfx/wr/swgl/src/composite.h
- gfx/wr/swgl/src/swgl_fns.rs
- gfx/wr/webrender/src/prepare.rs
- gfx/wr/webrender_api/src/lib.rs
- gradle/libs.versions.toml
- intl/l10n/FluentBundle.h
- intl/l10n/L10nRegistry.h
- ipc/glue/BackgroundUtils.cpp
- ipc/glue/IPCMessageUtilsSpecializations.h
- js/loader/ModuleLoaderBase.h
- js/public/GCAPI.h
- js/src/gc/GC.h
- js/src/gc/Nursery.cpp
- js/src/gc/Scheduling.h
- js/src/jit-test/lib/wasm-binary.js
- + js/src/jit-test/tests/atomics/bug1966657-promise-resolution-after-throw.js
- + js/src/jit-test/tests/atomics/bug1966657.js
- js/src/jit-test/tests/gc/gcparam.js
- js/src/jit-test/tests/wasm/binary.js
- js/src/jit-test/tests/wasm/exceptions/events.js
- js/src/jit-test/tests/wasm/exnref/throw-ref.js
- js/src/jit-test/tests/wasm/exnref/try-table.js
- js/src/jit-test/tests/wasm/function-references/binary.js
- js/src/jit-test/tests/wasm/function-references/non-nullable-table.js
- js/src/jit-test/tests/wasm/ref-types/ref-func.js
- js/src/jit/arm/Simulator-arm.cpp
- js/src/shell/js.cpp
- js/src/tests/jstests.list
- js/src/tests/test262-update.py
- js/src/tests/test262/GIT-INFO
- js/src/tests/test262/built-ins/Array/fromAsync/shell.js
- + js/src/tests/test262/built-ins/Array/fromAsync/sync-iterable-with-rejecting-thenable-closes.js
- js/src/tests/test262/built-ins/Array/fromAsync/sync-iterable-with-thenable-element-rejects.js → js/src/tests/test262/built-ins/Array/fromAsync/sync-iterable-with-rejecting-thenable-rejects.js
- js/src/tests/test262/built-ins/AsyncDisposableStack/prototype/disposeAsync/shell.js
- js/src/tests/test262/built-ins/AsyncFromSyncIteratorPrototype/next/shell.js
- js/src/tests/test262/built-ins/AsyncFromSyncIteratorPrototype/return/shell.js
- js/src/tests/test262/built-ins/AsyncFromSyncIteratorPrototype/throw/shell.js
- js/src/tests/test262/built-ins/AsyncGeneratorPrototype/next/shell.js
- js/src/tests/test262/built-ins/AsyncIteratorPrototype/Symbol.asyncDispose/shell.js
- + js/src/tests/test262/built-ins/AsyncIteratorPrototype/Symbol.asyncDispose/throw-rejected-return.js
- + js/src/tests/test262/built-ins/AsyncIteratorPrototype/Symbol.asyncDispose/throw-return-getter.js
- + js/src/tests/test262/built-ins/AsyncIteratorPrototype/Symbol.asyncDispose/throw-return.js
- js/src/tests/test262/built-ins/Atomics/and/validate-arraytype-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/and/validate-arraytype-before-value-coercion.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/bigint/non-shared-bufferdata.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/expected-return-value.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/non-shared-bufferdata.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/non-shared-int-views-throws.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/validate-arraytype-before-expectedValue-coercion.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/validate-arraytype-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/compareExchange/validate-arraytype-before-replacementValue-coercion.js
- js/src/tests/test262/built-ins/Atomics/exchange/non-shared-int-views-throws.js
- js/src/tests/test262/built-ins/Atomics/isLockFree/bigint/expected-return-value.js
- js/src/tests/test262/built-ins/Atomics/load/validate-arraytype-before-index-coercion.js
- + js/src/tests/test262/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-detached.js
- + js/src/tests/test262/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared-resize-to-zero.js
- + js/src/tests/test262/built-ins/Atomics/notify/retrieve-length-before-index-coercion-non-shared.js
- + js/src/tests/test262/built-ins/Atomics/notify/retrieve-length-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/or/non-shared-int-views-throws.js
- + js/src/tests/test262/built-ins/Atomics/wait/retrieve-length-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/wait/validate-arraytype-before-timeout-coercion.js
- js/src/tests/test262/built-ins/Atomics/wait/validate-arraytype-before-value-coercion.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bad-range.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/bad-range.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/false-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/false-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/good-views.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/nan-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/negative-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/negative-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/negative-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-no-operation.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-add.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-and.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-compareExchange.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-exchange.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-or.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-store.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-sub.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/no-spurious-wakeup-on-xor.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/non-bigint64-typedarray-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/non-shared-bufferdata-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/not-a-typedarray-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/not-an-object-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/null-bufferdata-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/null-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/null-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/object-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/object-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/out-of-range-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/poisoned-object-for-timeout-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/poisoned-object-for-timeout-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-index-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-timeout-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-timeout-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-value-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/symbol-for-value-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/true-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/true-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/undefined-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/undefined-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/undefined-index-defaults-to-zero-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/value-not-equal-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/value-not-equal.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/waiterlist-block-indexedposition-wake.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/bigint/was-woken-before-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/descriptor.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/false-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/false-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/good-views.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/implicit-infinity-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/is-function.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/length.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/name.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/nan-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/negative-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/negative-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/negative-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-no-operation.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-add.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-and.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-compareExchange.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-exchange.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-or.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-store.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-sub.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/no-spurious-wakeup-on-xor.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/non-int32-typedarray-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/non-shared-bufferdata-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/not-a-typedarray-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/not-an-object-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/null-bufferdata-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/null-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/null-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/object-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/object-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/out-of-range-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/poisoned-object-for-timeout-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/poisoned-object-for-timeout-throws.js
- + js/src/tests/test262/built-ins/Atomics/waitAsync/retrieve-length-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/returns-result-object-value-is-promise-resolves-to-ok.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/returns-result-object-value-is-promise-resolves-to-timed-out.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/returns-result-object-value-is-string-not-equal.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/returns-result-object-value-is-string-timed-out.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/shell.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-index-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-index-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-timeout-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-timeout-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-value-throws-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/symbol-for-value-throws.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/true-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/true-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/undefined-for-timeout-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/undefined-for-timeout.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/undefined-index-defaults-to-zero-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/validate-arraytype-before-index-coercion.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/validate-arraytype-before-timeout-coercion.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/validate-arraytype-before-value-coercion.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/value-not-equal-agent.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/value-not-equal.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/waiterlist-block-indexedposition-wake.js
- js/src/tests/test262/built-ins/Atomics/waitAsync/was-woken-before-timeout.js
- js/src/tests/test262/built-ins/Atomics/xor/non-shared-bufferdata.js
- js/src/tests/test262/built-ins/Atomics/xor/non-shared-int-views-throws.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/Symbol.toStringTag.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/adopt/adds-value-onDispose.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/adopt/allows-any-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/adopt/puts-value-onDispose-on-top-of-stack.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/adopt/returns-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/adopt/throws-if-onDispose-not-callable.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/constructor.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/defer/adds-onDispose.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/defer/puts-onDispose-on-top-of-stack.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/defer/returns-undefined.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/defer/throws-if-onDispose-not-callable.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/disposes-resources-in-reverse-order.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/does-not-reinvoke-disposers-if-already-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/does-not-throw-if-already-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/returns-undefined.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/sets-state-to-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/throws-error-as-is-if-only-one-error-during-disposal.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/dispose/throws-suppressederror-if-multiple-errors-during-disposal.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/disposed/returns-false-when-not-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/disposed/returns-true-when-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/does-not-dispose-resources.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/returns-new-disposablestack-that-contains-moved-resources.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/returns-new-disposablestack-that-is-still-pending.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/returns-new-disposablestack.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/sets-state-to-disposed.js
- js/src/tests/test262/built-ins/DisposableStack/prototype/move/shell.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/still-returns-new-disposablestack-when-subclassed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/move/throws-if-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/Symbol.dispose-getter.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/adds-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/allows-null-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/allows-undefined-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/gets-value-Symbol.dispose-property-once.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/puts-value-on-top-of-stack.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/returns-value.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/throws-if-disposed.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/throws-if-value-Symbol.dispose-property-is-null.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/throws-if-value-Symbol.dispose-property-is-undefined.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/throws-if-value-Symbol.dispose-property-not-callable.js
- + js/src/tests/test262/built-ins/DisposableStack/prototype/use/throws-if-value-missing-Symbol.dispose.js
- js/src/tests/test262/built-ins/Iterator/from/shell.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/append-new-values-normalizes-zero-key.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/append-new-values.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/append-value-if-key-is-not-present-different-key-types.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/browser.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/does-not-have-mapdata-internal-slot-set.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/does-not-have-mapdata-internal-slot-weakmap.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/does-not-have-mapdata-internal-slot.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/getOrInsert.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/length.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/name.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/not-a-constructor.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/returns-value-if-key-is-not-present-different-key-types.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/returns-value-if-key-is-present-different-key-types.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/returns-value-normalized-zero-key.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/shell.js
- + js/src/tests/test262/built-ins/Map/prototype/getOrInsert/this-not-object-throw.js
- + js/src/tests/test262/built-ins/Object/prototype/setPrototypeOf-with-non-circular-values-__proto__.js
- + js/src/tests/test262/built-ins/Object/prototype/setPrototypeOf-with-non-circular-values.js
- js/src/tests/test262/built-ins/Promise/try/shell.js
- + js/src/tests/test262/built-ins/RegExp/property-escapes/special-property-value-Script_Extensions-Unknown.js
- js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/compare/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/from/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/equals/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/since/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/until/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/prototype/withCalendar/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-invalid-iso-string.js
- − js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/compare/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/from/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/equals/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/since/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/until/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainDateTime/prototype/withCalendar/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-invalid-iso-string.js
- − js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainDate/calendar-iso-string.js → js/src/tests/test262/built-ins/Temporal/PlainMonthDay/from/constrain-to-leap-day.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainMonthDay/prototype/equals/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-invalid-iso-string.js
- − js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/compare/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/from/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/equals/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/since/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/PlainYearMonth/prototype/until/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-invalid-iso-string.js
- − js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/compare/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/from/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/equals/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/since/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/until/argument-propertybag-calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-number.js → js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-invalid-iso-string.js
- js/src/tests/test262/built-ins/Temporal/ZonedDateTime/prototype/withCalendar/calendar-wrong-type.js
- js/src/tests/test262/built-ins/Temporal/shell.js
- + js/src/tests/test262/built-ins/TypedArrayConstructors/ctors/typedarray-arg/throw-type-error-before-custom-proto-access.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/adds-object-element.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/adds-symbol-element.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/browser.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/does-not-have-weakmapdata-internal-slot-array.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/does-not-have-weakmapdata-internal-slot-map.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/does-not-have-weakmapdata-internal-slot-object.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/does-not-have-weakmapdata-internal-slot-set.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/getOrInsert.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/length.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/name.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/not-a-constructor.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/returns-value-if-key-is-not-present-object-key.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/returns-value-if-key-is-not-present-symbol-key.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/returns-value-if-key-is-present-object-key.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/returns-value-if-key-is-present-symbol-key.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/shell.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/this-not-object-throw.js
- + js/src/tests/test262/built-ins/WeakMap/prototype/getOrInsert/throw-if-key-cannot-be-held-weakly.js
- − js/src/tests/test262/built-ins/isFinite/length.js
- − js/src/tests/test262/built-ins/isFinite/name.js
- js/src/tests/test262/built-ins/isFinite/prop-desc.js
- − js/src/tests/test262/built-ins/isNaN/length.js
- − js/src/tests/test262/built-ins/isNaN/name.js
- js/src/tests/test262/built-ins/isNaN/prop-desc.js
- − js/src/tests/test262/built-ins/parseFloat/S15.1.2.3_A7.1.js
- − js/src/tests/test262/built-ins/parseFloat/S15.1.2.3_A7.2.js
- − js/src/tests/test262/built-ins/parseFloat/S15.1.2.3_A7.3.js
- − js/src/tests/test262/built-ins/parseFloat/S15.1.2.3_A7.4.js
- − js/src/tests/test262/built-ins/parseFloat/name.js
- js/src/tests/test262/built-ins/parseFloat/prop-desc.js
- − js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A9.1.js
- − js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A9.2.js
- − js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A9.3.js
- − js/src/tests/test262/built-ins/parseInt/S15.1.2.2_A9.4.js
- − js/src/tests/test262/built-ins/parseInt/name.js
- js/src/tests/test262/built-ins/parseInt/prop-desc.js
- js/src/tests/test262/harness/shell.js
- js/src/tests/test262/harness/verifyProperty-value-error.js
- + js/src/tests/test262/intl402/DateTimeFormat/canonicalize-timezone.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/format/dayPeriod-long-en.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/format/dayPeriod-narrow-en.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/format/dayPeriod-short-en.js
- + js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-plaindate-formatting-datetime-style.js
- + js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-plaindatetime-formatting-datetime-style.js
- + js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-plainmonthday-formatting-datetime-style.js
- + js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-plaintime-formatting-datetime-style.js
- + js/src/tests/test262/intl402/DateTimeFormat/prototype/format/temporal-plainyearmonth-formatting-datetime-style.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-long-en.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-narrow-en.js
- js/src/tests/test262/intl402/DateTimeFormat/prototype/formatToParts/dayPeriod-short-en.js
- + js/src/tests/test262/intl402/Intl/supportedValuesOf/timeZones-include-non-continental.js
- js/src/tests/test262/intl402/Locale/prototype/region/prop-desc.js
- js/src/tests/test262/intl402/PluralRules/constructor-option-read-order.js
- js/src/tests/test262/intl402/PluralRules/constructor-options-throwing-getters.js
- js/src/tests/test262/intl402/PluralRules/default-options-object-prototype.js
- + js/src/tests/test262/intl402/PluralRules/prototype/constructor/notation.js
- js/src/tests/test262/intl402/PluralRules/prototype/resolvedOptions/order.js
- js/src/tests/test262/intl402/PluralRules/prototype/resolvedOptions/properties.js
- js/src/tests/test262/intl402/PluralRules/prototype/resolvedOptions/return-keys-order-default.js
- + js/src/tests/test262/intl402/PluralRules/prototype/select/notation.js
- js/src/tests/test262/intl402/Temporal/Duration/prototype/round/shell.js
- js/src/tests/test262/intl402/Temporal/Duration/prototype/total/shell.js
- + js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/dateStyle-timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/Instant/prototype/toLocaleString/options-conflict.js
- js/src/tests/test262/intl402/Temporal/PlainDate/compare/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainDate/from/remapping-era.js
- js/src/tests/test262/intl402/Temporal/PlainDate/from/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/equals/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/since/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/dateStyle-timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toLocaleString/options-conflict.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toString/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/toZonedDateTime/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/until/shell.js
- − js/src/tests/test262/intl402/Temporal/PlainDate/prototype/weekOfYear/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/weekOfYear/non-iso-week-of-year.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/with/shell.js
- − js/src/tests/test262/intl402/Temporal/PlainDate/prototype/yearOfWeek/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/PlainDate/prototype/yearOfWeek/non-iso-week-of-year.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/compare/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/from/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/equals/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/since/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/dateStyle-timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-conflict.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toString/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/toZonedDateTime/shell.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/until/shell.js
- − js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/weekOfYear/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/weekOfYear/non-iso-week-of-year.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/withCalendar/shell.js
- − js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/yearOfWeek/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/PlainDateTime/prototype/yearOfWeek/non-iso-week-of-year.js
- + js/src/tests/test262/intl402/Temporal/PlainMonthDay/from/constrain-to-leap-day.js
- js/src/tests/test262/intl402/Temporal/PlainMonthDay/from/shell.js
- js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/equals/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/dateStyle-timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/dateStyle.js
- + js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-conflict.js
- js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toPlainDate/shell.js
- js/src/tests/test262/intl402/Temporal/PlainMonthDay/prototype/toString/shell.js
- js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/options-conflict.js
- + js/src/tests/test262/intl402/Temporal/PlainTime/prototype/toLocaleString/timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/compare/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/remapping-era.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/from/shell.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/equals/shell.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/since/shell.js
- + js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/dateStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/dateStyle.js
- + js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-conflict.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/toString/shell.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/until/shell.js
- js/src/tests/test262/intl402/Temporal/PlainYearMonth/prototype/with/shell.js
- js/src/tests/test262/intl402/Temporal/ZonedDateTime/construct-non-utc-non-iso.js
- + js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/equals/canonicalize-timezone.js
- + js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/rule-change-without-offset-transition.js
- + js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/getTimeZoneTransition/transitions-close-together.js
- + js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/startOfDay/transitions-close-together.js
- + js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/dateStyle-timeStyle-undefined.js
- js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-conflict.js
- − js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/weekOfYear/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/weekOfYear/non-iso-week-of-year.js
- − js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/yearOfWeek/gregory-iso-weekofyear.js
- js/src/tests/test262/intl402/Temporal/ZonedDateTime/prototype/yearOfWeek/non-iso-week-of-year.js
- js/src/tests/test262/intl402/Temporal/ZonedDateTime/shell.js
- js/src/tests/test262/language/expressions/async-function/shell.js
- js/src/tests/test262/language/expressions/async-generator/shell.js
- js/src/tests/test262/language/expressions/await/shell.js
- + js/src/tests/test262/language/expressions/dynamic-import/import-errored-module.js
- + js/src/tests/test262/language/expressions/dynamic-import/import-errored-module_FIXTURE.js
- js/src/tests/test262/language/expressions/dynamic-import/shell.js
- js/src/tests/test262/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T1.js
- js/src/tests/test262/language/expressions/greater-than-or-equal/S11.8.4_A4.12_T2.js
- js/src/tests/test262/language/expressions/greater-than/S11.8.2_A4.12_T1.js
- js/src/tests/test262/language/expressions/greater-than/S11.8.2_A4.12_T2.js
- js/src/tests/test262/language/expressions/less-than-or-equal/S11.8.3_A4.12_T1.js
- js/src/tests/test262/language/expressions/less-than-or-equal/S11.8.3_A4.12_T2.js
- js/src/tests/test262/language/expressions/less-than/S11.8.1_A4.12_T1.js
- js/src/tests/test262/language/expressions/less-than/S11.8.1_A4.12_T2.js
- js/src/tests/test262/language/expressions/new.target/shell.js
- js/src/tests/test262/language/expressions/optional-chaining/shell.js
- js/src/tests/test262/language/import/import-defer/deferred-namespace-object/exotic-object-behavior.js
- js/src/tests/test262/language/import/import-defer/errors/get-other-while-dep-evaluating-async/shell.js
- js/src/tests/test262/language/import/import-defer/errors/get-other-while-evaluating-async/shell.js
- js/src/tests/test262/language/import/import-defer/errors/get-self-while-defer-evaluating/main.js
- js/src/tests/test262/language/import/import-defer/errors/module-throws/import-defer-throws_FIXTURE.js
- js/src/tests/test262/language/import/import-defer/errors/module-throws/shell.js
- js/src/tests/test262/language/import/import-defer/errors/resolution-error/shell.js
- js/src/tests/test262/language/import/import-defer/evaluation-top-level-await/flattening-order/main.js
- js/src/tests/test262/language/module-code/source-phase-import/shell.js
- + js/src/tests/test262/language/module-code/top-level-await/dynamic-import-of-waiting-module-2_FIXTURE.js
- + js/src/tests/test262/language/module-code/top-level-await/dynamic-import-of-waiting-module.js
- + js/src/tests/test262/language/module-code/top-level-await/dynamic-import-of-waiting-module_FIXTURE.js
- js/src/tests/test262/language/module-code/top-level-await/shell.js
- js/src/tests/test262/language/statements/async-function/shell.js
- js/src/tests/test262/language/statements/await-using/shell.js
- + js/src/tests/test262/language/statements/for-await-of/head-await-using-init.js
- + js/src/tests/test262/language/statements/for-await-of/head-using-init.js
- js/src/tests/test262/language/statements/for-await-of/shell.js
- + js/src/tests/test262/language/statements/for-of/head-await-using-bound-names-fordecl-tdz.js
- + js/src/tests/test262/language/statements/for-of/head-await-using-bound-names-in-stmt.js
- + js/src/tests/test262/language/statements/for-of/head-await-using-bound-names-let.js
- + js/src/tests/test262/language/statements/for-of/head-await-using-fresh-binding-per-iteration.js
- + js/src/tests/test262/language/statements/for-of/head-await-using-init.js
- + js/src/tests/test262/language/statements/for-of/head-using-bound-names-fordecl-tdz.js
- + js/src/tests/test262/language/statements/for-of/head-using-bound-names-in-stmt.js
- + js/src/tests/test262/language/statements/for-of/head-using-bound-names-let.js
- + js/src/tests/test262/language/statements/for-of/head-using-fresh-binding-per-iteration.js
- + js/src/tests/test262/language/statements/for-of/head-using-init.js
- js/src/tests/test262/language/statements/for-of/shell.js
- js/src/tests/test262/shell.js
- js/src/tests/test262/staging/Intl402/Temporal/old/shell.js
- js/src/tests/test262/staging/explicit-resource-management/shell.js
- js/src/tests/test262/staging/sm/Function/function-bind.js
- js/src/tests/test262/staging/sm/Function/shell.js
- js/src/tests/test262/staging/sm/Math/acosh-approx.js
- js/src/tests/test262/staging/sm/Math/cbrt-approx.js
- js/src/tests/test262/staging/source-phase-imports/shell.js
- + js/src/tests/test262/staging/upsert/Map/browser.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/append-new-values-normalizes-zero-key.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/append-new-values.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/append-value-if-key-is-not-present-different-key-types.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/browser.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/callbackfn-throws.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/different-types-function-callbackfn-does-not-throw.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/does-not-evaluate-callbackfn-if-key-present.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/does-not-have-mapdata-internal-slot-set.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/does-not-have-mapdata-internal-slot-weakmap.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/getOrInsertComputed.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/length.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/name.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/not-a-constructor.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/not-a-function-callbackfn-throws.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/overwrites-mutation-from-callbackfn.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/returns-value-if-key-is-not-present-different-key-types.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/returns-value-if-key-is-present-different-key-types.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/returns-value-normalized-zero-key.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/shell.js
- + js/src/tests/test262/staging/upsert/Map/getOrInsertComputed/this-not-object-throw.js
- + js/src/tests/test262/staging/upsert/Map/shell.js
- + js/src/tests/test262/staging/upsert/WeakMap/browser.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/adds-object-element.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/adds-symbol-element.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/adds-value-different-callbackfn.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/browser.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/callbackfn-throws.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-evaluate-callbackfn-if-key-present.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-array.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-map.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-object.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-set.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/does-not-have-weakmapdata-internal-slot-weakmap-prototype.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/getOrInsertComputed.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/length.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/name.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/not-a-constructor.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/not-a-function-callbackfn-throws.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/overwrites-mutation-from-callbackfn.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-not-present-object-key.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-not-present-symbol-key.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-present-object-key.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/returns-value-if-key-is-present-symbol-key.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/shell.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/this-not-object-throw.js
- + js/src/tests/test262/staging/upsert/WeakMap/getOrInsertComputed/throw-if-key-cannot-be-held-weakly.js
- + js/src/tests/test262/staging/upsert/WeakMap/shell.js
- + js/src/tests/test262/staging/upsert/browser.js
- + js/src/tests/test262/staging/upsert/shell.js
- js/src/wasm/WasmOpIter.h
- js/src/wasm/WasmValidate.cpp
- layout/base/AccessibleCaret.cpp
- layout/base/PresShell.cpp
- layout/base/PresShell.h
- layout/base/nsCSSFrameConstructor.cpp
- layout/base/nsCSSFrameConstructor.h
- layout/base/tests/bug1162990_inner_1.html
- layout/base/tests/bug1162990_inner_2.html
- layout/generic/ViewportFrame.cpp
- layout/generic/nsCanvasFrame.cpp
- layout/generic/nsCanvasFrame.h
- layout/generic/nsIFrame.cpp
- layout/style/Loader.cpp
- layout/style/ServoStyleSet.cpp
- layout/style/crashtests/crashtests.list
- layout/xul/tree/nsTreeColumns.h
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/prompt/GeckoPromptDelegate.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/prompt/PromptRequest.kt
- mobile/android/android-components/components/feature/addons/src/main/res/values-it/strings.xml
- mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/certificate/CertificatePicker.kt
- mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/PromptFeatureTest.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/RemoteSettingsRepository.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/icons/SearchConfigIconsUpdateService.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/middleware/SearchMiddleware.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineSelectorRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/icons/SearchConfigIconsUpdateServiceTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/storage/SearchEngineReaderTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/storage/SearchEngineSelectorRepositoryTest.kt
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/metrics.yaml
- mobile/android/fenix/app/nimbus.fml.yaml
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SearchTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- toolkit/themes/osx/global/menulist.css → mobile/android/fenix/app/src/main/java/org/mozilla/fenix/automotive/AndroidAutomotiveFeatureFlag.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MenuItem.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarComposable.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/privatebrowsing/controller/PrivateBrowsingController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSitesViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchFragmentStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SaveSearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/webcompat/middleware/WebCompatReporterSubmissionMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/webcompat/store/WebCompatReporterStore.kt
- mobile/android/fenix/app/src/main/res/values-ab/strings.xml
- mobile/android/fenix/app/src/main/res/values-am/strings.xml
- mobile/android/fenix/app/src/main/res/values-an/strings.xml
- mobile/android/fenix/app/src/main/res/values-ast/strings.xml
- mobile/android/fenix/app/src/main/res/values-azb/strings.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bn/strings.xml
- mobile/android/fenix/app/src/main/res/values-br/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-cak/strings.xml
- mobile/android/fenix/app/src/main/res/values-ceb/strings.xml
- mobile/android/fenix/app/src/main/res/values-ckb/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rES/strings.xml
- mobile/android/fenix/app/src/main/res/values-es/strings.xml
- mobile/android/fenix/app/src/main/res/values-et/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fa/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-ga-rIE/strings.xml
- mobile/android/fenix/app/src/main/res/values-gd/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-gn/strings.xml
- mobile/android/fenix/app/src/main/res/values-gu-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hu/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-in/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-ka/strings.xml
- mobile/android/fenix/app/src/main/res/values-kaa/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kmr/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-lo/strings.xml
- mobile/android/fenix/app/src/main/res/values-ml/strings.xml
- mobile/android/fenix/app/src/main/res/values-my/strings.xml
- mobile/android/fenix/app/src/main/res/values-ne-rNP/strings.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rPK/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-sc/strings.xml
- mobile/android/fenix/app/src/main/res/values-scn/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-skr/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-su/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-szl/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-tl/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-trs/strings.xml
- mobile/android/fenix/app/src/main/res/values-tt/strings.xml
- mobile/android/fenix/app/src/main/res/values-tzm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-uk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ur/strings.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-yo/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/HomeActivityTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/privatebrowsing/DefaultPrivateBrowsingControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/SessionControlViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/search/SearchFragmentStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/search/toolbar/HomeToolbarViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/search/toolbar/SearchSelectorToolbarActionTest.kt
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/RuntimeSettingsTest.kt
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/PromptController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md
- mobile/locales/l10n-changesets.json
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- modules/libpref/Preferences.h
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.configure
- netwerk/base/LoadInfo.cpp
- netwerk/base/LoadInfo.h
- netwerk/base/TRRLoadInfo.cpp
- netwerk/base/nsILoadInfo.idl
- netwerk/base/nsNetUtil.cpp
- netwerk/base/nsNetUtil.h
- netwerk/base/nsSocketTransportService2.h
- netwerk/dns/DNS.cpp
- netwerk/dns/DNS.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/nsHostRecord.cpp
- netwerk/dns/nsHostResolver.cpp
- netwerk/ipc/NeckoChannelParams.ipdlh
- netwerk/ipc/SocketProcessChild.cpp
- netwerk/metrics.yaml
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/nsHttpChannel.cpp
- + netwerk/test/gtest/TestLocalNetworkAccess.cpp
- netwerk/test/gtest/moz.build
- netwerk/test/unit/test_client_auth_with_proxy.js
- netwerk/test/unit/test_dns_override.js
- + netwerk/test/unit/test_ip_address_space_lna_glean.js
- netwerk/test/unit/test_tls_server.js
- + netwerk/test/unit/test_trr_flags.js
- netwerk/test/unit/xpcshell.toml
- netwerk/url-classifier/UrlClassifierCommon.cpp
- python/mozboot/mozboot/android.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/test/test_artifacts.py
- python/mozbuild/mozbuild/test/vendor_requirements.in
- python/mozperftest/mozperftest/argparser.py
- python/sites/mach.txt
- remote/cdp/domains/parent/Network.sys.mjs
- security/ct/CTKnownLogs.h
- security/manager/ssl/ClientAuthDialogService.sys.mjs
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/TLSClientAuthCertSelection.cpp
- security/manager/ssl/TLSClientAuthCertSelection.h
- security/manager/ssl/nsIClientAuthDialogService.idl
- security/manager/ssl/nsNSSCertificate.h
- security/manager/ssl/nsNSSCertificateDB.h
- security/manager/ssl/nsNSSComponent.h
- security/manager/ssl/nsSTSPreloadList.inc
- security/manager/ssl/tests/mochitest/browser/browser_clientAuthRememberService.js
- security/manager/ssl/tests/mochitest/browser/browser_clientAuth_connection.js
- security/manager/ssl/tests/mochitest/browser/browser_clientAuth_speculative_connection.js
- security/manager/ssl/tests/unit/head_psm.js
- security/manager/ssl/tests/unit/test_intermediate_preloads.js
- + security/manager/ssl/tests/unit/test_intermediate_preloads/bug1966632-ee.pem
- + security/manager/ssl/tests/unit/test_intermediate_preloads/bug1966632-int1.pem
- security/manager/ssl/trust_anchors/build.rs
- + security/manager/ssl/trust_anchors/bundled_intermediates.txt
- security/manager/tools/log_list.json
- security/sandbox/common/SandboxSettings.cpp
- security/sandbox/common/SandboxUtils.sys.mjs
- security/sandbox/common/moz.build
- security/sandbox/common/test/SandboxTestingChildTests.h
- security/sandbox/linux/Sandbox.cpp
- security/sandbox/linux/Sandbox.h
- security/sandbox/linux/SandboxFilter.cpp
- security/sandbox/linux/SandboxFilter.h
- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
- security/sandbox/linux/glue/SandboxPrefBridge.cpp
- security/sandbox/linux/launch/SandboxLaunch.cpp
- services/fxaccounts/tests/xpcshell/test_commands_closetab.js
- services/settings/dumps/blocklists/addons-bloomfilters.json
- services/settings/dumps/security-state/intermediates.json
- services/settings/dumps/security-state/onecrl.json
- supply-chain/imports.lock
- taskcluster/gecko_taskgraph/transforms/test/raptor.py
- taskcluster/kinds/build/linux.yml
- taskcluster/kinds/fetch/toolchains.yml
- taskcluster/kinds/test/mochitest.yml
- taskcluster/kinds/test/reftest.yml
- taskcluster/kinds/test/web-platform.yml
- taskcluster/kinds/test/xpcshell.yml
- testing/mochitest/ignorePrefs.json
- testing/mozbase/mozgeckoprofiler/mozgeckoprofiler/profiling.py
- testing/web-platform/meta/ai/rewriter/rewriter-abort.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-availability-available.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-availability.tentative.https.window.js.ini
- testing/web-platform/meta/ai/rewriter/rewriter.tentative.https.window.js.ini → testing/web-platform/meta/ai/rewriter/rewriter-create-available.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-create.tentative.https.window.js.ini
- testing/web-platform/meta/ai/rewriter/rewriter-from-detached-iframe.tentative.https.window.js.ini
- testing/web-platform/meta/ai/rewriter/rewriter-iframe.tentative.https.html.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-measureInputUsage.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-rewrite-streaming.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-rewrite.tentative.https.window.js.ini
- testing/web-platform/meta/ai/summarizer/summarizer-abort.tentative.https.window.js.ini
- testing/web-platform/meta/ai/summarizer/summarizer-create-available.tentative.https.window.js.ini
- testing/web-platform/meta/ai/summarizer/summarizer-create.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/summarizer/summarizer-from-detached-iframe.tentative.https.window.js.ini
- testing/web-platform/meta/ai/summarizer/summarizer-iframe.tentative.https.html.ini
- testing/web-platform/meta/ai/summarizer/summarizer-summarize-streaming.tentative.https.window.js.ini
- testing/web-platform/meta/ai/summarizer/summarizer-summarize.tentative.https.window.js.ini
- testing/web-platform/meta/ai/translator/translator.optional.https.window.js.ini
- testing/web-platform/meta/ai/writer/writer-abort.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-availability-available.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-availability.tentative.https.window.js.ini
- testing/web-platform/meta/ai/writer/writer.tentative.https.window.js.ini → testing/web-platform/meta/ai/writer/writer-create-available.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-create.tentative.https.window.js.ini
- testing/web-platform/meta/ai/writer/writer-from-detached-iframe.tentative.https.window.js.ini
- testing/web-platform/meta/ai/writer/writer-iframe.tentative.https.html.ini
- + testing/web-platform/meta/ai/writer/writer-measureInputUsage.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-write-streaming.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-write.tentative.https.window.js.ini
- testing/web-platform/meta/clear-site-data/clear-cache-partitioning.tentative.https.html.ini
- + testing/web-platform/meta/clipboard-apis/async-navigator-clipboard-change-event.tentative.https.html.ini
- testing/web-platform/meta/compute-pressure/compute_pressure_basic.https.window.js.ini
- testing/web-platform/meta/content-security-policy/webrtc/webrtc-allowed-explicit.html.ini
- testing/web-platform/meta/cookie-store/change_eventhandler_for_already_expired.https.window.js.ini
- testing/web-platform/meta/cookie-store/change_eventhandler_for_document_cookie.https.window.js.ini
- testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini
- + testing/web-platform/meta/cookie-store/cookieListItem_attributes.https.any.js.ini
- + testing/web-platform/meta/cookie-store/cookieStore_delete_arguments.https.any.js.ini
- + testing/web-platform/meta/cookie-store/cookieStore_set_arguments.https.any.js.ini
- testing/web-platform/meta/cookies/partitioned-cookies/partitioned-cookies-a-b-a-embed.tentative.https.html.ini
- + testing/web-platform/meta/css/css-anchor-position/position-visibility-no-overflow-without-anchor.html.ini
- + testing/web-platform/meta/css/css-content/parsing/content-counter-valid.html.ini
- + testing/web-platform/meta/css/css-fonts/font-family-name-000.xht.ini
- + testing/web-platform/meta/css/css-gaps/flex/flex-gap-decorations-023.html.ini
- + testing/web-platform/meta/css/css-gaps/grid/grid-gap-decorations-039.html.ini
- + testing/web-platform/meta/css/css-gaps/multicol/multicol-gap-intersections-018.html.ini
- testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed.html.ini
- testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed-from-longhands.html.ini → testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-from-longhands.tentative.html.ini
- + testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-valid.html.ini
- testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand.html.ini
- testing/web-platform/meta/css/css-mixins/dashed-function-cycles.html.ini
- testing/web-platform/meta/css/css-mixins/local-attr-substitution.html.ini
- testing/web-platform/meta/css/css-pseudo/target-text-dynamic-002.html.ini
- + testing/web-platform/meta/css/css-scroll-snap/snapevent-constructor.html.ini
- testing/web-platform/meta/css/css-scrollbars/scrollbar-width-paint-002.html.ini
- + testing/web-platform/meta/css/css-transitions/transitioncancel-003.html.ini
- + testing/web-platform/meta/css/css-ui/caret-shape-parsing.html.ini
- testing/web-platform/meta/css/css-values/attr-cycle.html.ini
- + testing/web-platform/meta/css/css-values/ch-unit-019.html.ini
- + testing/web-platform/meta/css/css-values/ident-function-computed.html.ini
- + testing/web-platform/meta/css/css-values/ident-function-parsing.html.ini
- + testing/web-platform/meta/css/css-values/tree-counting/sibling-index-keyframe-rotate-dynamic.html.ini
- testing/web-platform/meta/css/css-variables/variable-cycles.html.ini
- testing/web-platform/meta/css/css-variables/variable-substitution-variable-declaration.html.ini
- + testing/web-platform/meta/css/cssom-view/window-scrollBy-display-change.html.ini
- testing/web-platform/meta/digital-credentials/get.tentative.https.html.ini
- testing/web-platform/meta/dom/events/scrolling/scroll-cross-origin-iframes.html.ini
- + testing/web-platform/meta/fedcm/fedcm-accounts-push/fedcm-accounts-push-basic.tentative.https.html.ini
- + testing/web-platform/meta/fedcm/fedcm-accounts-push/fedcm-accounts-push-caches-pictures.tentative.https.html.ini
- testing/web-platform/meta/fedcm/fedcm-disconnect.sub.https.html.ini
- testing/web-platform/meta/fedcm/lfedcm-identity.create-store-collect.tentative.sub.https.html.ini
- testing/web-platform/meta/fedcm/lfedcm-identity.discovery.tentative.sub.https.html.ini
- testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini
- testing/web-platform/meta/fullscreen/rendering/fullscreen-css-invalidation.html.ini
- + testing/web-platform/meta/fullscreen/rendering/fullscreen-pseudo-class.html.ini
- testing/web-platform/meta/fullscreen/rendering/fullscreen-root-block-size.html.ini
- testing/web-platform/meta/fullscreen/rendering/ua-style-iframe.html.ini
- testing/web-platform/meta/geolocation/enabled-by-permission-policy-attribute-redirect-on-load.https.sub.html.ini
- testing/web-platform/meta/html/browsers/browsing-the-web/overlapping-navigations-and-traversals/cross-document-nav-same-document-traversal.html.ini
- testing/web-platform/meta/html/browsers/browsing-the-web/scroll-to-fragid/forward-triggers-hashchange.html.ini
- testing/web-platform/meta/html/dom/idlharness.https.html.ini
- testing/web-platform/meta/html/dom/reflection-embedded.html.ini
- testing/web-platform/meta/html/semantics/embedded-content/bfcache/embedded-img.html.ini
- + testing/web-platform/meta/html/semantics/embedded-content/the-img-element/__dir__.ini
- + testing/web-platform/meta/html/semantics/forms/the-select-element/customizable-select/select-optgroup-arrow-keys.tentative.html.ini
- + testing/web-platform/meta/html/semantics/interactive-elements/the-details-element/details-toggle-source.tentative.html.ini
- testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-corner-cases.html.ini
- + testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-toggle-source.tentative.html.ini
- − testing/web-platform/meta/html/semantics/permission-element/display-css-property-reftest.tentative.html.ini
- − testing/web-platform/meta/html/semantics/permission-element/display-css-property.tentative.html.ini
- + testing/web-platform/meta/html/semantics/popovers/popover-toggle-source.tentative.html.ini
- testing/web-platform/meta/html/semantics/the-button-element/interest-target/interesttarget-pseudo-classes.tentative.html.ini
- + testing/web-platform/meta/html/user-activation/chained-setTimeout.html.ini
- testing/web-platform/meta/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js.ini
- testing/web-platform/meta/idle-detection/idle-detection-allowed-by-permissions-policy.https.sub.html.ini
- testing/web-platform/meta/mixed-content/gen/top.http-rp/opt-in/audio-tag.https.html.ini
- testing/web-platform/meta/mixed-content/gen/top.meta/opt-in/audio-tag.https.html.ini
- testing/web-platform/meta/mozilla-sync
- testing/web-platform/meta/lifecycle/child-display-none.tentative.html.ini → testing/web-platform/meta/page-lifecycle/child-display-none.tentative.html.ini
- testing/web-platform/meta/lifecycle/child-out-of-viewport.tentative.html.ini → testing/web-platform/meta/page-lifecycle/child-out-of-viewport.tentative.html.ini
- testing/web-platform/meta/lifecycle/freeze.html.ini → testing/web-platform/meta/page-lifecycle/freeze.html.ini
- testing/web-platform/meta/lifecycle/worker-dispay-none.tentative.html.ini → testing/web-platform/meta/page-lifecycle/worker-dispay-none.tentative.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_pointerout_no_pointer_movement.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_touch-action-illegal.html.ini
- + testing/web-platform/meta/preload/preload-referrer-policy-subresource-header.tentative.html.ini
- testing/web-platform/meta/referrer-policy/generic/refresh-cross-origin.sub.html.ini
- testing/web-platform/meta/resource-timing/iframe-sequence-of-events.html.ini
- testing/web-platform/meta/screen-orientation/active-lock.html.ini
- testing/web-platform/meta/scroll-animations/css/animation-timeline-named-scroll-progress-timeline.tentative.html.ini
- testing/web-platform/meta/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html.ini
- testing/web-platform/meta/scroll-animations/css/progress-based-animation-animation-longhand-properties.tentative.html.ini
- testing/web-platform/meta/scroll-animations/css/scroll-timeline-dynamic.tentative.html.ini
- testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.tentative.html.ini → testing/web-platform/meta/scroll-animations/css/timeline-scope-computed.html.ini
- testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.tentative.html.ini → testing/web-platform/meta/scroll-animations/css/timeline-scope-parsing.html.ini
- testing/web-platform/meta/scroll-animations/css/timeline-scope.html.ini
- testing/web-platform/meta/scroll-animations/css/view-timeline-inset-animation.html.ini
- testing/web-platform/meta/scroll-animations/css/view-timeline-range-animation.html.ini
- testing/web-platform/meta/service-workers/service-worker/fetch-event-respond-with-custom-response.https.html.ini
- testing/web-platform/meta/service-workers/service-worker/static-router-invalid-rules.https.html.ini
- testing/web-platform/meta/service-workers/service-worker/static-router-main-resource.https.html.ini
- testing/web-platform/meta/service-workers/service-worker/static-router-subresource.https.html.ini
- − testing/web-platform/meta/soft-navigation-heuristics/disabled.html.ini
- testing/web-platform/meta/svg/geometry/reftests/rect-calc-dynamic-viewport.html.ini
- testing/web-platform/meta/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-process-zero-outputs.https.html.ini
- testing/web-platform/meta/webdriver/tests/bidi/browsing_context/history_updated/history_updated.py.ini
- testing/web-platform/meta/webdriver/tests/bidi/storage/get_cookies/partition.py.ini
- + testing/web-platform/meta/webdriver/tests/bidi/storage/set_cookie/cookie_secure.py.ini
- testing/web-platform/meta/webdriver/tests/classic/add_cookie/add.py.ini
- + testing/web-platform/meta/webdriver/tests/classic/forward/forward.py.ini
- + testing/web-platform/meta/webxr/depth-sensing/cpu/depth_sensing_cpu_matchDepthViewDepthData.https.html.ini
- testing/web-platform/meta/webxr/depth-sensing/cpu/depth_sensing_cpu_matchDepthViewIdentity.https.html.ini
- testing/web-platform/meta/webxr/depth-sensing/depth_type_request_respected.https.html.ini
- testing/web-platform/meta/webxr/depth-sensing/gpu/depth_sensing_gpu_inactiveFrame.https.html.ini
- testing/web-platform/meta/webxr/depth-sensing/gpu/depth_sensing_gpu_matchDepthViewIdentity.https.html.ini
- testing/web-platform/meta/xhr/formdata/append.any.js.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/capability_checks/features/texture_formats/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/capability_checks/limits/maxSamplersPerShaderStage/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/capability_checks/limits/maxStorageBuffersPerShaderStage/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/createPipelineLayout/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/encoding/cmds/copyTextureToTexture/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/image_copy/layout_related/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/image_copy/texture_related/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/api/validation/state/device_lost/destroy/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/idl/javascript/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/idl/javascript/dedicated.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/idl/javascript/shared.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/shader/execution/expression/call/builtin/textureSampleLevel/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/configure/cts.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/configure/dedicated.https.html.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/configure/shared.https.html.ini
- testing/web-platform/mozilla/tests/webdriver/bidi/browser/create_user_context/accept_insecure_certs.py
- testing/web-platform/mozilla/tests/webgpu/common/framework/fixture.js
- testing/web-platform/mozilla/tests/webgpu/common/internal/version.js
- testing/web-platform/mozilla/tests/webgpu/cts/webgpu/idl/javascript/cts.https.html
- testing/web-platform/mozilla/tests/webgpu/cts/webgpu/idl/javascript/dedicated.https.html
- testing/web-platform/mozilla/tests/webgpu/cts/webgpu/idl/javascript/shared.https.html
- testing/web-platform/mozilla/tests/webgpu/resources/cache/hashes.json
- testing/web-platform/mozilla/tests/webgpu/webgpu/idl/javascript.spec.js
- testing/web-platform/tests/.github/workflows/docker.yml
- testing/web-platform/tests/ai/resources/util.js
- testing/web-platform/tests/ai/rewriter/resources/iframe-helper.html
- testing/web-platform/tests/ai/rewriter/rewriter-abort.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-availability-available.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-availability.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-create-available.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-create.tentative.https.window.js
- testing/web-platform/tests/ai/rewriter/rewriter-from-detached-iframe.tentative.https.window.js
- testing/web-platform/tests/ai/rewriter/rewriter-iframe.tentative.https.html
- + testing/web-platform/tests/ai/rewriter/rewriter-measureInputUsage.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-rewrite-streaming.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-rewrite.tentative.https.window.js
- − testing/web-platform/tests/ai/rewriter/rewriter.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/resources/iframe-helper.html
- testing/web-platform/tests/ai/summarizer/summarizer-abort.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-availability-available.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-availability.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-create-available.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-create.tentative.https.window.js
- + testing/web-platform/tests/ai/summarizer/summarizer-from-detached-iframe.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-iframe.tentative.https.html
- testing/web-platform/tests/ai/summarizer/summarizer-measureInputUsage.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-summarize-streaming.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-summarize.tentative.https.window.js
- testing/web-platform/tests/ai/translator/translator.optional.https.window.js
- testing/web-platform/tests/ai/writer/resources/iframe-helper.html
- testing/web-platform/tests/ai/writer/writer-abort.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-availability-available.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-availability.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-create-available.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-create.tentative.https.window.js
- testing/web-platform/tests/ai/writer/writer-from-detached-iframe.tentative.https.window.js
- testing/web-platform/tests/ai/writer/writer-iframe.tentative.https.html
- + testing/web-platform/tests/ai/writer/writer-measureInputUsage.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-write-streaming.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-write.tentative.https.window.js
- − testing/web-platform/tests/ai/writer/writer.tentative.https.window.js
- + testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-change-event.tentative.https.html
- testing/web-platform/tests/compute-pressure/compute_pressure_basic.https.window.js
- testing/web-platform/tests/compute-pressure/compute_pressure_duplicate_updates.https.window.js
- testing/web-platform/tests/compute-pressure/resources/worker-support.js
- testing/web-platform/tests/content-security-policy/frame-src/frame-src-blocked.sub.html
- testing/web-platform/tests/cookie-store/cookieListItem_attributes.https.any.js
- testing/web-platform/tests/cookie-store/cookieStore_delete_arguments.https.any.js
- testing/web-platform/tests/cookie-store/cookieStore_set_arguments.https.any.js
- + testing/web-platform/tests/css/css-anchor-position/position-visibility-no-overflow-without-anchor.html
- + testing/web-platform/tests/css/css-contain/contain-inline-size-grid-auto-fit.html
- + testing/web-platform/tests/css/css-content/parsing/content-counter-valid.html
- testing/web-platform/tests/css/css-flexbox/flex-container-max-content-002.tentative.html
- testing/web-platform/tests/css/css-flexbox/flex-container-min-content-002.tentative.html
- testing/web-platform/tests/css/css-flexbox/stretched-child-in-nested-flexbox.html → testing/web-platform/tests/css/css-flexbox/stretched-child-in-nested-flexbox-001.html
- + testing/web-platform/tests/css/css-flexbox/stretched-child-in-nested-flexbox-002.html
- testing/web-platform/tests/css/css-fonts/font-family-name-000.xht
- testing/web-platform/tests/css/css-fonts/font-family-name-024.xht
- + testing/web-platform/tests/css/css-fonts/test-synthetic-bold-notref.html
- testing/web-platform/tests/css/css-fonts/test-synthetic-bold.xht → testing/web-platform/tests/css/css-fonts/test-synthetic-bold.html
- + testing/web-platform/tests/css/css-fonts/test-synthetic-italic-notref.html
- testing/web-platform/tests/css/css-fonts/test-synthetic-italic.xht → testing/web-platform/tests/css/css-fonts/test-synthetic-italic.html
- + testing/web-platform/tests/css/css-gaps/agnostic/gap-decorations-003-ref.html
- + testing/web-platform/tests/css/css-gaps/agnostic/gap-decorations-003.html
- + testing/web-platform/tests/css/css-gaps/agnostic/gap-decorations-006-ref.html
- + testing/web-platform/tests/css/css-gaps/flex/flex-gap-decorations-023.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-039.html
- + testing/web-platform/tests/css/css-gaps/multicol/multicol-gap-decorations-018-ref.html
- + testing/web-platform/tests/css/css-gaps/multicol/multicol-gap-intersections-018.html
- testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed.html
- testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed-from-longhands.html → testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-from-longhands.tentative.html
- testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-invalid.html
- + testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-valid.html
- testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand.html
- testing/web-platform/tests/css/css-images/gradient/conic-gradient-001.html
- testing/web-platform/tests/css/css-images/gradient/gradient-analogous-missing-components-001.html
- testing/web-platform/tests/css/css-images/gradient/gradient-analogous-missing-components-002.html
- testing/web-platform/tests/css/css-images/gradient/gradient-analogous-missing-components-003.html
- testing/web-platform/tests/css/css-images/gradient/gradient-single-stop-none-interpolation.html
- testing/web-platform/tests/css/css-images/infinite-radial-gradient-refcrash.html
- testing/web-platform/tests/css/css-images/multiple-position-color-stop-radial.html
- testing/web-platform/tests/css/css-images/normalization-linear-2.html
- testing/web-platform/tests/css/css-images/normalization-linear-degenerate.html
- testing/web-platform/tests/css/css-images/normalization-linear.html
- testing/web-platform/tests/css/css-images/normalization-radial-2.html
- testing/web-platform/tests/css/css-images/normalization-radial-3.html
- testing/web-platform/tests/css/css-images/normalization-radial-4.html
- testing/web-platform/tests/css/css-images/normalization-radial-degenerate.html
- testing/web-platform/tests/css/css-images/normalization-radial.html
- testing/web-platform/tests/css/css-images/tiled-gradients.html
- testing/web-platform/tests/css/css-mixins/dashed-function-cycles.html
- testing/web-platform/tests/css/css-mixins/local-attr-substitution.html
- + testing/web-platform/tests/css/css-scroll-snap/snapevent-constructor.html
- + testing/web-platform/tests/css/css-ui/caret-shape-parsing.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/grouped-kind-of-widget-fallback-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-button-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-checkbox-input-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-color-input-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-button-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-reset-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-search-text-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-submit-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-input-text-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-link-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-meter-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-progress-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-radio-input-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-range-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-dropdown-box-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-listbox-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-select-menulist-button-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-attachment-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-clip-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-image-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-origin-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-position-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-background-size-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-block-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-bottom-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-bottom-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-bottom-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-bottom-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-bottom-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-end-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-end-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-image-outset-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-image-repeat-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-image-slice-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-image-source-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-image-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-end-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-end-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-end-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-start-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-start-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-inline-start-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-left-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-left-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-left-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-right-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-right-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-right-width-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-start-end-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-start-start-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-color-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-left-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-right-radius-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-style-001.html
- testing/web-platform/tests/css/css-ui/compute-kind-widget-generated/kind-of-widget-fallback-textarea-border-top-width-001.html
- testing/web-platform/tests/css/css-ui/tools/build-compute-kind-widget-fallback-props.py
- testing/web-platform/tests/css/css-values/attr-cycle.html
- + testing/web-platform/tests/css/css-values/ch-unit-019.html
- + testing/web-platform/tests/css/css-values/ident-function-computed.html
- + testing/web-platform/tests/css/css-values/ident-function-parsing.html
- testing/web-platform/tests/css/css-values/if-cycle.html
- + testing/web-platform/tests/css/css-values/reference/ch-unit-019-ref.html
- + testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-rotate-dynamic.html
- testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-scale-dynamic.html
- testing/web-platform/tests/css/css-variables/variable-cycles.html
- testing/web-platform/tests/css/css-variables/variable-substitution-variable-declaration.html
- testing/web-platform/tests/css/css-view-transitions/content-with-transform-ref.html
- testing/web-platform/tests/css/css-view-transitions/inline-with-offset-from-containing-block-ref.html
- testing/web-platform/tests/css/css-view-transitions/pseudo-get-computed-style.html
- + testing/web-platform/tests/css/filter-effects/crashtests/external-reference-in-interleaved-oof-crash.html
- + testing/web-platform/tests/css/filter-effects/hidpi-invert-filter-background-ref.html
- + testing/web-platform/tests/css/filter-effects/hidpi-invert-filter-background.html
- testing/web-platform/tests/digital-credentials/get.tentative.https.html
- + testing/web-platform/tests/fedcm/fedcm-accounts-push/fedcm-accounts-push-basic.tentative.https.html
- + testing/web-platform/tests/fedcm/fedcm-accounts-push/fedcm-accounts-push-caches-pictures.tentative.https.html
- + testing/web-platform/tests/fedcm/support/account_picture.py
- + testing/web-platform/tests/fedcm/support/account_picture_get_count.py
- + testing/web-platform/tests/fedcm/support/account_picture_uncached.py
- + testing/web-platform/tests/fedcm/support/account_picture_uncached_get_count.py
- testing/web-platform/tests/fedcm/support/fedcm-helper.sub.js
- testing/web-platform/tests/fedcm/support/keys.py
- + testing/web-platform/tests/fedcm/support/manifest_accounts_push.json
- testing/web-platform/tests/fedcm/support/mark_signedout.sub.headers
- + testing/web-platform/tests/fedcm/support/push_accounts
- + testing/web-platform/tests/fedcm/support/push_accounts.sub.headers
- testing/web-platform/tests/fedcm/support/request-params-check.py
- testing/web-platform/tests/fetch/local-network-access/fetch.tentative.https.html
- + testing/web-platform/tests/fetch/local-network-access/resources/fetch-private-http.html
- + testing/web-platform/tests/fetch/local-network-access/resources/fetch-public-http-wrong-address-space.html
- testing/web-platform/tests/geolocation/enabled-by-permission-policy-attribute-redirect-on-load.https.sub.html
- + testing/web-platform/tests/html/canvas/canvas-sibling-index-crash.html
- testing/web-platform/tests/html/dom/elements-embedded.js
- testing/web-platform/tests/html/dom/new-harness.js
- testing/web-platform/tests/html/dom/original-harness.js
- testing/web-platform/tests/html/dom/reflection.js
- + testing/web-platform/tests/html/semantics/forms/the-select-element/customizable-select/select-optgroup-arrow-keys.tentative.html
- + testing/web-platform/tests/html/semantics/interactive-elements/the-details-element/details-toggle-source.tentative.html
- testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-corner-cases.html
- + testing/web-platform/tests/html/semantics/interactive-elements/the-dialog-element/dialog-toggle-source.tentative.html
- − testing/web-platform/tests/html/semantics/permission-element/display-css-property-reftest-ref.html
- − testing/web-platform/tests/html/semantics/permission-element/display-css-property-reftest.tentative.html
- − testing/web-platform/tests/html/semantics/permission-element/display-css-property.tentative.html
- + testing/web-platform/tests/html/semantics/popovers/popover-toggle-source.tentative.html
- + testing/web-platform/tests/html/semantics/popovers/resources/toggle-event-source-test.js
- testing/web-platform/tests/html/semantics/the-button-element/interest-target/interesttarget-keyboard-behavior.tentative.html
- testing/web-platform/tests/html/semantics/the-button-element/interest-target/interesttarget-pseudo-classes.tentative.html
- − testing/web-platform/tests/lifecycle/META.yml
- testing/web-platform/tests/lint.ignore
- testing/web-platform/tests/page-lifecycle/META.yml
- testing/web-platform/tests/lifecycle/child-display-none.tentative.html → testing/web-platform/tests/page-lifecycle/child-display-none.tentative.html
- testing/web-platform/tests/lifecycle/child-out-of-viewport.tentative.html → testing/web-platform/tests/page-lifecycle/child-out-of-viewport.tentative.html
- testing/web-platform/tests/lifecycle/freeze.html → testing/web-platform/tests/page-lifecycle/freeze.html
- testing/web-platform/tests/lifecycle/resources/beacon.py → testing/web-platform/tests/page-lifecycle/resources/beacon.py
- testing/web-platform/tests/lifecycle/resources/child.html → testing/web-platform/tests/page-lifecycle/resources/child.html
- testing/web-platform/tests/lifecycle/resources/subframe.html → testing/web-platform/tests/page-lifecycle/resources/subframe.html
- testing/web-platform/tests/lifecycle/resources/subframe_worker.html → testing/web-platform/tests/page-lifecycle/resources/subframe_worker.html
- testing/web-platform/tests/lifecycle/resources/subframe_worker1.js → testing/web-platform/tests/page-lifecycle/resources/subframe_worker1.js
- testing/web-platform/tests/lifecycle/resources/subframe_worker2.js → testing/web-platform/tests/page-lifecycle/resources/subframe_worker2.js
- testing/web-platform/tests/lifecycle/resources/window.html → testing/web-platform/tests/page-lifecycle/resources/window.html
- testing/web-platform/tests/lifecycle/set-composited-layer-position-ref.html → testing/web-platform/tests/page-lifecycle/set-composited-layer-position-ref.html
- testing/web-platform/tests/lifecycle/set-composited-layer-position.html → testing/web-platform/tests/page-lifecycle/set-composited-layer-position.html
- testing/web-platform/tests/lifecycle/worker-dispay-none.tentative.html → testing/web-platform/tests/page-lifecycle/worker-dispay-none.tentative.html
- testing/web-platform/tests/pointerevents/pointerevent_pointer_boundary_events_after_removing_last_over_element.html
- testing/web-platform/tests/pointerevents/pointerevent_pointerout_no_pointer_movement.html
- + testing/web-platform/tests/preload/preload-referrer-policy-subresource-header.tentative.html
- testing/web-platform/tests/preload/preload-referrer-policy.html
- testing/web-platform/tests/preload/resources/link-header-referrer-policy.py
- + testing/web-platform/tests/preload/resources/stash-referrer.py
- testing/web-platform/tests/resources/chromium/webxr-test.js
- testing/web-platform/tests/scroll-animations/css/timeline-scope-computed.tentative.html → testing/web-platform/tests/scroll-animations/css/timeline-scope-computed.html
- testing/web-platform/tests/scroll-animations/css/timeline-scope-parsing.tentative.html → testing/web-platform/tests/scroll-animations/css/timeline-scope-parsing.html
- + testing/web-platform/tests/soft-navigation-heuristics/detection/tentative/racing-soft-navigations.html
- − testing/web-platform/tests/soft-navigation-heuristics/disabled.html
- + testing/web-platform/tests/soft-navigation-heuristics/resources/soft-navigation-test-helper.js
- + testing/web-platform/tests/soft-navigation-heuristics/smoke/tentative/lcp.html
- + testing/web-platform/tests/soft-navigation-heuristics/smoke/tentative/task-attribution.html
- + testing/web-platform/tests/svg/animations/mpath-zero-radius-crash.html
- testing/web-platform/tests/tools/ci/requirements_build.txt
- testing/web-platform/tests/tools/ci/requirements_tc.txt
- testing/web-platform/tests/tools/docker/requirements.txt
- testing/web-platform/tests/tools/manifest/download.py
- testing/web-platform/tests/tools/manifest/sourcefile.py
- testing/web-platform/tests/tools/metadata/yaml/requirements.txt
- testing/web-platform/tests/tools/mypy.ini
- testing/web-platform/tests/tools/requirements_mypy.txt
- testing/web-platform/tests/tools/requirements_tests.txt
- testing/web-platform/tests/tools/serve/serve.py
- testing/web-platform/tests/tools/wave/requirements.txt
- testing/web-platform/tests/tools/webdriver/webdriver/bidi/transport.py
- testing/web-platform/tests/tools/webtransport/h3/capsule.py
- testing/web-platform/tests/tools/webtransport/h3/webtransport_h3_server.py
- testing/web-platform/tests/tools/wpt/requirements.txt
- + testing/web-platform/tests/tools/wpt/requirements_metadata.txt
- testing/web-platform/tests/tools/wptrunner/requirements.txt
- testing/web-platform/tests/tools/wptrunner/requirements_firefox.txt
- testing/web-platform/tests/tools/wptrunner/requirements_safari.txt
- testing/web-platform/tests/tools/wptrunner/requirements_sauce.txt
- testing/web-platform/tests/tools/wptserve/tests/functional/test_pipes.py
- testing/web-platform/tests/tools/wptserve/wptserve/ws_h2_handshake.py
- testing/web-platform/tests/wasm/core/js/binary.wast.js
- testing/web-platform/tests/wasm/core/js/data.wast.js
- testing/web-platform/tests/webnn/conformance_tests/pad.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/prelu.https.any.js
- testing/web-platform/tests/webnn/conformance_tests/qdq_subgraph.https.any.js
- testing/web-platform/tests/webnn/validation_tests/pad.https.any.js
- testing/web-platform/tests/webrtc-encoded-transform/RTCRtpScriptTransform-encoded-transform.https.html
- testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_dataUnavailable.https.html
- testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_inactiveFrame.https.html
- + testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_matchDepthViewDepthData.https.html
- testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_matchDepthViewIdentity.https.html
- testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_pauseResume.https.html
- testing/web-platform/tests/webxr/depth-sensing/cpu/depth_sensing_cpu_staleView.https.html
- testing/web-platform/tests/webxr/depth-sensing/dataUnavailableTests.js
- testing/web-platform/tests/webxr/depth-sensing/depth_type_request_respected.https.html
- testing/web-platform/tests/webxr/depth-sensing/gpu/depth_sensing_gpu_dataUnavailable.https.html
- testing/web-platform/tests/webxr/depth-sensing/gpu/depth_sensing_gpu_inactiveFrame.https.html
- testing/web-platform/tests/webxr/depth-sensing/gpu/depth_sensing_gpu_matchDepthViewIdentity.https.html
- testing/web-platform/tests/webxr/depth-sensing/gpu/depth_sensing_gpu_pauseResume.https.html
- testing/web-platform/tests/webxr/depth-sensing/gpu/depth_sensing_gpu_staleView.https.html
- testing/web-platform/tests/webxr/depth-sensing/inactiveFrameTests.js
- testing/web-platform/tests/webxr/depth-sensing/matchDepthViewValues.js
- testing/web-platform/tests/webxr/depth-sensing/pauseResumeTests.js
- testing/web-platform/tests/webxr/depth-sensing/staleViewsTests.js
- testing/web-platform/tests/webxr/resources/webxr_test_asserts.js
- testing/web-platform/tests/webxr/resources/webxr_test_constants.js
- testing/web-platform/tests/webxr/resources/webxr_test_constants_fake_depth.js
- testing/web-platform/tests/xhr/formdata/append.any.js
- third_party/rust/glean-core/.cargo-checksum.json
- third_party/rust/glean-core/Cargo.toml
- third_party/rust/glean-core/src/common_metric_data.rs
- third_party/rust/glean-core/src/core/mod.rs
- third_party/rust/glean-core/src/glean.udl
- third_party/rust/glean-core/src/metrics/datetime.rs
- third_party/rust/glean-core/tests/collection_enabled.rs
- third_party/rust/glean-core/tests/event.rs
- third_party/rust/glean-core/tests/ping_maker.rs
- third_party/rust/glean-core/tests/rate.rs
- third_party/rust/glean-core/tests/text.rs
- third_party/rust/glean/.cargo-checksum.json
- third_party/rust/glean/Cargo.lock
- third_party/rust/glean/Cargo.toml
- third_party/rust/glean/src/lib.rs
- third_party/sqlite3/src/sqlite.symbols
- toolkit/actors/AutoCompleteChild.sys.mjs
- toolkit/components/antitracking/test/browser/browser_nimbus_3pcb.js
- toolkit/components/antitracking/test/browser/browser_nimbus_etp_features.js
- toolkit/components/antitracking/test/browser/browser_nimbus_thirdPartyTrackerCookieBlocking.js
- toolkit/components/antitracking/test/browser/browser_urlQueryStringStripping_nimbus.js
- toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs
- toolkit/components/backgroundtasks/tests/xpcshell/test_backgroundtask_experiments.js
- toolkit/components/cleardata/tests/browser/browser_css_cache.js
- toolkit/components/contentrelevancy/tests/browser/browser_contentrelevancy_nimbus.js
- toolkit/components/extensions/schemas/declarative_net_request.json
- toolkit/components/extensions/schemas/web_request.json
- toolkit/components/extensions/webrequest/ChannelWrapper.cpp
- toolkit/components/glean/metrics_index.py
- toolkit/components/messaging-system/lib/SpecialMessageActions.sys.mjs
- toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/index.md
- toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser_sma_set_prefs.js
- toolkit/components/messaging-system/schemas/SpecialMessageActionSchemas/test/browser/browser_sma_submit_onboarding_opt_out_ping.js
- toolkit/components/messaging-system/schemas/TriggerActionSchemas/TriggerActionSchemas.json
- toolkit/components/messaging-system/schemas/TriggerActionSchemas/index.md
- toolkit/components/moz.build
- toolkit/components/narrate/test/browser_narrate_language.js
- toolkit/components/nimbus/FeatureManifest.yaml
- toolkit/components/nimbus/FirefoxLabs.sys.mjs
- toolkit/components/nimbus/lib/ExperimentManager.sys.mjs
- toolkit/components/nimbus/lib/PrefFlipsFeature.sys.mjs
- toolkit/components/nimbus/lib/TargetingContextRecorder.sys.mjs
- toolkit/components/nimbus/metrics.yaml
- toolkit/components/nimbus/test/NimbusTestUtils.sys.mjs
- toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js
- toolkit/components/nimbus/test/browser/browser_experimentapi_child.js
- toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js
- toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_init.js
- toolkit/components/nimbus/test/browser/head.js
- toolkit/components/nimbus/test/unit/test_ExperimentAPI.js
- toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature.js
- toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getAllVariables.js
- toolkit/components/nimbus/test/unit/test_ExperimentAPI_ExperimentFeature_getVariable.js
- toolkit/components/nimbus/test/unit/test_ExperimentAPI_NimbusFeatures.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_lifecycle.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js
- toolkit/components/nimbus/test/unit/test_ExperimentStore.js
- toolkit/components/nimbus/test/unit/test_FirefoxLabs.js
- toolkit/components/nimbus/test/unit/test_Migrations.js
- toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js
- toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js
- toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js
- toolkit/components/nimbus/test/unit/test_TargetingContextRecorder.js
- toolkit/components/nimbus/test/unit/test_localization.js
- toolkit/components/nimbus/test/unit/test_nimbusTelemetry.js
- toolkit/components/nimbus/test/unit/test_prefFlips.js
- toolkit/components/normandy/test/browser/browser_about_studies.js
- toolkit/components/passwordmgr/test/browser/browser_autocomplete_import.js
- toolkit/components/pictureinpicture/tests/browser_nimbusDisplayDuration.js
- toolkit/components/pictureinpicture/tests/browser_nimbusFirstTimeStyleVariant.js
- toolkit/components/pictureinpicture/tests/browser_nimbusMessageFirstTimePip.js
- toolkit/components/places/PlacesSemanticHistoryDatabase.sys.mjs
- toolkit/components/places/tests/unit/test_PlacesSemanticHistoryDatabase.js
- toolkit/components/reader/AboutReader.sys.mjs
- toolkit/components/reader/tests/browser/browser_readerMode_readingTime.js
- toolkit/components/remote/nsGTKRemoteServer.cpp
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/resistfingerprinting/nsRFPService.h
- toolkit/components/search/tests/xpcshell/test_engine_selector_engine_orders.js
- toolkit/components/sessionstore/SessionStoreRestoreData.h
- − toolkit/components/shopping/content/ProductConfig.mjs
- − toolkit/components/shopping/content/ProductValidator.sys.mjs
- − toolkit/components/shopping/content/ShoppingProduct.mjs
- − toolkit/components/shopping/jar.mn
- − toolkit/components/shopping/metrics.yaml
- − toolkit/components/shopping/moz.build
- − toolkit/components/shopping/schemas/analysis_request.schema.json
- − toolkit/components/shopping/schemas/analysis_response.schema.json
- − toolkit/components/shopping/schemas/analysis_status_request.schema.json
- − toolkit/components/shopping/schemas/analysis_status_response.schema.json
- − toolkit/components/shopping/schemas/analyze_request.schema.json
- − toolkit/components/shopping/schemas/analyze_response.schema.json
- − toolkit/components/shopping/schemas/attribution_request.schema.json
- − toolkit/components/shopping/schemas/attribution_response.schema.json
- − toolkit/components/shopping/schemas/recommendations_request.schema.json
- − toolkit/components/shopping/schemas/recommendations_response.schema.json
- − toolkit/components/shopping/schemas/reporting_request.schema.json
- − toolkit/components/shopping/schemas/reporting_response.schema.json
- − toolkit/components/shopping/test/browser/browser.toml
- − toolkit/components/shopping/test/browser/browser_shopping_ad_not_available.js
- − toolkit/components/shopping/test/browser/browser_shopping_ads_test.js
- − toolkit/components/shopping/test/browser/browser_shopping_integration.js
- − toolkit/components/shopping/test/browser/browser_shopping_request_telemetry.js
- − toolkit/components/shopping/test/browser/browser_shopping_sidebar_messages.js
- − toolkit/components/shopping/test/browser/head.js
- − toolkit/components/shopping/test/mockapis/analysis.sjs
- − toolkit/components/shopping/test/mockapis/analysis_status.sjs
- − toolkit/components/shopping/test/mockapis/analyze.sjs
- − toolkit/components/shopping/test/mockapis/attribution.sjs
- − toolkit/components/shopping/test/mockapis/recommendations.sjs
- − toolkit/components/shopping/test/mockapis/reporting.sjs
- − toolkit/components/shopping/test/mockapis/server_helper.js
- − toolkit/components/shopping/test/xpcshell/data/analysis_request.json
- − toolkit/components/shopping/test/xpcshell/data/analysis_response.json
- − toolkit/components/shopping/test/xpcshell/data/analysis_status_completed_response.json
- − toolkit/components/shopping/test/xpcshell/data/analysis_status_in_progress_response.json
- − toolkit/components/shopping/test/xpcshell/data/analysis_status_pending_response.json
- − toolkit/components/shopping/test/xpcshell/data/analyze_pending.json
- − toolkit/components/shopping/test/xpcshell/data/attribution_response.json
- − toolkit/components/shopping/test/xpcshell/data/bad_request.json
- − toolkit/components/shopping/test/xpcshell/data/image.jpg
- − toolkit/components/shopping/test/xpcshell/data/invalid_analysis_request.json
- − toolkit/components/shopping/test/xpcshell/data/invalid_analysis_response.json
- − toolkit/components/shopping/test/xpcshell/data/invalid_recommendations_request.json
- − toolkit/components/shopping/test/xpcshell/data/invalid_recommendations_response.json
- − toolkit/components/shopping/test/xpcshell/data/needs_analysis_response.json
- − toolkit/components/shopping/test/xpcshell/data/recommendations_request.json
- − toolkit/components/shopping/test/xpcshell/data/recommendations_response.json
- − toolkit/components/shopping/test/xpcshell/data/report_response.json
- − toolkit/components/shopping/test/xpcshell/data/service_unavailable.json
- − toolkit/components/shopping/test/xpcshell/data/too_many_requests.json
- − toolkit/components/shopping/test/xpcshell/data/unprocessable_entity.json
- − toolkit/components/shopping/test/xpcshell/head.js
- − toolkit/components/shopping/test/xpcshell/test_fetchImage.js
- − toolkit/components/shopping/test/xpcshell/test_product.js
- − toolkit/components/shopping/test/xpcshell/test_product_urls.js
- − toolkit/components/shopping/test/xpcshell/test_product_validator.js
- − toolkit/components/shopping/test/xpcshell/xpcshell.toml
- toolkit/components/telemetry/Scalars.yaml
- toolkit/components/telemetry/app/TelemetryReportingPolicy.sys.mjs
- toolkit/components/telemetry/dap/tests/xpcshell/test_dap_visit_counter.js
- toolkit/components/telemetry/tests/unit/test_TelemetryReportingPolicy.js
- toolkit/components/translations/actors/TranslationsEngineChild.sys.mjs
- toolkit/components/translations/actors/TranslationsEngineParent.sys.mjs
- toolkit/components/translations/actors/TranslationsParent.sys.mjs
- toolkit/content/widgets/moz-message-bar/README.stories.md
- toolkit/crashreporter/client/app/src/main.rs
- toolkit/crashreporter/client/app/src/test.rs
- toolkit/locales/en-US/crashreporter/crashreporter.ftl
- toolkit/modules/AsyncPrefs.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/xpcshell/test_system_builtins.js
- toolkit/mozapps/update/tests/unit_background_update/test_backgroundupdate_glean.js
- toolkit/themes/linux/global/jar.mn
- − toolkit/themes/linux/global/menulist.css
- toolkit/themes/osx/global/jar.mn
- toolkit/themes/shared/design-system/docs/README.design-tokens.stories.md
- toolkit/themes/shared/desktop-jar.inc.mn
- toolkit/themes/shared/global-shared.css
- toolkit/themes/shared/menulist-shared.css → toolkit/themes/shared/menulist.css
- toolkit/themes/windows/global/jar.mn
- − toolkit/themes/windows/global/menulist.css
- tools/(a)types/generated/lib.gecko.dom.d.ts
- tools/lint/eslint/eslint-plugin-mozilla/lib/environments/browser-window.js
- uriloader/exthandler/nsExternalHelperAppService.cpp
- uriloader/exthandler/tests/mochitest/browser_save_filenames.js
- uriloader/exthandler/tests/mochitest/save_filenames.html
- widget/gtk/mozwayland/mozwayland.c
- widget/gtk/nsGtkKeyUtils.cpp
- widget/gtk/nsGtkKeyUtils.h
- xpcom/base/nsISupportsImpl.h
- xpcom/ds/nsArray.h
- xpcom/ds/nsHashPropertyBag.h
- xpcom/ds/nsVariant.h
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e66fea…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e66fea…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Avoid removing $destdir in projects/release/build
by boklm (@boklm) 23 May '25
by boklm (@boklm) 23 May '25
23 May '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
24cfd195 by Nicolas Vigier at 2025-05-23T11:17:49+02:00
Bug 41444: Avoid removing $destdir in projects/release/build
fixup for 984f7ff0876776ec67d2349cc721077e602b6207.
In our nightly builds setup the logs directory is stored in $destdir, so
we should not remove that directory.
- - - - -
1 changed file:
- projects/release/build
Changes:
=====================================
projects/release/build
=====================================
@@ -3,7 +3,6 @@
# reset HOME which was changed by var/set_default_env, for gpg
[% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
-rm -rf "$destdir"
mkdir -p "$destdir"
[% IF c("var/browser_platforms/android-armv7") -%]
mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/2…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-115.24.0esr-13.5-1] 230 commits: Bug 1644383 - add mutexs to avoid data race. r=media-playback-reviewers,padenot
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed to branch tor-browser-115.24.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
Commits:
9ee65e09 by alwu at 2025-05-22T15:45:14+02:00
Bug 1644383 - add mutexs to avoid data race. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D206943
- - - - -
587eca52 by Edgar Chen at 2025-05-22T15:45:15+02:00
Bug 1743329 - Handle ESC key to release pointer lock in parent process; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211621
- - - - -
4edb2e10 by Edgar Chen at 2025-05-22T15:45:15+02:00
Bug 1743329 - Release pointer lock when xul popup is open; r=smaug,pbz
Differential Revision: https://phabricator.services.mozilla.com/D211620
- - - - -
67b46c7e by Edgar Chen at 2025-05-22T15:45:16+02:00
Bug 1743329 - Use nsMenuPopupFrame in GetVisiblePopups(); r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211619
A further change was needed in nsCaret.cpp, see
https://gitlab.torproject.org/tpo/applications/tor-browser/-/merge_requests…
- - - - -
61774835 by Otto Länd at 2025-05-22T15:45:17+02:00
Bug 1743329: apply code formatting via Lando
# ignore-this-changeset
- - - - -
8c51622a by Anna Weine at 2025-05-22T15:45:17+02:00
Bug 1760806 - WebCrypto: ECDH and ECDSA JWK import to check that the crv in params and crv in alg are the same r=keeler
https://treeherder.mozilla.org/jobs?repo=try&revision=ed7936b105dea8e588650…
Differential Revision: https://phabricator.services.mozilla.com/D217273
- - - - -
97a96004 by Pier Angelo Vendrame at 2025-05-22T15:45:18+02:00
Bug 1787790: Normalize system fonts with RFP on. r=emilio
System fonts can leak any user customization of system fonts, or user's
locale (e.g., en-US and ja Windows have different system fonts).
Also, Linux distributions/desktop environments set default fonts in
different ways.
Customization can be detected either with font metrics, the font allowed
list is not enabled or the font is included in it, or with
getComputedStyle, that leaks the name of the font that Firefox tries to
apply.
This patch try to prevent these leaks by using a generic "sans-serif"
for all system fonts, except on macOS, where it uses "-apple-system",
and on Android, where these fonts always use Roboto.
Differential Revision: https://phabricator.services.mozilla.com/D163576
- - - - -
472a448c by Eitan Isaacson at 2025-05-22T15:45:19+02:00
Bug 1819160 - Map Android ids to doc/accessible id pairs. r=Jamie
Differential Revision: https://phabricator.services.mozilla.com/D179737
- - - - -
559274bc by Fatih at 2025-05-22T15:45:20+02:00
Bug 1830629: Remove unnecessary checks for pdf.js for RFP. r=tjr
resource:// is exempt from RFP, so we no longer need to check pdf.js specifically.
Differential Revision: https://phabricator.services.mozilla.com/D209359
- - - - -
ef123261 by Pier Angelo Vendrame at 2025-05-22T15:45:20+02:00
Bug 1832523 - Allow using NSS to sign and verify MAR signatures. r=application-update-reviewers,glandium,bytesized
Allow using NSS for checking MAR signatures also in platforms where
OS-native APIs are used by default, i.e., macOS and Windows.
Differential Revision: https://phabricator.services.mozilla.com/D177743
- - - - -
123c6d71 by Pier Angelo Vendrame at 2025-05-22T15:45:21+02:00
Bug 1849129: Prevent exceptions caused by extensions from interrupting the SearchService initialization. r=search-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D186456
- - - - -
844f883b by Emilio Cobos Álvarez at 2025-05-22T15:45:22+02:00
Bug 1853731 - Use html:img for message-bar-icon. r=Gijs,dao,settings-reviewers,desktop-theme-reviewers,sfoster
Differential Revision: https://phabricator.services.mozilla.com/D188521
- - - - -
e01d10d2 by Pier Angelo Vendrame at 2025-05-22T15:45:22+02:00
Bug 1854117 - Sort the DLL blocklist flags. r=mossop,win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D188716
- - - - -
4dc30549 by Eden Chuang at 2025-05-22T15:45:23+02:00
Bug 1738426 - Ignoring status 206 and vary header checking for opaque response in Cache API. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D186431
- - - - -
b439fada by edgul at 2025-05-22T15:45:24+02:00
Bug 1802057 - Block the following characters from use in the cookie name in the cookie string: 0x3B (semi-colon), 0x3D (equals), and 0x7F (del) r=dveditz,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D182373
- - - - -
b90f8f12 by Kelsey Gilbert at 2025-05-22T15:45:24+02:00
Bug 1819497 - Don't race on static bool for initialization. r=gfx-reviewers,aosmond
We could do non-racy static init here (e.g. with a static initializer
self-calling-closure), but there doesn't seem to be a strong reason for
this. Let's just use a switch and get robustness from -Werror=switch.
Differential Revision: https://phabricator.services.mozilla.com/D188054
- - - - -
31275f3e by Edgar Chen at 2025-05-22T15:45:25+02:00
Bug 1828259 - Close XUL popup when entering/exiting fullscreen; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D209355
- - - - -
613765c4 by hackademix at 2025-05-22T15:45:26+02:00
Bug 1835987 - Change RFP-spoofed TZ to Atlantic/Reykjavik. r=tjr
Atlantic/Reykjavik stays on UTC during all the year, but it is less
likely to be blocked than plan UTC.
Differential Revision: https://phabricator.services.mozilla.com/D212131
- - - - -
e65a752b by edgul at 2025-05-22T15:45:26+02:00
Bug 1879952 - Fix test expectations with samesite=lax turned on r=tschuster
Differential Revision: https://phabricator.services.mozilla.com/D201639
- - - - -
4a6a99cc by Gijs Kruitbosch at 2025-05-22T15:45:27+02:00
Bug 1842187 a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D223948
Differential Revision: https://phabricator.services.mozilla.com/D228631
- - - - -
4df6ecc4 by edgul at 2025-05-22T15:45:28+02:00
Bug 1844827 - Added checks for sub-document navigations from cross-site to same-site in third-party checks when setting a cookie. r=cookie-reviewers,valentin,bvandersloot a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D204074
- - - - -
c231b153 by Ed at 2025-05-22T15:45:29+02:00
Bug 1844827 - Update the cookie test expectations for iframe samesite r=cookie-reviewers,valentin a=RyanVM
Depends on D199770
Differential Revision: https://phabricator.services.mozilla.com/D199772
- - - - -
4ac249f1 by Mark Banner at 2025-05-22T15:45:29+02:00
Bug 1845752. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D186676
- - - - -
f9a7b9ce by Pier Angelo Vendrame at 2025-05-22T15:45:30+02:00
Bug 1849186 - Add a preference not to expose the content title in the window title. r=Gijs,tabbrowser-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D190496
- - - - -
dde2af4f by Bob Owen at 2025-05-22T15:45:31+02:00
Bug 1850072: Initialize RecordedDrawTargetCreation::mHasExistingData. r=jrmuizel
This also specializes ElementStreamFormat for bool.
Differential Revision: https://phabricator.services.mozilla.com/D187794
- - - - -
71b1710a by Malte Juergens at 2025-05-22T15:45:31+02:00
Bug 1850200 - Add delay to HTTPS-Only "Continue to HTTPS Site" button r=freddyb
Differential Revision: https://phabricator.services.mozilla.com/D187887
- - - - -
5e0c2a75 by Henry Wilkes at 2025-05-22T15:45:32+02:00
Bug 1851618 - Allow removing packaged locales from requestedLocales. r=settings-reviewers,eemeli,Gijs
We open up the UI to allow the user to remove locales from their
requestedLocales list, except for the default locale.
Differential Revision: https://phabricator.services.mozilla.com/D209930
- - - - -
d9d62de4 by Andreas Pehrson at 2025-05-22T15:45:33+02:00
Bug 1851803 - Introduce SourceMediaTrack::mDirectDisabledMode. r=karlt
Similar to MediaTrack::mDisabledMode, but this is for uses on the
SourceMediaTrack producer thread. It is still signaled via a control message
from the control thread to maintain order of operations, and is protected by the
SourceMediaTrack mutex.
Differential Revision: https://phabricator.services.mozilla.com/D187554
- - - - -
347f9b4f by Pier Angelo Vendrame at 2025-05-22T15:45:34+02:00
Bug 1860020 - Remove the assertion on the value of toolkit.telemetry.enabled. r=KrisWright,chutten
Bug 1444275 introduced an assertion on the parent process to check that
the value of toolkit.telemetry.enabled is the expected one.
However, this expected value could be different from the one set and
locked e.g. in some forks. Therefore, the assertion prevented debug
builds from working in these cases.
Differential Revision: https://phabricator.services.mozilla.com/D195080
- - - - -
f7117fb5 by Kagami Sascha Rosylight at 2025-05-22T15:45:34+02:00
Bug 1865238 - Use One UI Sans KR VF for Korean sans-serif font on Android r=jfkthame
Per /etc/fonts.xml, there are now only two `<family lang="ko">` nodes there:
* OneUISansKRVF series
* SECCJK series (but no KR postfix anymore?)
This patch uses One UI Sans KR VF as the replacement as this is newer and is a variable font (tested with https://codepen.io/SaschaNaz/pen/ExrdYXJ)
Differential Revision: https://phabricator.services.mozilla.com/D195078
- - - - -
c1e3ed97 by Nuohan Li at 2025-05-22T15:45:35+02:00
Bug 1871109 - generateHash in Manifest.sys.mjs should use sha256 r=peterv, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D204928
- - - - -
7782f179 by Tom Ritter at 2025-05-22T15:45:36+02:00
Bug 1873526: Refactor the restriction override list from a big if statement to a list r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D198081
- - - - -
7a23f1fe by Nika Layzell at 2025-05-22T15:45:36+02:00
Bug 1875248 - Check for network error preventing ExternalHelperAppService before DONT_RETARGET, r=smaug
This reverts the change from 30cde47f9364e5c7da78fd08fa8ab21737d22399,
and instead re-orders the NS_ERROR_FILE_NOT_FOUND check before
DONT_RETARGET.
Testing suggests that a-download-click-404.html behaviour isn't
impacted, and this improves the handling of this edge-case when doing
process switching.
Differential Revision: https://phabricator.services.mozilla.com/D202007
- - - - -
1ccbfb35 by Pier Angelo Vendrame at 2025-05-22T15:45:37+02:00
Bug 1875306 - Localize numbers in the underflow and overflow error messages. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D198965
- - - - -
49485e49 by Pier Angelo Vendrame at 2025-05-22T15:45:38+02:00
Bug 1875313 - Use en-US as a fallback when spoof English is enabled in ICUUtils. r=timhuang,tjr
Differential Revision: https://phabricator.services.mozilla.com/D198967
- - - - -
a5c25275 by Julian Descottes at 2025-05-22T15:45:38+02:00
Bug 1880374 - Disable DNS prefetching if document nodePrincipal is systemPrincipal r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D210830
- - - - -
a87d44ab by Pier Angelo Vendrame at 2025-05-22T15:45:39+02:00
Bug 1880988 - Apply spoof English to the default detail summary. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D202203
- - - - -
78ec47a1 by Nika Layzell at 2025-05-22T15:45:40+02:00
Bug 1881037 - Part 1: Stop showing unknown protocol error pages for web-triggered loads, r=smaug,necko-reviewers,kershaw, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D217495
- - - - -
84791fe2 by Edgar Chen at 2025-05-22T15:45:41+02:00
Bug 1883396 - Exit fullscreen when two Escape keyup events occur in a short time; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D209667
- - - - -
bc633050 by Fatih at 2025-05-22T15:45:41+02:00
Bug 1885101: Match screen and window properties with top window for ScreenRect, ScreenAvailRect and WindowOuterSize. r=timhuang,emilio
This patch removes test_iframe.html. We remove it because the newly introduced test covers the tests done in that test. The reason for removing it in the first place is now that screen properties are inherited/spoofed xorigin, we get a 4px difference. The reasosn for 4px difference is the test runner runs tests in an iframe with a 2px border on each side.
Differential Revision: https://phabricator.services.mozilla.com/D215509
- - - - -
cfd45bfc by Tom Ritter at 2025-05-22T15:45:42+02:00
Bug 1885258: Hidden fonts should obey the allow list r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D204571
- - - - -
abb8e054 by Andreas Farre at 2025-05-22T15:45:43+02:00
Bug 1886222 - Start reload by calling reload in the parent. r=Gijs,canadahonk,smaug, a=dsmith (esr128->esr115 backport)
Differential Revision: https://phabricator.services.mozilla.com/D211519
- - - - -
04b998b8 by Jonathan Kew at 2025-05-22T15:45:43+02:00
Bug 1886598 - Struct with Pointer member may not be memmove-able. r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D206633
- - - - -
a2a0d284 by Jonathan Kew at 2025-05-22T15:45:44+02:00
Bug 1890204 - Ensure font entry's unitsPerEm and font extents are initialized when gfxFont is created. r=gfx-reviewers,lsalzman
This means that by the time we potentially call GetFontExtents() when drawing,
the extents fields are guaranteed to have been been initialized, and there's no
risk of the (read-only) access here racing with setting them in UnitsPerEm().
Differential Revision: https://phabricator.services.mozilla.com/D206920
- - - - -
6f24be5b by Kershaw Chang at 2025-05-22T15:45:45+02:00
Bug 1892449 - Set network.http.digest_auth_cnonce_length to 16, a=dmeehan
Apparently, setting this value to 64 breaks some sites. We should use the same length as Chrome.
Original Revision: https://phabricator.services.mozilla.com/D208103
Differential Revision: https://phabricator.services.mozilla.com/D208119
- - - - -
89b5a726 by cypherpunks1 at 2025-05-22T15:45:46+02:00
Bug 1892052 - Do not persist custom network requests on PBM. r=devtools-reviewers,bomsy,nchevobbe
Differential Revision: https://phabricator.services.mozilla.com/D207762
- - - - -
eecc6353 by Jonathan Kew at 2025-05-22T15:45:46+02:00
Bug 1893891 - Clear mSharedBlobData if blob creation failed. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D208983
Differential Revision: https://phabricator.services.mozilla.com/D209209
- - - - -
6eeb2008 by cypherpunks1 at 2025-05-22T15:45:47+02:00
Bug 1892046 - Add origin attributes to about:reader requests. r=reader-mode-reviewers,cmkm
Differential Revision: https://phabricator.services.mozilla.com/D207759
- - - - -
4f977af5 by Timothy Nikkel at 2025-05-22T15:45:48+02:00
Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin
If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel.
Differential Revision: https://phabricator.services.mozilla.com/D212083
- - - - -
a71bd9c1 by Jan de Mooij at 2025-05-22T15:45:49+02:00
Bug 1900523 - Don't use bailout data for JSJitToWasm frames. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D212554
- - - - -
ef4ddf37 by Jan de Mooij at 2025-05-22T15:45:49+02:00
Bug 1902983 - Don't use bailout data after iterating Wasm frames. a=RyanVM
This is similar to bug 1900523, but the fix there was incomplete because the
`JSJitToWasm` frame type is only used when we go through the Wasm JIT entry
trampoline. Ion can also call Wasm functions directly and in that case the type
will be `FrameType::Exit`.
Original Revision: https://phabricator.services.mozilla.com/D214098
Differential Revision: https://phabricator.services.mozilla.com/D214375
- - - - -
e1f2eed2 by Jon Coppeard at 2025-05-22T15:45:50+02:00
Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain
Differential Revision: https://phabricator.services.mozilla.com/D214799
- - - - -
2cc3a9de by Kershaw Chang at 2025-05-22T15:45:51+02:00
Bug 1907726 - Make sure WebTransportSessionProxy::NotifyDatagramReceived is called after OnStopRequest, a=RyanVM
The crash occurs because WebTransportSessionProxy::OnDatagramReceivedInternal is called before WebTransportSessionProxy::OnStopRequest.
When this happens, WebTransportSessionProxy::mTarget is the main thread, so a task is dispatched to the main thread. This causes WebTransportSessionProxy::NotifyDatagramReceived to be called on the main thread.
If WebTransportSessionProxy::NotifyDatagramReceived is invoked while WebTransportSessionProxy::mStopRequestCalled is true, it can lead to OnDatagramReceived being called on the main thread (instead of the socket thread), resulting in a crash.
Original Revision: https://phabricator.services.mozilla.com/D220013
Differential Revision: https://phabricator.services.mozilla.com/D221661
- - - - -
7422414f by Sam Foster at 2025-05-22T15:45:51+02:00
Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D217520
- - - - -
a502a2ae by Edgar Chen at 2025-05-22T15:45:52+02:00
Bug 1909535 - Don't show select dropdown in background tabs; a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D225706
Differential Revision: https://phabricator.services.mozilla.com/D227607
- - - - -
972434af by Nika Layzell at 2025-05-22T15:45:53+02:00
Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.
Differential Revision: https://phabricator.services.mozilla.com/D218860
- - - - -
9a107012 by Steve Fink at 2025-05-22T15:45:54+02:00
Bug 1912471 - Disallow deserializing structured clone buffers with transferables more than once r=iain, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D220644
- - - - -
bf3005f5 by Emilio Cobos Álvarez at 2025-05-22T15:45:54+02:00
Bug 1914106 - Deal with insertRule edge-case. r=jwatt a=RyanVM
When there's trailing garbage after an @import rule we throw, but we
still trigger the load (that's not great but not trivial to change).
Deal with that case before calling ImportRuleLoaded().
Differential Revision: https://phabricator.services.mozilla.com/D219783
- - - - -
0d565b63 by André Bargull at 2025-05-22T15:45:55+02:00
Bug 1915249: Add more nodiscard. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D220311
Differential Revision: https://phabricator.services.mozilla.com/D221663
- - - - -
0fa7e44d by Paul Zuehlcke at 2025-05-22T15:45:56+02:00
Bug 1916659, a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D222629
Differential Revision: https://phabricator.services.mozilla.com/D222934
- - - - -
59928f15 by Randell Jesup at 2025-05-22T15:45:56+02:00
Bug 1829029: clean up memory reporting for CacheFileIOManager r=necko-reviewers,valentin, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D221350
- - - - -
f177d134 by Valentin Gosu at 2025-05-22T15:45:57+02:00
Bug 1914521 - Make nsPartChannel inherit the content disposition of the multipart response a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D223728
Differential Revision: https://phabricator.services.mozilla.com/D224288
- - - - -
b2577d40 by Andrew McCreight at 2025-05-22T15:45:58+02:00
Bug 1919809 - Always clear mArgumentStorage in Console's Unlink. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D222803
Differential Revision: https://phabricator.services.mozilla.com/D224384
- - - - -
4611d68b by Paul Zuehlcke at 2025-05-22T15:45:59+02:00
Bug 1920423, a=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D224349
- - - - -
ec9da276 by Marco Bonardo at 2025-05-22T15:45:59+02:00
Bug 1921458. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D226775
Differential Revision: https://phabricator.services.mozilla.com/D227221
- - - - -
fbb83c4f by Andrew McCreight at 2025-05-22T15:46:00+02:00
Bug 1923706 - Pass by value, not reference in CamerasChild::AllocateCapture. a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D225121
Differential Revision: https://phabricator.services.mozilla.com/D225363
- - - - -
16e9995c by Kagami Sascha Rosylight at 2025-05-22T15:46:01+02:00
Bug 1924154 - Disallow too small record a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D225687
Differential Revision: https://phabricator.services.mozilla.com/D226147
- - - - -
8c807c90 by Kershaw Chang at 2025-05-22T15:46:02+02:00
Bug 1932783 - Make nsHostKey::flags Atomic, a=RyanVM
- - - - -
a8a8513e by Dana Keeler at 2025-05-22T15:46:02+02:00
Bug 1940804 - avoid some "as" casts in cert_storage a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D233775
Differential Revision: https://phabricator.services.mozilla.com/D233880
- - - - -
4b0fe950 by Emma Zuehlcke at 2025-05-22T15:46:03+02:00
Bug 1866661 - Tests, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D237737
- - - - -
81618633 by Rob Wu at 2025-05-22T15:46:04+02:00
Bug 1939087 - Truncate long name and log warning a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D233025
Differential Revision: https://phabricator.services.mozilla.com/D236900
- - - - -
6ffaa537 by Tom Schuster at 2025-05-22T15:46:04+02:00
Bug 1942022 - Improve the about:protections CSP. r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D234507
- - - - -
0b0c25e7 by Tom Schuster at 2025-05-22T15:46:05+02:00
Bug 1942025 - Improve the about:privatebrowsing CSP. r=firefox-desktop-core-reviewers ,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D234508
- - - - -
6acf0d6a by Nazım Can Altınova at 2025-05-22T15:46:06+02:00
Bug 1943912 - Do not reset the chunk manager while shutdown a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D235642
Differential Revision: https://phabricator.services.mozilla.com/D237219
- - - - -
f215a3df by Ray Kraesig at 2025-05-22T15:46:07+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
49a6a9d1 by Hubert Boma Manilla at 2025-05-22T15:46:07+02:00
Bug 1956698 - [devtools] Escape the method value r=devtools-reviewers,nchevobbe, a=dsmith
Differential Revision: https://phabricator.services.mozilla.com/D243799
- - - - -
432a8c8a by Henry Wilkes at 2025-05-22T15:46:08+02:00
Bug 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
86eea9a9 by hackademix at 2025-05-22T15:46:09+02:00
Bug 42194: Fix blank net error page on failed DNS resolution with active proxy.
- - - - -
5c17607c by Henry Wilkes at 2025-05-22T15:46:10+02:00
Bug 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
54a0fd23 by Marco Simonelli at 2025-05-22T15:46:10+02:00
Bug 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
5e496117 by Marco Simonelli at 2025-05-22T15:46:11+02:00
Bug 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
d908a277 by Marco Simonelli at 2025-05-22T15:46:12+02:00
Bug 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
697c1280 by Marco Simonelli at 2025-05-22T15:46:13+02:00
Bug 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
07cbfdc3 by Marco Simonelli at 2025-05-22T15:46:13+02:00
Bug 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
f4a03527 by Marco Simonelli at 2025-05-22T15:46:14+02:00
Bug 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
b9a70266 by hackademix at 2025-05-22T15:46:15+02:00
Bug 41854: Allow overriding download spam protection.
- - - - -
4179f8c4 by hackademix at 2025-05-22T15:46:15+02:00
Bug 42835: Create an actor to filter file data transfers
- - - - -
a80ef958 by Gaba at 2025-05-22T15:46:16+02:00
Adding issue and merge request templates
- - - - -
aab6a286 by Pier Angelo Vendrame at 2025-05-22T15:46:17+02:00
Base Browser's .mozconfigs.
Bug 17858: Cannot create incremental MARs for hardened builds.
Define HOST_CFLAGS, etc. to avoid compiling programs such as mbsdiff
(which is part of mar-tools and is not distributed to end-users) with
ASan.
Bug 21849: Don't allow SSL key logging.
Bug 25741 - TBA: Disable features at compile-time
Define MOZ_ANDROID_NETWORK_STATE and MOZ_ANDROID_LOCATION
Bug 27623 - Export MOZILLA_OFFICIAL during desktop builds
This fixes a problem where some preferences had the wrong default value.
Also see bug 27472 where we made a similar fix for Android.
Bug 29859: Disable HLS support for now
Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING
Bug 32493: Disable MOZ_SERVICES_HEALTHREPORT
Bug 33734: Set MOZ_NORMANDY to False
Bug 33851: Omit Parental Controls.
Bug 40252: Add --enable-rust-simd to our tor-browser mozconfig files
Bug 41584: Move some configuration options to base-browser level
- - - - -
3ecbee28 by Pier Angelo Vendrame at 2025-05-22T15:46:18+02:00
Tweaks to the build system
Bug 40857: Modified the fat .aar creation file
This is a workaround to build fat .aars with the compiling enviornment
disabled.
Mozilla does not use a similar configuration, but either runs a Firefox
build and discards its output, or uses artifacts build.
We might switch to artifact builds too, and drop this patch, or write a
better one to upstream. But until then we need this patch.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1763770.
Bug 41458: Prevent `mach package-multi-locale` from actually creating a package
macOS builds need some files to be moved around with
./mach package-multi-locale to create multi-locale packages.
The required command isn't exposed through any other mach command.
So, we patch package-multi-locale both to prevent it from failing when
doing official builds and to detect any future changes on it.
- - - - -
7deb6073 by Pier Angelo Vendrame at 2025-05-22T15:46:18+02:00
Bug 41108: Remove privileged macOS installation from 102
- - - - -
19b6e580 by Dan Ballard at 2025-05-22T15:46:19+02:00
Bug 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
9c9b45c9 by Matthew Finkel at 2025-05-22T15:46:20+02:00
Bug 24796: Comment out excess permissions from GeckoView
The GeckoView AndroidManifest.xml is not preprocessed unlike Fennec's
manifest, so we can't use the ifdef preprocessor guards around the
permissions we do not want. Commenting the permissions is the
next-best-thing.
- - - - -
c6695b5d by Matthew Finkel at 2025-05-22T15:46:21+02:00
Bug 28125: Prevent non-Necko network connections
- - - - -
39e324d7 by Mike Perry at 2025-05-22T15:46:21+02:00
Bug 12974: Disable NTLM and Negotiate HTTP Auth
The Mozilla bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1046421,
https://bugzilla.mozilla.org/show_bug.cgi?id=1261591, tor-browser#27602
- - - - -
79a57e55 by Alex Catarineu at 2025-05-22T15:46:22+02:00
Bug 40166: Disable security.certerrors.mitm.auto_enable_enterprise_roots
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1768899
- - - - -
54505c09 by Georg Koppen at 2025-05-22T15:46:23+02:00
Bug 16285: Exclude ClearKey system for now
In the past the ClearKey system had not been compiled when specifying
--disable-eme. But that changed and it is even bundled nowadays (see:
Mozilla's bug 1300654). We don't want to ship it right now as the use
case for it is not really visible while the code had security
vulnerabilities in the past.
- - - - -
65afc118 by Kathy Brade at 2025-05-22T15:46:24+02:00
Bug 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
7ed4bb2c by Kathy Brade at 2025-05-22T15:46:24+02:00
Bug 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc.
Hide elements on about:logins that mention sync, "Firefox LockWise", and
Mozilla's LockWise mobile apps.
Disable the "Create New Login" button when security.nocertdb is true.
- - - - -
fc3de654 by Alex Catarineu at 2025-05-22T15:46:25+02:00
Bug 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
18186b2f by Kathy Brade at 2025-05-22T15:46:26+02:00
Bug 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
Bug 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
d0e04445 by Arthur Edelstein at 2025-05-22T15:46:26+02:00
Bug 26353: Prevent speculative connect that violated FPI.
Connections were observed in the catch-all circuit when
the user entered an https or http URL in the URL bar, or
typed a search term.
- - - - -
22ad129a by Alex Catarineu at 2025-05-22T15:46:27+02:00
Bug 31740: Remove some unnecessary RemoteSettings instances
More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.
Avoid creating instance for 'anti-tracking-url-decoration'.
If prefs are disabling their usage, avoid creating instances for
'cert-revocations' and 'intermediates'.
Do not ship JSON dumps for collections we do not expect to need. For
the ones in the 'main' bucket, this prevents them from being synced
unnecessarily (the code in remote-settings does so for collections
in the main bucket for which a dump or local data exists). For the
collections in the other buckets, we just save some size by not
shipping their dumps.
We also clear the collections database on the v2 -> v3 migration.
- - - - -
3a876e08 by cypherpunks1 at 2025-05-22T15:46:28+02:00
Bug 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
526df7ba by Pier Angelo Vendrame at 2025-05-22T15:46:29+02:00
Bug 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
8c951e5c by Georg Koppen at 2025-05-22T15:46:29+02:00
Bug 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
c9b44ec5 by Alex Catarineu at 2025-05-22T15:46:30+02:00
Bug 28369: Stop shipping pingsender executable
- - - - -
ee28a301 by cypherpunks1 at 2025-05-22T15:46:31+02:00
Bug 41568: Disable LaterRun
- - - - -
59c57e66 by cypherpunks1 at 2025-05-22T15:46:32+02:00
Bug 40717: Hide Windows SSO in settings
- - - - -
eb3d3199 by Pier Angelo Vendrame at 2025-05-22T15:46:32+02:00
Bug 41599: Always return an empty string as network ID
Firefox computes an internal network ID used to detect network changes
and act consequently (e.g., to improve WebSocket UX).
However, there are a few ways to get this internal network ID, so we
patch them out, to be sure any new code will not be able to use them and
possibly link users.
We also sent a patch to Mozilla to seed the internal network ID, to
prevent any accidental leak in the future.
Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1817756
- - - - -
a5bb7785 by Richard Pospesel at 2025-05-22T15:46:33+02:00
Bug 41327: Disable UrlbarProviderInterventions
- - - - -
cd3a888b by Richard Pospesel at 2025-05-22T15:46:34+02:00
Bug 42037: Disable about:firefoxview page
- - - - -
458ace59 by Mike Perry at 2025-05-22T15:54:29+02:00
Firefox preference overrides.
This hack directly includes our preference changes in omni.ja.
Bug 18292: Staged updates fail on Windows
Temporarily disable staged updates on Windows.
Bug 18297: Use separate Noto JP,KR,SC,TC fonts
Bug 23404: Add Noto Sans Buginese to the macOS whitelist
Bug 23745: Set dom.indexedDB.enabled = true
Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
(Fernando Fernandez Mancera <ffmancera(a)riseup.net>)
Bug 17252: Enable session identifiers with FPI
Session tickets and session identifiers were isolated
by OriginAttributes, so we can re-enable them by
allowing the default value (true) of
"security.ssl.disable_session_identifiers".
The pref "security.enable_tls_session_tickets" is obsolete
(removed in https://bugzilla.mozilla.org/917049)
Bug 14952: Enable http/2 and AltSvc
In Firefox, SPDY/HTTP2 now uses Origin Attributes for
isolation of connections, push streams, origin frames, etc.
That means we get first-party isolation provided
"privacy.firstparty.isolate" is true. So in this patch, we
stop overriding "network.http.spdy.enabled" and
"network.http.spdy.enabled.http2".
Alternate Services also use Origin Attributes for isolation.
So we stop overriding
"network.http.altsvc.enabled" and "network.http.altsvc.oe"
as well.
(All 4 of the abovementioned "network.http.*" prefs adopt
Firefox 60ESR's default value of true.)
However, we want to disable HTTP/2 push for now, so we
set "network.http.spdy.allow-push" to false.
"network.http.spdy.enabled.http2draft" was removed in Bug 1132357.
"network.http.sped.enabled.v2" was removed in Bug 912550.
"network.http.sped.enabled.v3" was removed in Bug 1097944.
"network.http.sped.enabled.v3-1" was removed in Bug 1248197.
Bug 26114: addons.mozilla.org is not special
* Don't expose navigator.mozAddonManager on any site
* Don't block NoScript from modifying addons.mozilla.org or other sites
Enable ReaderView mode again (#27281).
Bug 29916: Make sure enterprise policies are disabled
Bug 2874: Block Components.interfaces from content
Bug 26146: Spoof HTTP User-Agent header for desktop platforms
In Tor Browser 8.0, the OS was revealed in both the HTTP User-Agent
header and to JavaScript code via navigator.userAgent. To avoid
leaking the OS inside each HTTP request (which many web servers
log), always use the Windows 7 OS value in the desktop User-Agent
header. We continue to allow access to the actual OS via JavaScript,
since doing so improves compatibility with web applications such
as GitHub and Google Docs.
Bug 12885: Windows Jump Lists fail for Tor Browser
Jumplist entries are stored in a binary file in:
%APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
and has a name in the form
[a-f0-9]+.customDestinations-ms
The hex at the front is unique per app, and is ultimately derived from
something called the 'App User Model ID' (AUMID) via some unknown
hashing method. The AUMID is provided as a key when programmatically
creating, updating, and deleting a jumplist. The default behaviour in
firefox is for the installer to define an AUMID for an app, and save it
in the registry so that the jumplist data can be removed by the
uninstaller.
However, the Tor Browser does not set this (or any other) regkey during
installation, so this codepath fails and the app's AUMID is left
undefined. As a result the app's AUMID ends up being defined by
windows, but unknowable by Tor Browser. This unknown AUMID is used to
create and modify the jumplist, but the delete API requires that we
provide the app's AUMID explicitly. Since we don't know what the AUMID
is (since the expected regkey where it is normally stored does not
exist) jumplist deletion will fail and we will leave behind a mostly
empty customDestinations-ms file. The name of the file is derived from
the binary path, so an enterprising person could reverse engineer how
that hex name is calculated, and generate the name for Tor Browser's
default Desktop installation path to determine whether a person had
used Tor Browser in the past.
The 'taskbar.grouping.useprofile' option that is enabled by this patch
works around this AUMID problem by having firefox.exe create it's own
AUMID based on the profile path (rather than looking for a regkey). This
way, if a user goes in and enables and disables jumplist entries, the
backing store is properly deleted.
Unfortunately, all windows users currently have this file lurking in
the above mentioned directory and this patch will not remove it since it
was created with an unknown AUMID. However, another patch could be
written which goes to that directory and deletes any item containing the
'Tor Browser' string. See bug 28996.
Bug 30845: Make sure default themes and other internal extensions are enabled
Bug 28896: Enable extensions in private browsing by default
Bug 31065: Explicitly allow proxying localhost
Bug 31598: Enable letterboxing
Disable Presentation API everywhere
Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
security levels.
Bug 32321: Disable Mozilla's MitM pings
Bug 19890: Disable installation of system addons
By setting the URL to "" we make sure that already installed system
addons get deleted as well.
Bug 22548: Firefox downgrades VP9 videos to VP8.
On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
Browser 7.0 all youtube videos are degraded to VP8.
This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
All clients will get better experience and lower traffic, beause TBB doesn't
use "Use hardware acceleration when available".
Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
Bug 16441: Suppress "Reset Tor Browser" prompt.
Bug 29120: Use the in-memory media cache and increase its maximum size.
Bug 33697: use old search config based on list.json
Bug 33855: Ensure that site-specific browser mode is disabled.
Bug 30682: Disable Intermediate CA Preloading.
Bug 40061: Omit the Windows default browser agent from the build
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40408: Disallow SVG Context Paint in all web content
Bug 40308: Disable network partitioning until we evaluate dFPI
Bug 40322: Consider disabling network.connectivity-service.enabled
Bug 40383: Disable dom.enable_event_timing
Bug 40423: Disable http/3
Bug 40177: Update prefs for Fx91esr
Bug 40700: Disable addons and features recommendations
Bug 40682: Disable network.proxy.allow_bypass
Bug 40736: Disable third-party cookies in PBM
Bug 19850: Enabled HTTPS-Only by default
Bug 40912: Hide the screenshot menu
Bug 41292: Disable moreFromMozilla in preferences page
Bug 40057: Ensure the CSS4 system colors are not a fingerprinting vector
Bug 24686: Set network.http.tailing.enabled to true
Bug 40183: Disable TLS ciphersuites using SHA-1
Bug 40783: Review 000-tor-browser.js and 001-base-profile.js for 102
We reviewed all the preferences we set for 102, and remove a few old
ones. See the description of that issue to see all the preferences we
believed were still valid for 102, and some brief description for the
reasons to keep them.
- - - - -
cbb69807 by Pier Angelo Vendrame at 2025-05-22T15:54:30+02:00
Bug 41043: Hardcode the UI font on Linux
The mechanism to choose the UI font does not play well with our
fontconfig configuration. As a result, the final criterion to choose
the font for the UI was its version.
Since we hardcode Arimo as a default sans-serif on preferences, we use
it also for the UI. FontConfig will fall back to some other font for
scripts Arimo does not cover as expected (we tested with Japanese).
- - - - -
3a4e4597 by Pier Angelo Vendrame at 2025-05-22T15:54:30+02:00
Bug 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
05d45261 by Alex Catarineu at 2025-05-22T15:54:31+02:00
Bug 30605: Honor privacy.spoof_english in Android
This checks `privacy.spoof_english` whenever `setLocales` is
called from Fenix side and sets `intl.accept_languages`
accordingly.
Bug 40198: Expose privacy.spoof_english pref in GeckoView
- - - - -
9bd2e795 by Pier Angelo Vendrame at 2025-05-22T15:54:32+02:00
Bug 42562: Normalized the Accepted Languages on Android.
The OS language might be outside the list of actually supported
languages and it might leak the user's region.
Therefore, we force the locale reported in Accept-Language to match one
we support with translations, even when it means using a not exact
region tag.
- - - - -
abd146b2 by Alex Catarineu at 2025-05-22T15:54:32+02:00
Bug 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
e5260944 by Alex Catarineu at 2025-05-22T15:54:33+02:00
Bug 26345: Hide tracking protection UI
- - - - -
c9d8026d by Pier Angelo Vendrame at 2025-05-22T15:54:34+02:00
Bug 9173: Change the default Firefox profile directory to be relative.
This commit makes Firefox look for the default profile directory in a
directory relative to the binary path.
The directory can be specified through the --with-relative-data-dir.
This is relative to the same directory as the firefox main binary for
Linux and Windows.
On macOS, we remove Contents/MacOS from it.
Or, in other words, the directory is relative to the application
bundle.
This behavior can be overriden at runtime, by placing a file called
system-install adjacent to the firefox main binary (also on macOS).
- - - - -
b55b02db by Alex Catarineu at 2025-05-22T15:54:35+02:00
Bug 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
f9b9c530 by Mike Perry at 2025-05-22T15:54:35+02:00
Bug 13028: Prevent potential proxy bypass cases.
It looks like these cases should only be invoked in the NSS command line
tools, and not the browser, but I decided to patch them anyway because there
literally is a maze of network function pointers being passed around, and it's
very hard to tell if some random code might not pass in the proper proxied
versions of the networking code here by accident.
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1433509
- - - - -
a5b42c2f by Pier Angelo Vendrame at 2025-05-22T15:54:36+02:00
Bug 40309: Avoid using regional OS locales
Avoid regional OS locales if the pref
`intl.regional_prefs.use_os_locales` is false but RFP is enabled.
- - - - -
0d873fc4 by Matthew Finkel at 2025-05-22T15:54:37+02:00
Bug 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
b33db85c by cypherpunks1 at 2025-05-22T15:54:37+02:00
Bug 33955: When copying an image only copy the image contents to the clipboard
- - - - -
ce1da274 by cypherpunks1 at 2025-05-22T15:54:38+02:00
Bug 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
d0cc0399 by hackademix at 2025-05-22T15:54:39+02:00
Bug 42288: Allow language spoofing in status messages.
- - - - -
86663b4f by Richard Pospesel at 2025-05-22T15:54:40+02:00
Bug 41659: Add canonical color definitions to base-browser
- - - - -
b784e8d7 by Pier Angelo Vendrame at 2025-05-22T15:54:40+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
c1d20c5a by Pier Angelo Vendrame at 2025-05-22T15:54:41+02:00
Bug 41369: Improve Firefox language settings for multi-lingual packages
Change the language selector to be sorted by language code, rather than
name, and to display the language code to the user.
Bug 41372: Handle Japanese as a special case in preferences on macOS
Japanese is treated in a special way on macOS. However, seeing the
Japanese language tag could be confusing for users, and moreover the
language name is not localized correctly like other langs.
Bug 41378: Tell users that they can change their language at the first start
With multi-lingual builds, Tor Browser matches the user's system
language, but some users might want to change it.
So, we tell them that it is possible, but only once.
- - - - -
2f9f1089 by p13dz at 2025-05-22T15:54:42+02:00
Bug 40283: Workaround for the file upload bug
- - - - -
48461fb9 by Arthur Edelstein at 2025-05-22T15:54:43+02:00
Bug 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
a503ed4f by Pier Angelo Vendrame at 2025-05-22T15:54:43+02:00
Bug 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
ec14fa11 by hackademix at 2025-05-22T15:54:44+02:00
Bug 42019: Empty browser's clipboard on browser shutdown
- - - - -
1193b147 by hackademix at 2025-05-22T15:54:45+02:00
Bug 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
cd65873e by Pier Angelo Vendrame at 2025-05-22T15:54:46+02:00
Bug 41930: Remove the UI to customize accept_languages.
- - - - -
5f0eca8c by Pier Angelo Vendrame at 2025-05-22T15:54:46+02:00
Bug 42376: Pass the locale list when constructing l10n in datetimebox
The datetime input is inconsistent with other inputs when using spoof
English: its placeholder is not translated, unlike the default values
and texts of all the other inputs.
- - - - -
43c45a41 by Pier Angelo Vendrame at 2025-05-22T15:54:47+02:00
Bug 42428: Make RFP spoof the timezone of document.lastModified.
- - - - -
0e716095 by Pier Angelo Vendrame at 2025-05-22T15:54:48+02:00
Bug 42472: Spoof timezone in XSLT.
- - - - -
6f0daa11 by hackademix at 2025-05-22T15:54:49+02:00
Bug 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs.
- - - - -
54c58173 by hackademix at 2025-05-22T15:54:49+02:00
Bug 41434: Letterboxing, improve logging.
- - - - -
ca1125c8 by hackademix at 2025-05-22T15:54:50+02:00
Bug 31064: Letterboxing, exempt browser extensions.
- - - - -
631d39ed by hackademix at 2025-05-22T15:54:51+02:00
Bug 32411: Letterboxing, exempt view-source: URIs.
- - - - -
df25fdd0 by hackademix at 2025-05-22T15:54:52+02:00
Bug 42574: Letterboxing, exempt pdf.js.
- - - - -
8d25b3c1 by hackademix at 2025-05-22T15:54:52+02:00
Bug 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
ae781473 by hackademix at 2025-05-22T15:54:53+02:00
Bug 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
eb1a9f77 by hackademix at 2025-05-22T15:54:54+02:00
Bug 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
6c51834c by hackademix at 2025-05-22T15:54:55+02:00
Bug 41916: Letterboxing preferences UI
- - - - -
473f8416 by hackademix at 2025-05-22T15:54:55+02:00
Bug 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
422bad5b by hackademix at 2025-05-22T15:54:56+02:00
Bug 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
95942c84 by Henry Wilkes at 2025-05-22T15:54:57+02:00
Bug 42528: Don't leak system scrollbar size on windows.
- - - - -
1ff24d24 by Henry Wilkes at 2025-05-22T15:54:58+02:00
Bug 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
9056c729 by Kathy Brade at 2025-05-22T15:54:58+02:00
Bug 4234: Use the Firefox Update Process for Base Browser.
Windows: disable "runas" code path in updater (15201).
Windows: avoid writing to the registry (16236).
Also includes fixes for tickets 13047, 13301, 13356, 13594, 15406,
16014, 16909, 24476, and 25909.
Also fix bug 27221: purge the startup cache if the Base Browser
version changed (even if the Firefox version and build ID did
not change), e.g., after a minor Base Browser update.
Also fix 32616: Disable GetSecureOutputDirectoryPath() functionality.
Bug 26048: potentially confusing "restart to update" message
Within the update doorhanger, remove the misleading message that mentions
that windows will be restored after an update is applied, and replace the
"Restart and Restore" button label with an existing
"Restart to update Tor Browser" string.
Bug 28885: notify users that update is downloading
Add a "Downloading Base Browser update" item which appears in the
hamburger (app) menu while the update service is downloading a MAR
file. Before this change, the browser did not indicate to the user
that an update was in progress, which is especially confusing in
Tor Browser because downloads often take some time. If the user
clicks on the new menu item, the about dialog is opened to allow
the user to see download progress.
As part of this fix, the update service was changed to always show
update-related messages in the hamburger menu, even if the update
was started in the foreground via the about dialog or via the
"Check for Tor Browser Update" toolbar menu item. This change is
consistent with the Tor Browser goal of making sure users are
informed about the update process.
Removed #28885 parts of this patch which have been uplifted to Firefox.
- - - - -
50ede510 by Pier Angelo Vendrame at 2025-05-22T15:54:59+02:00
Bug 42061: Create an alpha update channel.
- - - - -
c490aeb1 by Nicolas Vigier at 2025-05-22T15:55:00+02:00
Bug 41682: Add base-browser nightly mar signing key
- - - - -
27b60ecf by Pier Angelo Vendrame at 2025-05-22T15:55:01+02:00
Bug 41603: Customize the creation of MOZ_SOURCE_URL
MOZ_SOURCE_URL is created by combining MOZ_SOURCE_REPO and
MOZ_SOURCE_CHANGESET.
But the code takes for granted that it refers to a Hg instance, so it
combines them as `$MOZ_SOURCE_REPO/rev/$MOZ_SOURCE_CHANGESET`.
With this commit, we change this logic to combine them to create a URL
that is valid for GitLab.
$MOZ_SOURCE_CHANGESET needs to be a commit hash, not a branch or a tag.
If that is needed, we could use /-/tree/, instead of /-/commit/.
- - - - -
79722491 by Pier Angelo Vendrame at 2025-05-22T15:55:01+02:00
Bug 41698: Reword the recommendation badges in about:addons
Firefox strings use { -brand-product-name }.
As a result, it seems that the fork is recommending extensions, whereas
AMO curators are doing that.
So, we replace the strings with custom ones that clarify that Mozilla is
recommending them.
We assign the strings with JS because our translation backend does not
support Fluent attributes, yet, but once it does, we should switch to
them, instead.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033
- - - - -
627b0c6e by Pier Angelo Vendrame at 2025-05-22T15:55:02+02:00
Bug 42438: Tweaks to the migration wizard.
Remove the items not compatible with our features (such as history) from
the migration wizard.
On Linux, allow to specify an alternative home directory, since we
usually change $HOME in our startup script.
- - - - -
c44581da by Alex Catarineu at 2025-05-22T15:55:03+02:00
Bug 40069: Add helpers for message passing with extensions
- - - - -
801e9f84 by Matthew Finkel at 2025-05-22T15:55:04+02:00
Bug 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
b1821561 by Henry Wilkes at 2025-05-22T15:55:04+02:00
Bug 41736: Hide NoScript extension's toolbar button by default.
This hides it from both the toolbar and the unified extensions panel.
We also hide the unified-extension-button if the panel would be empty:
not including the NoScript button when it is hidden. As a result, this
will be hidden by default until a user installs another extension (or
shows the NoScript button and unpins it).
- - - - -
1c06235d by hackademix at 2025-05-22T15:55:05+02:00
Bug 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
de588253 by Pier Angelo Vendrame at 2025-05-22T15:55:06+02:00
Bug 40925: Implemented the Security Level component
This component adds a new Security Level toolbar button which visually
indicates the current global security level via icon (as defined by the
extensions.torbutton.security_slider pref), a drop-down hanger with a
short description of the current security level, and a new section in
the about:preferences#privacy page where users can change their current
security level. In addition, the hanger and the preferences page will
show a visual warning when the user has modified prefs associated with
the security level and provide a one-click 'Restore Defaults' button to
get the user back on recommended settings.
Bug 40125: Expose Security Level pref in GeckoView
- - - - -
7c98118a by Pier Angelo Vendrame at 2025-05-22T15:55:07+02:00
Bug 40926: Implemented the New Identity feature
- - - - -
38f87ca8 by Henry Wilkes at 2025-05-22T15:55:07+02:00
Bug 41736: Customize toolbar for base-browser.
- - - - -
03996944 by Pier Angelo Vendrame at 2025-05-22T15:55:08+02:00
Bug 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
17b5a080 by Henry Wilkes at 2025-05-22T15:55:09+02:00
Bug 42583: Modify moz-support-link for Base Browser.
- - - - -
bf90b9eb by Henry Wilkes at 2025-05-22T15:55:10+02:00
Bug 42347: Add a notification for dropped OS version support.
- - - - -
37654d8c by hackademix at 2025-05-22T15:55:10+02:00
Bug 42832: Download spam prevention exemption for browser extensions.
- - - - -
89b5e24e by Pier Angelo Vendrame at 2025-05-22T15:55:11+02:00
Bug 42467: Make OS HTTP User-Agent OS spoofing configurable by pref
This commits makes it possible to disable OS spoofing in the HTTP
User-Agent header, to see if matching header and JS property improve
usability.
- - - - -
098cb80e by Henry Wilkes at 2025-05-22T15:55:12+02:00
Bug 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
fb559242 by Richard Pospesel at 2025-05-22T15:55:13+02:00
Bug 41649: Create rebase and security backport gitlab issue templates
- - - - -
8b2d74ae by Beatriz Rizental at 2025-05-22T15:55:14+02:00
Add CI for Tor Browser
- - - - -
36fca2e8 by Richard Pospesel at 2025-05-22T15:55:14+02:00
Bug 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
2ef407e9 by Henry Wilkes at 2025-05-22T15:55:15+02:00
Bug 41803: Add some developer tools for working on tor-browser.
- - - - -
79032dc8 by Kathy Brade at 2025-05-22T15:55:16+02:00
Bug 11641: Disable remoting by default.
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
- - - - -
d61ba12f by Alex Catarineu at 2025-05-22T15:55:17+02:00
Add TorStrings module for localization
- - - - -
5ef0bb28 by Henry Wilkes at 2025-05-22T15:55:17+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
6b0f2edd by Henry Wilkes at 2025-05-22T15:55:18+02:00
Tor Browser localization migration scripts.
- - - - -
4873ca81 by Henry Wilkes at 2025-05-22T15:55:19+02:00
Bug 42305: Add script to combine translation files across versions.
- - - - -
2dcaaed6 by Mike Perry at 2025-05-22T15:55:20+02:00
Bug 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
9f1130f6 by Henry Wilkes at 2025-05-22T15:55:21+02:00
Bug 42583: Modify moz-support-link for Tor Browser.
- - - - -
23f3ff6b by hackademix at 2025-05-22T15:55:21+02:00
Bug 41917: Tor brand-specific styles.
- - - - -
36de6e4d by Henry Wilkes at 2025-05-22T15:55:22+02:00
Add purple tor version of the loading APNG.
- - - - -
3532dcf9 by sanketh at 2025-05-22T15:55:23+02:00
Bug 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
8465a10c by Mike Perry at 2025-05-22T15:55:24+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
e1d48891 by Henry Wilkes at 2025-05-22T15:55:24+02:00
Bug 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
c5f9f66c by Pier Angelo Vendrame at 2025-05-22T15:55:25+02:00
Bug 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
2514dddf by Pier Angelo Vendrame at 2025-05-22T15:55:26+02:00
Bug 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
55451dd4 by Pier Angelo Vendrame at 2025-05-22T15:55:27+02:00
Bug 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
36f05ec4 by Cecylia Bocovich at 2025-05-22T15:55:27+02:00
Lox integration
- - - - -
5bf79de8 by Richard Pospesel at 2025-05-22T15:55:28+02:00
Bug 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
3369b6f8 by Arthur Edelstein at 2025-05-22T15:55:29+02:00
Bug 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
6c79b47e by Henry Wilkes at 2025-05-22T15:55:30+02:00
Bug 41600: Add a tor circuit display panel.
- - - - -
5c361b81 by Pier Angelo Vendrame at 2025-05-22T15:55:31+02:00
Bug 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
f38c9e21 by hackademix at 2025-05-22T15:55:31+02:00
Bug 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
f54cf0cf by Amogh Pradeep at 2025-05-22T15:55:32+02:00
Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
See Bug 1357997 for partial uplift.
Also:
Bug 28051 - Use our Orbot for proxying our connections
Bug 31144 - ESR68 Network Code Review
- - - - -
b80d9bab by Matthew Finkel at 2025-05-22T15:55:33+02:00
Bug 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
d0d2c763 by Kathy Brade at 2025-05-22T15:55:34+02:00
Bug 14631: Improve profile access error messages.
Instead of always reporting that the profile is locked, display specific
messages for "access denied" and "read-only file system".
To allow for localization, get profile-related error strings from Torbutton.
Use app display name ("Tor Browser") in profile-related error alerts.
- - - - -
62152ebe by Pier Angelo Vendrame at 2025-05-22T15:55:34+02:00
Bug 40807: Added QRCode.js to toolkit/modules
- - - - -
6e7a1ec0 by Richard Pospesel at 2025-05-22T15:55:35+02:00
Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
9bb8c5dd by Richard Pospesel at 2025-05-22T15:55:36+02:00
Bug 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
c1578de2 by Pier Angelo Vendrame at 2025-05-22T15:55:37+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
835a27d6 by Henry Wilkes at 2025-05-22T15:55:38+02:00
Bug 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
6823239d by henry at 2025-05-22T15:55:38+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43556: Rename "Not now" to "Dismiss" in the survey banner.
(cherry picked from commit e063bf8bffcb74cd18d6873d9bdfc85fafbc42b8)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
a15a634b by henry at 2025-05-22T15:55:39+02:00
fixup! TB 7494: Create local home page for TBB.
TB 43647: Use the app locale directly from the parent actor for
setting the survey banner's language.
(cherry picked from commit bc19a47cb9a1fe45e7cd9ecbb7b4a25063aa3891)
Co-authored-by: Henry Wilkes <henry(a)torproject.org>
- - - - -
93b5bdb5 by Arthur Edelstein at 2025-05-22T15:55:40+02:00
Bug 12620: TorBrowser regression tests
Regression tests for Bug #2950: Make Permissions Manager memory-only
Regression tests for TB4: Tor Browser's Firefox preference overrides.
Note: many more functional tests could be made here
Regression tests for #2874: Block Components.interfaces from content
Bug 18923: Add a script to run all Tor Browser specific tests
Regression tests for Bug #16441: Suppress "Reset Tor Browser" prompt.
- - - - -
c505ae48 by Pier Angelo Vendrame at 2025-05-22T15:55:41+02:00
Bug 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
0baa0064 by Kathy Brade at 2025-05-22T15:55:41+02:00
Bug 12647: Support symlinks in the updater.
- - - - -
3f995430 by Kathy Brade at 2025-05-22T15:55:42+02:00
Bug 16940: After update, load local change notes.
Add an about:tbupdate page that displays the first section from
TorBrowser/Docs/ChangeLog.txt and includes a link to the remote
post-update page (typically our blog entry for the release).
Always load about:tbupdate in a content process, but implement the
code that reads the file system (changelog) in the chrome process
for compatibility with future sandboxing efforts.
Also fix bug 29440. Now about:tbupdate is styled as a fairly simple
changelog page that is designed to be displayed via a link that is on
about:tor.
- - - - -
ffbdbcba by Georg Koppen at 2025-05-22T15:55:43+02:00
Bug 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
0d0b07d1 by Mike Perry at 2025-05-22T15:55:44+02:00
Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
eBay and Amazon don't treat Tor users very well. Accounts often get locked and
payments reversed.
Also:
Bug 16322: Update DuckDuckGo search engine
We are replacing the clearnet URL with an onion service one (thanks to a
patch by a cypherpunk) and are removing the duplicated DDG search
engine. Duplicating DDG happend due to bug 1061736 where Mozilla
included DDG itself into Firefox. Interestingly, this caused breaking
the DDG search if JavaScript is disabled as the Mozilla engine, which
gets loaded earlier, does not use the html version of the search page.
Moreover, the Mozilla engine tracked where the users were searching from
by adding a respective parameter to the search query. We got rid of that
feature as well.
Also:
This fixes bug 20809: the DuckDuckGo team has changed its server-side
code in a way that lets users with JavaScript enabled use the default
landing page while those without JavaScript available get redirected
directly to the non-JS page. We adapt the search engine URLs
accordingly.
Also fixes bug 29798 by making sure we only specify the Google search
engine we actually ship an .xml file for.
Also regression tests.
squash! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 40494: Update Startpage search provider
squash! Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
Bug 40438: Add Blockchair as a search engine
Bug 33342: Avoid disconnect search addon error after removal.
We removed the addon in #32767, but it was still being loaded
from addonStartup.json.lz4 and throwing an error on startup
because its resource: location is not available anymore.
- - - - -
c5e123fa by Alex Catarineu at 2025-05-22T15:55:45+02:00
Bug 40073: Disable remote Public Suffix List fetching
In https://bugzilla.mozilla.org/show_bug.cgi?id=1563246 Firefox implemented
fetching the Public Suffix List via RemoteSettings and replacing the default
one at runtime, which we do not want.
- - - - -
9c05e57c by Henry Wilkes at 2025-05-22T15:55:45+02:00
Bug 41906: Hide DNS over HTTPS preferences.
- - - - -
c1b0d687 by Richard Pospesel at 2025-05-22T15:55:46+02:00
Bug 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
45516063 by Kathy Brade at 2025-05-22T15:55:47+02:00
Bug 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
0230b138 by Alex Catarineu at 2025-05-22T15:55:48+02:00
Bug 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
103d3018 by Pier Angelo Vendrame at 2025-05-22T15:55:48+02:00
Bug 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
6d5567ca by Henry Wilkes at 2025-05-22T15:55:49+02:00
fixup! TB 40458: Implement .tor.onion aliases
TB 43443: Drop au.securedrop.tor.onion effective TLD.
- - - - -
13060bef by Pier Angelo Vendrame at 2025-05-22T15:55:50+02:00
Bug 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
720900b6 by Pier Angelo Vendrame at 2025-05-22T15:55:51+02:00
Bug 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
5e2d9f23 by Henry Wilkes at 2025-05-22T15:55:52+02:00
Bug 42110: Add TorUIUtils module for common tor component methods.
- - - - -
6345d7dc by Dan Ballard at 2025-05-22T15:55:52+02:00
Bug 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
a68d0a15 by Henry Wilkes at 2025-05-22T15:55:53+02:00
Bug 41736: Customize toolbar for tor-browser.
- - - - -
2030069b by hackademix at 2025-05-22T15:55:54+02:00
Bug 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
b0928aad by Henry Wilkes at 2025-05-22T15:55:55+02:00
Customize moz-toggle for tor-browser.
- - - - -
f5271be3 by Richard Pospesel at 2025-05-22T15:55:55+02:00
Bug 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
525b52c4 by Cecylia Bocovich at 2025-05-22T15:55:56+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
824dcceb by Henry Wilkes at 2025-05-22T15:55:57+02:00
TEMPORARY: Copy torbrowser_strings.xml to the 13.5 branch.
NOTE: Only needed for the `tor-browser` `13.5` branches.
Bug 42480: Make sure the torbrowser_strings.xml file is in the 13.5
branch for the tor-browser `update-translations` CI.
The file should otherwise remain unused for the 13.5 branch.
File was copied from https://gitlab.torproject.org/tpo/translation/-/blob/f27eda6d10a4585a8402c5…
- - - - -
be8b37a4 by Henry Wilkes at 2025-05-22T15:55:58+02:00
Bug 43125: Extend the 13.5 EOL expiry date for tor-browser.
- - - - -
1552 changed files:
- .eslintignore
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/update-translations.yml
- + .gitlab/issue_templates/Backport Android Security Fixes.md
- + .gitlab/issue_templates/Emergency Security Issue.md
- + .gitlab/issue_templates/Rebase Browser - Alpha.md
- + .gitlab/issue_templates/Rebase Browser - Stable.md
- + .gitlab/issue_templates/bug.md
- + .gitlab/merge_request_templates/default.md
- + README.md
- − README.txt
- accessible/android/SessionAccessibility.cpp
- accessible/android/SessionAccessibility.h
- accessible/ipc/DocAccessibleParent.cpp
- accessible/ipc/DocAccessibleParent.h
- accessible/ipc/moz.build
- + browser/actors/AboutTBUpdateChild.jsm
- + browser/actors/AboutTBUpdateParent.jsm
- browser/actors/BrowserTabChild.sys.mjs
- + browser/actors/CryptoSafetyChild.jsm
- + browser/actors/CryptoSafetyParent.jsm
- − browser/actors/RFPHelperChild.sys.mjs
- − browser/actors/RFPHelperParent.sys.mjs
- browser/actors/moz.build
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/macbuild/Contents/MacOS-files.in
- browser/app/moz.build
- browser/app/permissions
- + browser/app/profile/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- + browser/base/content/abouttbupdate/aboutTBUpdate.css
- + browser/base/content/abouttbupdate/aboutTBUpdate.js
- + browser/base/content/abouttbupdate/aboutTBUpdate.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.inc
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.css
- browser/base/content/browser.js
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/droppedSupportNotification.js
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc
- browser/base/content/tabbrowser.js
- browser/base/content/test/popupNotifications/browser_popupNotification_security_delay.js
- browser/base/content/test/tabPrompts/browser_confirmFolderUpload.js
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/aboutlogins/AboutLoginsParent.sys.mjs
- browser/components/aboutlogins/content/aboutLogins.css
- browser/components/aboutlogins/content/aboutLogins.mjs
- browser/components/aboutlogins/content/components/fxaccounts-button.css
- + browser/components/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/content/onion-pattern.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- browser/components/downloads/content/allDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutNewTabService.jsm
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/places/metadataViewer/interactionsViewer.html
- browser/components/preferences/dialogs/browserLanguages.js
- browser/components/preferences/dialogs/browserLanguages.xhtml
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/tests/browser_browser_languages_subdialog.js
- browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
- browser/components/privatebrowsing/test/browser/browser_privatebrowsing_windowtitle.js
- browser/components/prompts/PromptCollection.sys.mjs
- browser/components/protections/content/protections.html
- browser/components/protocolhandler/test/browser/browser_registerProtocolHandler_notification.js
- browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
- browser/components/resistfingerprinting/test/browser/browser_timezone.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SearchSERPTelemetry.sys.mjs
- − browser/components/search/extensions/amazon/_locales/au/messages.json
- − browser/components/search/extensions/amazon/_locales/ca/messages.json
- − browser/components/search/extensions/amazon/_locales/de/messages.json
- − browser/components/search/extensions/amazon/_locales/en-GB/messages.json
- − browser/components/search/extensions/amazon/_locales/france/messages.json
- − browser/components/search/extensions/amazon/_locales/in/messages.json
- − browser/components/search/extensions/amazon/_locales/it/messages.json
- − browser/components/search/extensions/amazon/_locales/jp/messages.json
- − browser/components/search/extensions/amazon/_locales/nl/messages.json
- − browser/components/search/extensions/amazon/_locales/spain/messages.json
- − browser/components/search/extensions/amazon/_locales/sweden/messages.json
- − browser/components/search/extensions/amazondotcn/_locales/default/messages.json
- − browser/components/search/extensions/amazondotcn/_locales/mozillaonline/messages.json
- − browser/components/search/extensions/amazondotcom/_locales/en/messages.json
- − browser/components/search/extensions/amazondotcom/_locales/us/messages.json
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- − browser/components/search/extensions/ebay/_locales/at/messages.json
- − browser/components/search/extensions/ebay/_locales/au/messages.json
- − browser/components/search/extensions/ebay/_locales/be/messages.json
- − browser/components/search/extensions/ebay/_locales/ca/messages.json
- − browser/components/search/extensions/ebay/_locales/ch/messages.json
- − browser/components/search/extensions/ebay/_locales/de/messages.json
- − browser/components/search/extensions/ebay/_locales/en/messages.json
- − browser/components/search/extensions/ebay/_locales/es/messages.json
- − browser/components/search/extensions/ebay/_locales/fr/messages.json
- − browser/components/search/extensions/ebay/_locales/ie/messages.json
- − browser/components/search/extensions/ebay/_locales/it/messages.json
- − browser/components/search/extensions/ebay/_locales/nl/messages.json
- − browser/components/search/extensions/ebay/_locales/uk/messages.json
- − browser/components/search/extensions/gmx/_locales/de/messages.json
- − browser/components/search/extensions/gmx/_locales/en-GB/messages.json
- − browser/components/search/extensions/gmx/_locales/es/messages.json
- − browser/components/search/extensions/gmx/_locales/fr/messages.json
- − browser/components/search/extensions/gmx/_locales/shopping/messages.json
- − browser/components/search/extensions/google/_locales/en/messages.json
- − browser/components/search/extensions/google/_locales/region-by/messages.json
- − browser/components/search/extensions/google/_locales/region-kz/messages.json
- − browser/components/search/extensions/google/_locales/region-ru/messages.json
- − browser/components/search/extensions/google/_locales/region-tr/messages.json
- browser/components/search/extensions/google/manifest.json
- − browser/components/search/extensions/mailru/_locales/default/messages.json
- − browser/components/search/extensions/mailru/_locales/mailru001/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-az/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-en-US/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-hy-AM/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-kk/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-ro/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-ru/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-tr/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-uk/messages.json
- − browser/components/search/extensions/mailru/_locales/okru-uz/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/ar/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/cl/messages.json
- − browser/components/search/extensions/mercadolibre/_locales/mx/messages.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- − browser/components/search/extensions/wikipedia/_locales/NN/messages.json
- − browser/components/search/extensions/wikipedia/_locales/NO/messages.json
- − browser/components/search/extensions/wikipedia/_locales/af/messages.json
- − browser/components/search/extensions/wikipedia/_locales/an/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ar/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ast/messages.json
- − browser/components/search/extensions/wikipedia/_locales/az/messages.json
- − browser/components/search/extensions/wikipedia/_locales/be-tarask/messages.json
- − browser/components/search/extensions/wikipedia/_locales/be/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bg/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/br/messages.json
- − browser/components/search/extensions/wikipedia/_locales/bs/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ca/messages.json
- − browser/components/search/extensions/wikipedia/_locales/cy/messages.json
- − browser/components/search/extensions/wikipedia/_locales/cz/messages.json
- − browser/components/search/extensions/wikipedia/_locales/da/messages.json
- − browser/components/search/extensions/wikipedia/_locales/de/messages.json
- − browser/components/search/extensions/wikipedia/_locales/dsb/messages.json
- − browser/components/search/extensions/wikipedia/_locales/el/messages.json
- − browser/components/search/extensions/wikipedia/_locales/en/messages.json
- − browser/components/search/extensions/wikipedia/_locales/eo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/es/messages.json
- − browser/components/search/extensions/wikipedia/_locales/et/messages.json
- − browser/components/search/extensions/wikipedia/_locales/eu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fa/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/fy-NL/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ga-IE/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gd/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/gu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/he/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hsb/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hu/messages.json
- − browser/components/search/extensions/wikipedia/_locales/hy/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ia/messages.json
- − browser/components/search/extensions/wikipedia/_locales/id/messages.json
- − browser/components/search/extensions/wikipedia/_locales/is/messages.json
- − browser/components/search/extensions/wikipedia/_locales/it/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ja/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ka/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kab/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/km/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kn/messages.json
- − browser/components/search/extensions/wikipedia/_locales/kr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lij/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lt/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ltg/messages.json
- − browser/components/search/extensions/wikipedia/_locales/lv/messages.json
- − browser/components/search/extensions/wikipedia/_locales/mk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/mr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ms/messages.json
- − browser/components/search/extensions/wikipedia/_locales/my/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ne/messages.json
- − browser/components/search/extensions/wikipedia/_locales/nl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/oc/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pa/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/pt/messages.json
- − browser/components/search/extensions/wikipedia/_locales/rm/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ro/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ru/messages.json
- − browser/components/search/extensions/wikipedia/_locales/si/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sq/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/sv-SE/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ta/messages.json
- − browser/components/search/extensions/wikipedia/_locales/te/messages.json
- − browser/components/search/extensions/wikipedia/_locales/th/messages.json
- − browser/components/search/extensions/wikipedia/_locales/tl/messages.json
- − browser/components/search/extensions/wikipedia/_locales/tr/messages.json
- − browser/components/search/extensions/wikipedia/_locales/uk/messages.json
- − browser/components/search/extensions/wikipedia/_locales/ur/messages.json
- − browser/components/search/extensions/wikipedia/_locales/uz/messages.json
- − browser/components/search/extensions/wikipedia/_locales/vi/messages.json
- − browser/components/search/extensions/wikipedia/_locales/wo/messages.json
- − browser/components/search/extensions/wikipedia/_locales/zh-CN/messages.json
- − browser/components/search/extensions/wikipedia/_locales/zh-TW/messages.json
- browser/components/search/extensions/wikipedia/manifest.json
- − browser/components/search/extensions/wiktionary/_locales/oc/messages.json
- − browser/components/search/extensions/wiktionary/_locales/te/messages.json
- − browser/components/search/extensions/yandex/_locales/az/messages.json
- − browser/components/search/extensions/yandex/_locales/by/messages.json
- − browser/components/search/extensions/yandex/_locales/en/messages.json
- − browser/components/search/extensions/yandex/_locales/kk/messages.json
- − browser/components/search/extensions/yandex/_locales/ru/messages.json
- − browser/components/search/extensions/yandex/_locales/tr/messages.json
- − browser/components/search/extensions/yandex/_locales/ua/messages.json
- + browser/components/securitylevel/content/securityLevel.js
- + browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelButton.inc.xhtml
- + browser/components/securitylevel/content/securityLevelIcon.svg
- + browser/components/securitylevel/content/securityLevelPanel.css
- + browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- + browser/components/securitylevel/content/securityLevelPreferences.css
- + browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- + browser/components/securitylevel/jar.mn
- + browser/components/securitylevel/moz.build
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- browser/components/urlbar/UrlbarInput.sys.mjs
- browser/components/urlbar/UrlbarProvidersManager.sys.mjs
- browser/components/urlbar/UrlbarUtils.sys.mjs
- browser/components/urlbar/moz.build
- + browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/base-browser-android
- + browser/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-browser-android
- browser/confvars.sh
- browser/extensions/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- browser/locales/Makefile.in
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/modules/HomePage.jsm
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/customizableui/panelUI-shared.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- browser/themes/shared/downloads/downloads.inc.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/preferences/privacy.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/update-programs.configure
- build/variables.py
- config/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/netmonitor/src/components/new-request/HTTPCustomRequestPanel.js
- devtools/client/netmonitor/src/utils/powershell.js
- devtools/client/netmonitor/test/browser_net_copy_as_powershell.js
- devtools/client/netmonitor/test/browser_net_new_request_panel_persisted_content.js
- devtools/client/netmonitor/test/head.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/CanonicalBrowsingContext.cpp
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/base/nsDocShell.h
- docshell/build/components.conf
- docshell/shistory/nsISHistory.idl
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/PointerLockManager.cpp
- dom/base/PointerLockManager.h
- dom/base/ShadowRoot.cpp
- dom/base/ShadowRoot.h
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowInner.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/base/nsScreen.cpp
- dom/base/nsScreen.h
- dom/cache/TypeUtils.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/canvas/WebGLContextExtensions.cpp
- dom/console/Console.cpp
- dom/crypto/WebCryptoTask.cpp
- dom/crypto/test/test-vectors.js
- dom/crypto/test/test_WebCrypto_ECDH.html
- dom/crypto/test/test_WebCrypto_ECDSA.html
- dom/filesystem/tests/script_promptHandler.js
- dom/html/HTMLDNSPrefetch.cpp
- dom/html/HTMLDetailsElement.cpp
- dom/html/HTMLFormElement.cpp
- dom/html/input/NumericInputTypes.cpp
- dom/ipc/BrowserChild.cpp
- dom/ipc/BrowserChild.h
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/locales/moz.build
- dom/manifest/Manifest.sys.mjs
- dom/manifest/test/browser_Manifest_install.js
- dom/media/MediaTrackGraph.cpp
- dom/media/MediaTrackGraph.h
- dom/media/ipc/RemoteMediaDataDecoder.cpp
- dom/media/ipc/RemoteMediaDataDecoder.h
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- dom/media/platforms/wrappers/MediaChangeMonitor.h
- dom/media/systemservices/CamerasChild.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/push/PushCrypto.sys.mjs
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- dom/xslt/xslt/txEXSLTFunctions.cpp
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- dom/xslt/xslt/txXSLTMsgsURL.h
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/2d/RecordedEventImpl.h
- gfx/2d/RecordingTypes.h
- gfx/thebes/StandardFonts-win10.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxFont.cpp
- gfx/thebes/gfxFontEntry.cpp
- gfx/thebes/gfxFontEntry.h
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxPlatformFontList.cpp
- gfx/thebes/gfxPlatformFontList.h
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- intl/strres/nsIStringBundle.idl
- intl/strres/nsStringBundle.cpp
- intl/unicharutil/util/ICUUtils.cpp
- js/public/StructuredClone.h
- js/public/friend/ErrorNumbers.msg
- js/src/gc/Zone.cpp
- + js/src/jit-test/tests/debug/bug-1904011.js
- + js/src/jit-test/tests/ion/bug1900523.js
- + js/src/jit-test/tests/ion/bug1902983.js
- js/src/jit-test/tests/resist-fingerprinting/timezone.js
- js/src/jit-test/tests/structured-clone/transferable-cleanup.js
- js/src/jit/IonAnalysis.cpp
- js/src/jit/JSJitFrameIter.cpp
- js/src/jit/JSJitFrameIter.h
- js/src/old-configure.in
- js/src/vm/DateTime.cpp
- js/src/vm/StructuredClone.cpp
- js/xpconnect/src/xpc.msg
- layout/base/PresShell.cpp
- layout/base/PresShell.h
- layout/base/nsCaret.cpp
- layout/base/nsLayoutUtils.cpp
- layout/base/nsPresContext.cpp
- layout/base/nsPresContext.h
- layout/reftests/font-matching/reftest.list
- + layout/reftests/font-matching/system-font-rfp-ref.html
- + layout/reftests/font-matching/system-font-rfp.html
- layout/style/ServoStyleSet.cpp
- layout/style/ServoStyleSet.h
- layout/style/StyleSheet.cpp
- layout/xul/nsXULPopupManager.cpp
- layout/xul/nsXULPopupManager.h
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/mobile.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- mobile/android/branding/beta/locales/jar.mn
- mobile/android/branding/nightly/locales/jar.mn
- mobile/android/branding/official/locales/jar.mn
- mobile/android/branding/unofficial/locales/jar.mn
- mobile/android/components/geckoview/GeckoViewStartup.jsm
- mobile/android/confvars.sh
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- mobile/android/geckoview/src/main/AndroidManifest.xml
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/android/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/android/moz.configure
- modules/libmar/tool/mar.c
- modules/libmar/tool/moz.build
- modules/libmar/verify/moz.build
- modules/libpref/Preferences.cpp
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.configure
- + mozconfig-android-aarch64
- + mozconfig-android-all
- + mozconfig-android-armv7
- + mozconfig-android-x86
- + mozconfig-android-x86_64
- + mozconfig-linux-aarch64
- + mozconfig-linux-arm
- + mozconfig-linux-i686
- + mozconfig-linux-x86_64
- + mozconfig-linux-x86_64-asan
- + mozconfig-linux-x86_64-dev
- + mozconfig-macos
- + mozconfig-macos-dev
- + mozconfig-windows-i686
- + mozconfig-windows-x86_64
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- netwerk/cache2/CacheFileIOManager.cpp
- netwerk/cookie/CookieCommons.cpp
- netwerk/cookie/CookieService.cpp
- netwerk/cookie/CookieServiceChild.cpp
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/dns/nsHostRecord.cpp
- netwerk/dns/nsHostRecord.h
- netwerk/dns/nsHostResolver.cpp
- netwerk/ipc/DocumentLoadListener.cpp
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpNTLMAuth.cpp
- netwerk/protocol/webtransport/WebTransportSessionProxy.cpp
- netwerk/sctp/src/moz.build
- netwerk/sctp/src/netinet/sctp_cc_functions.c
- netwerk/sctp/src/netinet/sctp_indata.c
- netwerk/sctp/src/netinet/sctp_input.c
- netwerk/sctp/src/netinet/sctp_output.c
- netwerk/sctp/src/netinet/sctp_usrreq.c
- netwerk/sctp/src/netinet/sctputil.c
- netwerk/sctp/src/user_mbuf.c
- netwerk/sctp/src/user_socket.c
- netwerk/socket/nsSOCKSIOLayer.cpp
- netwerk/streamconv/converters/nsMultiMixedConv.cpp
- netwerk/streamconv/converters/nsMultiMixedConv.h
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- old-configure.in
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- + run-tbb-tests
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/cert_storage/src/lib.rs
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- security/nss/lib/ssl/Makefile
- services/common/logmanager.sys.mjs
- services/settings/IDBHelpers.jsm
- services/settings/dumps/main/moz.build
- services/settings/dumps/security-state/moz.build
- services/settings/remote-settings.sys.mjs
- services/settings/servicesSettings.manifest
- services/settings/static-dumps/main/moz.build
- + services/settings/static-dumps/main/query-stripping.json
- services/sync/components.conf
- taskcluster/ci/source-test/mozlint.yml
- + tbb-tests-ignore.txt
- + tbb-tests/browser.ini
- + tbb-tests/browser_tor_TB4.js
- + tbb-tests/browser_tor_bug2950.js
- + tbb-tests/browser_tor_omnibox.js
- + tbb-tests/mochitest.ini
- + tbb-tests/moz.build
- + tbb-tests/test_tor_bug2874.html
- testing/web-platform/meta/cookies/name/name-ctl.html.ini
- testing/web-platform/meta/cookies/samesite/setcookie-navigation.https.html.ini
- − testing/web-platform/meta/service-workers/cache-storage/cache-put.https.any.js.ini
- + testing/web-platform/tests/css/cssom/insertRule-import-trailing-garbage-crash.html
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorChild.sys.mjs
- toolkit/actors/NetErrorParent.sys.mjs
- toolkit/actors/SelectParent.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/antitracking/StoragePrincipalHelper.cpp
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/downloads/DownloadUIHelper.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/extensions/schemas/manifest.json
- toolkit/components/extensions/test/xpcshell/test_ext_manifest.js
- toolkit/components/httpsonlyerror/content/errorpage.html
- toolkit/components/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/reader/AboutReader.sys.mjs
- toolkit/components/reader/ReaderMode.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/reputationservice/ApplicationReputation.cpp
- toolkit/components/reputationservice/test/gtest/TestExecutableLists.cpp
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/search/OpenSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- toolkit/components/search/SearchUtils.sys.mjs
- toolkit/components/search/tests/xpcshell/data/iconsRedirect.sjs
- toolkit/components/search/tests/xpcshell/test_opensearch_icons_invalid.js
- toolkit/components/search/tests/xpcshell/test_webextensions_install.js
- + toolkit/components/search/tests/xpcshell/test_webextensions_startup_duplicate.js
- toolkit/components/search/tests/xpcshell/xpcshell.ini
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- + toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/onion-pattern.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutNetError.xhtml
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/pt_config.json
- toolkit/content/widgets/datetimebox.js
- toolkit/content/widgets/message-bar.css
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/popupnotification.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- toolkit/locales/en-US/chrome/mozapps/profile/profileSelection.properties
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.jsm
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- toolkit/modules/FinderParent.sys.mjs
- toolkit/modules/IgnoreLists.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.jsm
- toolkit/mozapps/extensions/internal/XPIInstall.jsm
- toolkit/mozapps/extensions/internal/XPIProvider.jsm
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/extensions/test/xpcshell/test_locale.js
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- toolkit/mozapps/update/updater/launchchild_osx.mm
- toolkit/mozapps/update/updater/moz.build
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater-common.build
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/profile/nsToolkitProfileService.cpp
- toolkit/profile/nsToolkitProfileService.h
- toolkit/themes/shared/aboutNetError.css
- + toolkit/themes/shared/browser-colors.css
- toolkit/themes/shared/desktop-jar.inc.mn
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- toolkit/themes/shared/in-content/common-shared.css
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/themes/shared/popupnotification.css
- toolkit/toolkit.mozbuild
- + toolkit/torbutton/chrome/locale/en-US/aboutTBUpdate.dtd
- + toolkit/torbutton/chrome/locale/en-US/brand.properties
- + toolkit/torbutton/chrome/locale/en-US/branding/brand.ftl
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torbutton.dtd
- + toolkit/torbutton/chrome/locale/en-US/torbutton.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- toolkit/xre/LauncherRegistryInfo.cpp
- toolkit/xre/MacLaunchHelper.h
- toolkit/xre/MacLaunchHelper.mm
- toolkit/xre/MacRunFromDmgUtils.mm
- toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp
- toolkit/xre/dllservices/mozglue/gen_dll_blocklist_defs.py
- toolkit/xre/moz.build
- toolkit/xre/nsAppRunner.cpp
- toolkit/xre/nsIXREDirProvider.idl
- toolkit/xre/nsUpdateDriver.cpp
- toolkit/xre/nsXREDirProvider.cpp
- toolkit/xre/nsXREDirProvider.h
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/fataar.py
- + tools/geckoview/jslint.sh
- + tools/geckoview/package-gradle.sh
- tools/lint/eslint/eslint-plugin-mozilla/lib/environments/browser-window.js
- tools/profiler/gecko/ProfilerChild.cpp
- tools/profiler/public/ProfilerChild.h
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/git-rebase-fixup-preprocessor
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/combine-translation-versions.py
- + tools/torbrowser/l10n/combine/__init__.py
- + tools/torbrowser/l10n/combine/combine.py
- + tools/torbrowser/l10n/combine/tests/README
- + tools/torbrowser/l10n/combine/tests/__init__.py
- + tools/torbrowser/l10n/combine/tests/test_android.py
- + tools/torbrowser/l10n/combine/tests/test_dtd.py
- + tools/torbrowser/l10n/combine/tests/test_fluent.py
- + tools/torbrowser/l10n/combine/tests/test_properties.py
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/tb-dev
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsDocLoader.cpp
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- widget/windows/nsFilePicker.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpcom/io/nsLocalFileCommon.cpp
- xpcom/io/nsLocalFileCommon.h
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e1bfe8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e1bfe8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 319 commits: Bug 1952024: composify logins list screen...
by Pier Angelo Vendrame (@pierov) 22 May '25
by Pier Angelo Vendrame (@pierov) 22 May '25
22 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
3bb414d5 by alexandra.virvara at 2025-05-20T17:15:11+00:00
Bug 1952024: composify logins list screen r=android-reviewers,android-l10n-reviewers,sfamisa,delphine
TRY link::: https://treeherder.mozilla.org/jobs?repo=try&revision=72d0b6e4558b34f56b59a…
APPROVED patch before git migration::: https://phabricator.services.mozilla.com/D246556
Differential Revision: https://phabricator.services.mozilla.com/D249986
- - - - -
c6122f7a by Dennis Jackson at 2025-05-20T17:30:58+00:00
Bug 1967407 - Skip updating moz.build when vendoring NSS. r=nss-reviewers,jschanck
Differential Revision: https://phabricator.services.mozilla.com/D250142
- - - - -
07eb1673 by jilvin at 2025-05-20T17:37:48+00:00
Bug 1902439 - Checks return of nsIOutputStream::Write() to NS_OK in WriteBitmap() to handle failures better. r=mpohle,nrishel
Differential Revision: https://phabricator.services.mozilla.com/D234318
- - - - -
d74e39b5 by Morgan Rae Reschenberg at 2025-05-20T17:52:04+00:00
Bug 1966243: Expose states::INVALID via moxInvalid in mozAccessible r=eeejay
Differential Revision: https://phabricator.services.mozilla.com/D249460
- - - - -
90ef922a by Daniel Holbert at 2025-05-20T18:09:04+00:00
Bug 1967025: Add a "layout code reviewer checklist" doc, to gather best practices for code review in layout code. r=TYLin,tlouw
As noted in the doc, this is meant to extend the general checklist at
https://firefox-source-docs.mozilla.org/contributing/reviewer_checklist.html
with examples and special cases that are particular to working in layout code.
The list is short for now; this is just a start.
Differential Revision: https://phabricator.services.mozilla.com/D249859
- - - - -
93919902 by Emilio Cobos Álvarez at 2025-05-20T18:13:44+00:00
Bug 1967530 - Clean-up a bit nsNativeThemeGTK. r=stransky
No behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D250279
- - - - -
4813a0eb by Emilio Cobos Álvarez at 2025-05-20T18:18:23+00:00
Bug 1967530 - Remove some xpcom gunk from nsITheme. r=win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D250282
- - - - -
c3e063e1 by Emilio Cobos Álvarez at 2025-05-20T18:18:49+00:00
Bug 1967530 - Remove AssumeThemePartAndStateAreTransparent. r=win-reviewers,handyman
We no longer draw native menus.
Differential Revision: https://phabricator.services.mozilla.com/D250288
- - - - -
8cd531d9 by Emilio Cobos Álvarez at 2025-05-20T18:47:09+00:00
Bug 1967530 - Restore a missing include.
- - - - -
89ff11f6 by Emily McMinn at 2025-05-20T18:49:49+00:00
Bug 1963213 - Allow messaging on only one profile in a multiprofile selectable group r=pdahiya,jhirsch,omc-reviewers,profiles-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D247459
- - - - -
d71d041b by Brad Werth at 2025-05-20T18:50:16+00:00
Bug 1960109: Make OSXVsyncSource start and stop the display link thread without destroying and re-creating the display link. r=mstange
The display link is explicitly created and destroyed, seperate from the
vsync thread being started and stopped. This reduces memory churn.
Differential Revision: https://phabricator.services.mozilla.com/D245333
- - - - -
4067afa2 by Release Engineering Landoscript at 2025-05-20T18:54:12+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a2793772be7cb6be408d0872aaf99c077aa1eca7
af -> a2793772be7cb6be408d0872aaf99c077aa1eca7
an -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ar -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ast -> a2793772be7cb6be408d0872aaf99c077aa1eca7
az -> a2793772be7cb6be408d0872aaf99c077aa1eca7
be -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bg -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
br -> a2793772be7cb6be408d0872aaf99c077aa1eca7
brx -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ca -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ca-valencia -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cak -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ckb -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cy -> a2793772be7cb6be408d0872aaf99c077aa1eca7
da -> a2793772be7cb6be408d0872aaf99c077aa1eca7
de -> a2793772be7cb6be408d0872aaf99c077aa1eca7
dsb -> a2793772be7cb6be408d0872aaf99c077aa1eca7
el -> a2793772be7cb6be408d0872aaf99c077aa1eca7
en-CA -> a2793772be7cb6be408d0872aaf99c077aa1eca7
en-GB -> a2793772be7cb6be408d0872aaf99c077aa1eca7
eo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-AR -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-CL -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-ES -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-MX -> a2793772be7cb6be408d0872aaf99c077aa1eca7
et -> a2793772be7cb6be408d0872aaf99c077aa1eca7
eu -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fa -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ff -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fi -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fur -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fy-NL -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ga-IE -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gd -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gu-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
he -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hi-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hsb -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hu -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hy-AM -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hye -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ia -> a2793772be7cb6be408d0872aaf99c077aa1eca7
id -> a2793772be7cb6be408d0872aaf99c077aa1eca7
is -> a2793772be7cb6be408d0872aaf99c077aa1eca7
it -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ja -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ja-JP-mac -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ka -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kab -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
km -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ko -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lij -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lt -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ltg -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lv -> a2793772be7cb6be408d0872aaf99c077aa1eca7
meh -> a2793772be7cb6be408d0872aaf99c077aa1eca7
mk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ml -> a2793772be7cb6be408d0872aaf99c077aa1eca7
mr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ms -> a2793772be7cb6be408d0872aaf99c077aa1eca7
my -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nb-NO -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ne-NP -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nn-NO -> a2793772be7cb6be408d0872aaf99c077aa1eca7
oc -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pa-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pt-BR -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pt-PT -> a2793772be7cb6be408d0872aaf99c077aa1eca7
rm -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ro -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ru -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sat -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sc -> a2793772be7cb6be408d0872aaf99c077aa1eca7
scn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sco -> a2793772be7cb6be408d0872aaf99c077aa1eca7
si -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
skr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
son -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sq -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sv-SE -> a2793772be7cb6be408d0872aaf99c077aa1eca7
szl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ta -> a2793772be7cb6be408d0872aaf99c077aa1eca7
te -> a2793772be7cb6be408d0872aaf99c077aa1eca7
tg -> a2793772be7cb6be408d0872aaf99c077aa1eca7
th -> a2793772be7cb6be408d0872aaf99c077aa1eca7
tl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
tr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
trs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
uk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ur -> a2793772be7cb6be408d0872aaf99c077aa1eca7
uz -> a2793772be7cb6be408d0872aaf99c077aa1eca7
vi -> a2793772be7cb6be408d0872aaf99c077aa1eca7
wo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
xh -> a2793772be7cb6be408d0872aaf99c077aa1eca7
zh-CN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
zh-TW -> a2793772be7cb6be408d0872aaf99c077aa1eca7
- - - - -
2149054f by Release Engineering Landoscript at 2025-05-20T18:54:15+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a2793772be7cb6be408d0872aaf99c077aa1eca7
an -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ar -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ast -> a2793772be7cb6be408d0872aaf99c077aa1eca7
az -> a2793772be7cb6be408d0872aaf99c077aa1eca7
be -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bg -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
br -> a2793772be7cb6be408d0872aaf99c077aa1eca7
bs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ca -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cak -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
cy -> a2793772be7cb6be408d0872aaf99c077aa1eca7
da -> a2793772be7cb6be408d0872aaf99c077aa1eca7
de -> a2793772be7cb6be408d0872aaf99c077aa1eca7
dsb -> a2793772be7cb6be408d0872aaf99c077aa1eca7
el -> a2793772be7cb6be408d0872aaf99c077aa1eca7
en-CA -> a2793772be7cb6be408d0872aaf99c077aa1eca7
en-GB -> a2793772be7cb6be408d0872aaf99c077aa1eca7
eo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-AR -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-CL -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-ES -> a2793772be7cb6be408d0872aaf99c077aa1eca7
es-MX -> a2793772be7cb6be408d0872aaf99c077aa1eca7
et -> a2793772be7cb6be408d0872aaf99c077aa1eca7
eu -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fa -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ff -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fi -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
fy-NL -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ga-IE -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gd -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
gu-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
he -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hi-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hsb -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hu -> a2793772be7cb6be408d0872aaf99c077aa1eca7
hy-AM -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ia -> a2793772be7cb6be408d0872aaf99c077aa1eca7
id -> a2793772be7cb6be408d0872aaf99c077aa1eca7
is -> a2793772be7cb6be408d0872aaf99c077aa1eca7
it -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ja -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ka -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kab -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
km -> a2793772be7cb6be408d0872aaf99c077aa1eca7
kn -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ko -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lij -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lt -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ltg -> a2793772be7cb6be408d0872aaf99c077aa1eca7
lv -> a2793772be7cb6be408d0872aaf99c077aa1eca7
meh -> a2793772be7cb6be408d0872aaf99c077aa1eca7
mix -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ml -> a2793772be7cb6be408d0872aaf99c077aa1eca7
mr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ms -> a2793772be7cb6be408d0872aaf99c077aa1eca7
my -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nb-NO -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ne-NP -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
nn-NO -> a2793772be7cb6be408d0872aaf99c077aa1eca7
oc -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pa-IN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pt-BR -> a2793772be7cb6be408d0872aaf99c077aa1eca7
pt-PT -> a2793772be7cb6be408d0872aaf99c077aa1eca7
rm -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ro -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ru -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
son -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sq -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
sv-SE -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ta -> a2793772be7cb6be408d0872aaf99c077aa1eca7
te -> a2793772be7cb6be408d0872aaf99c077aa1eca7
th -> a2793772be7cb6be408d0872aaf99c077aa1eca7
tl -> a2793772be7cb6be408d0872aaf99c077aa1eca7
tr -> a2793772be7cb6be408d0872aaf99c077aa1eca7
trs -> a2793772be7cb6be408d0872aaf99c077aa1eca7
uk -> a2793772be7cb6be408d0872aaf99c077aa1eca7
ur -> a2793772be7cb6be408d0872aaf99c077aa1eca7
uz -> a2793772be7cb6be408d0872aaf99c077aa1eca7
vi -> a2793772be7cb6be408d0872aaf99c077aa1eca7
wo -> a2793772be7cb6be408d0872aaf99c077aa1eca7
xh -> a2793772be7cb6be408d0872aaf99c077aa1eca7
zam -> a2793772be7cb6be408d0872aaf99c077aa1eca7
zh-CN -> a2793772be7cb6be408d0872aaf99c077aa1eca7
zh-TW -> a2793772be7cb6be408d0872aaf99c077aa1eca7
- - - - -
a6b6e2da by Mark Banner at 2025-05-20T19:00:32+00:00
Bug 1967446 - Convert uniffi generated Rust modules to use moz-src. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D250243
- - - - -
3f469ddc by kpatenio at 2025-05-20T19:06:03+00:00
Bug 1825310 - hide cursor with pip controls if fullscreen. r=pip-reviewers,desktop-theme-reviewers,niklas,emilio
Differential Revision: https://phabricator.services.mozilla.com/D246813
- - - - -
c3d1b3ad by agoloman at 2025-05-20T19:44:50+00:00
Revert Bug 1967530 - for causing build bustages.
This reverts commit 9ea62cb6aa15e6f9ca3346247fa4f310f14e5db3.
Revert "Bug 1967530 - Remove AssumeThemePartAndStateAreTransparent. r=win-reviewers,handyman"
This reverts commit f036ae0fdbd031b03a4278b375157b2927e87094.
Revert "Bug 1967530 - Remove some xpcom gunk from nsITheme. r=win-reviewers,gstoll"
This reverts commit 9c54c6c68a1e38d5deb649cacdf3eec47902d540.
Revert "Bug 1967530 - Clean-up a bit nsNativeThemeGTK. r=stransky"
This reverts commit d040aadf24d8c6571180d97787527102657bc3c5.
- - - - -
e579cb8d by Beth Rennie at 2025-05-20T19:46:50+00:00
Bug 1907633 - Use ExperimentAPI._rsLoader in browser_trigger_messagesLoaded.js r=omc-reviewers,emcminn
Differential Revision: https://phabricator.services.mozilla.com/D250110
- - - - -
3979b223 by Pier Angelo Vendrame at 2025-05-20T19:47:16+00:00
Bug 1900648 - Allow language spoofing in XSLT status messages. r=platform-i18n-reviewers,dom-core,farre,nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D244597
- - - - -
dd6576de by Mike Conley at 2025-05-20T19:47:43+00:00
Bug 1967529 - Move context ID deletion request ping enablement to the rotation callback. r=chutten
This makes it so that we can guarantee that the ping is enabled by the time
we do a context ID rotation.
Differential Revision: https://phabricator.services.mozilla.com/D250278
- - - - -
5bb99b26 by Tim Giles at 2025-05-20T19:55:46+00:00
Bug 1946790 - Update --border-color token, add --border-color-transparent. r=reusable-components-reviewers,desktop-theme-reviewers,hjones
We update the --border-color token to use #CFCFD8 in light mode,
forced-colors mode. At the same time, we changed the name of the
previous border color token to --border-color-transparent.
By utilizing the --border-color-transparent token, we can ensure that
borders do not appear around certain UI elements until the user requests
higher contrast or forced colors.
Differential Revision: https://phabricator.services.mozilla.com/D248362
- - - - -
28a0554d by Tim Giles at 2025-05-20T19:55:50+00:00
Bug 1946790 - Update moz-page-nav border color variable. r=reusable-components-reviewers,desktop-theme-reviewers,hjones
Using the --border-color-transparent token prevents borders from
appearing around the component unless the user is in prefers-contrast
or forced-colors mode.
Differential Revision: https://phabricator.services.mozilla.com/D248363
- - - - -
1f0ab351 by Tim Giles at 2025-05-20T19:55:53+00:00
Bug 1946790 - Update --fxview-border, add --fxview-border-interactive. r=fxview-reviewers,nsharpley
By updating --fxview-border to use --border-color-transparent, we
ensure there are no extraneous borders in Firefox View unless the user
is in prefers-contrast or forced-colors mode. However, this has a
side effect of making the border around the searchbox disappear.
To address the transparent border around the searchbox, I created the
--fxview-border-interactive variable which points to the
--border-color-interactive token.
Differential Revision: https://phabricator.services.mozilla.com/D248364
- - - - -
ed7aa99c by Tim Giles at 2025-05-20T19:55:57+00:00
Bug 1946790 - Update --box-border-color in moz-box-common.css. r=reusable-components-reviewers,desktop-theme-reviewers,hjones
moz-box-common.css was using the border-color-interactive token, so we
update it to use the newly updated --border-color instead.
Differential Revision: https://phabricator.services.mozilla.com/D248968
- - - - -
abbc0d45 by Tim Giles at 2025-05-20T19:56:01+00:00
Bug 1946790 - Update password-card to use --border-color-transparent. r=credential-management-reviewers,desktop-theme-reviewers,mtigley,hjones
To prevent borders from appearing on the password-card, we need to
switch out --border-color to --border-color-transparent.
In order to prevent additional whitespace at the bottom of the card
when an alert is present, we needed to adjust the border-radius of the
moz-message-bar within the password card. We now use
--border-radius-small here instead of medium.
In order to prevent a double border when in increased contrast or
forced colors mode, we needed to remove the inline border and the
block-end border of the moz-message-bar within the password card.
Differential Revision: https://phabricator.services.mozilla.com/D248969
- - - - -
3bd5def7 by Tim Giles at 2025-05-20T19:56:05+00:00
Bug 1946790 - Set --in-content-border-color directly to CanvasText in forced-colors. r=desktop-theme-reviewers,hjones
Since the in-content variables are considered legacy variables, it was
suggested to update --in-content-border-color to use CanvasText directly
in forced-colors mode instead of using the --border-color token.
Differential Revision: https://phabricator.services.mozilla.com/D248971
- - - - -
dd148290 by tannal at 2025-05-20T20:00:16+00:00
Bug 1953196 - Remove JSMSG_TEMPORAL_CALENDAR_DUPLICATE_FIELD error message. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D246864
- - - - -
db6a8e87 by Edgar Chen at 2025-05-20T20:03:13+00:00
Bug 1967450 – Ensure listener is registered on clipboard test page before continuing the test; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D250246
- - - - -
292117ad by Mark Banner at 2025-05-20T20:04:59+00:00
Bug 1966899 - Enable TypeScript on urlbar ActionProvider*.sys.mjs files. r=daleharvey
Differential Revision: https://phabricator.services.mozilla.com/D249766
- - - - -
dedaf92d by Emilio Cobos Álvarez at 2025-05-20T20:08:21+00:00
Bug 1967530 - Clean-up a bit nsNativeThemeGTK. r=stransky
No behavior change.
Differential Revision: https://phabricator.services.mozilla.com/D250279
- - - - -
e69dc49b by Emilio Cobos Álvarez at 2025-05-20T20:08:25+00:00
Bug 1967530 - Remove some xpcom gunk from nsITheme. r=win-reviewers,gstoll
Differential Revision: https://phabricator.services.mozilla.com/D250282
- - - - -
04936730 by Emilio Cobos Álvarez at 2025-05-20T20:08:28+00:00
Bug 1967530 - Remove AssumeThemePartAndStateAreTransparent. r=win-reviewers,handyman
We no longer draw native menus.
Differential Revision: https://phabricator.services.mozilla.com/D250288
- - - - -
69960ba7 by Noah Bond at 2025-05-20T20:21:01+00:00
Bug 1953275 - Fixed bug causing Snackbars to be unswipeable on the Homescreen and browser r=android-reviewers,petru
Differential Revision: https://phabricator.services.mozilla.com/D249461
- - - - -
6ca3b011 by Meg Viar at 2025-05-20T20:21:27+00:00
Bug 1967342 - Add preview update string for existing user TOU infobar r=fluent-reviewers,omc-reviewers,bolsson,pdahiya
Add preview string for use in TOU infobar
Differential Revision: https://phabricator.services.mozilla.com/D250273
- - - - -
103d7dcb by Alex Hochheiden at 2025-05-20T20:21:59+00:00
Bug 1965348 - Bump `uv` version to `0.7.2` for `vendor` site r=mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D249491
- - - - -
adf2e5bd by Alex Hochheiden at 2025-05-20T20:22:02+00:00
Bug 1965348 - Add `generate-python-lockfiles` `mach` command r=ahal
This command takes the <site>.txt files at `python/sites/` and converts them to
pyproject.toml files that `uv` can use to make lockfiles.
The `mach` site is locked by itself, then all other sites are locked with their own
dependencies, plus the dependencies of the `mach` site (since they're inherited on
site activation, just specified in different files).
The generated files are not intended to be committed to the repo, because we only care if
we can lock, we don't use them for anything else. If we can lock, the site is valid and won't
have compatibility errors.
A `--keep-lockfiles` arg was added that prevents the temporary directory containing the generated
files from being deleted, to help with troubleshooting when a site is not able to be locked.
This command can be run by itself if updating the a <site>.txt file manually with a `pypi:` dependency, and
it will be integrated with `./mach vendor python` and `test_site_compatibility.py` in the near future.
Differential Revision: https://phabricator.services.mozilla.com/D249492
- - - - -
962e4219 by Alex Hochheiden at 2025-05-20T20:22:06+00:00
Bug 1965348 - Add a message to run `./mach generate-python-lockfiles` to verify site compatibility at the end of `./mach vendor python` r=ahal
Initially I made this run automatically, but it's pointless without the
necessary updates done to the <site>.txt file(s). It will have to be run
after those updates, so running it automatically here would be a waste of time.
Differential Revision: https://phabricator.services.mozilla.com/D249494
- - - - -
eb4c1a14 by Alex Hochheiden at 2025-05-20T20:22:10+00:00
Bug 1965348 - Make `test_site_compatibility.py` use `./mach generate-python-lockfiles` to verify site compatibility r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D249495
- - - - -
2cddecb6 by Alex Hochheiden at 2025-05-20T20:22:14+00:00
Bug 1965348 - Re-run `./mach vendor python --force` after `uv` version upgrade to establish new baseline in `requirements.txt` r=mach-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D249654
- - - - -
771ae4d8 by Alex Hochheiden at 2025-05-20T20:22:17+00:00
Bug 1965348 - Remove redundant `markupsafe` specifications in various `<site>.txt` files r=firefox-build-system-reviewers,mach-reviewers,sergesanspaille,ahal
Differential Revision: https://phabricator.services.mozilla.com/D249669
- - - - -
a4c6890d by Alex Hochheiden at 2025-05-20T20:22:21+00:00
Bug 1965348 - Remove all redundant dependencies specified in command sites r=firefox-build-system-reviewers,mach-reviewers,sergesanspaille,ahal
Any dependency already specified in `mach.txt` does not need to be specified in any
child command site because those dependencies are inherited from the `mach` site.
Differential Revision: https://phabricator.services.mozilla.com/D249676
- - - - -
1c735908 by Emilio Cobos Álvarez at 2025-05-20T20:51:28+00:00
Bug 1967530 - Properly fix gtk bustage.
- - - - -
085cf612 by agoloman at 2025-05-20T20:53:29+00:00
Revert "Bug 1967450 – Ensure listener is registered on clipboard test page before continuing the test; r=nika" for causing bc failures @browser_navigator_clipboard_contextmenu_suppression.js.
This reverts commit c3e4f5420cdaf4cf2c70547885eb9dc014703799.
- - - - -
02a77bdf by Hiroyuki Ikezoe at 2025-05-20T20:58:10+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_bug1304689.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249921
- - - - -
3a3af533 by Hiroyuki Ikezoe at 2025-05-20T20:58:14+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_bug1515822.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249922
- - - - -
105eedd7 by Hiroyuki Ikezoe at 2025-05-20T20:58:18+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_frame_reconstruction.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249923
- - - - -
27fa94a3 by Hiroyuki Ikezoe at 2025-05-20T20:58:22+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_offsets.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249924
- - - - -
77384f79 by Hiroyuki Ikezoe at 2025-05-20T20:58:25+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_viewport_scroll.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249925
- - - - -
d18a4955 by Hiroyuki Ikezoe at 2025-05-20T20:58:29+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_scroll_position_restore_no_bfcache.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D249926
- - - - -
111f5887 by Hiroyuki Ikezoe at 2025-05-20T20:58:33+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_bug583889.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D250096
- - - - -
98e85125 by Matthew Gregan at 2025-05-20T21:00:27+00:00
Bug 1967030 - Update mp4parse-rust to d3e4d255. r=media-playback-reviewers,supply-chain-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D249858
- - - - -
4bd57f8c by Anutrix at 2025-05-20T21:01:00+00:00
Bug 1967109 - Remove usages of six in python directory. r=firefox-build-system-reviewers,glandium
Also removes six from deps of mozterm's setup.py as only usages of six in it were removed last month in D245270.
Differential Revision: https://phabricator.services.mozilla.com/D249889
- - - - -
fb6750f2 by Steve Fink at 2025-05-20T21:01:28+00:00
Bug 1962256 - Move StringRelocationOverlay into Tenuring.cpp r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D246811
- - - - -
8e3632df by Edgar Chen at 2025-05-20T21:10:24+00:00
Bug 1967450 – Ensure listener is registered on clipboard test page before continuing the test; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D250246
- - - - -
fb40ffe8 by Andreas Pehrson at 2025-05-20T21:29:25+00:00
Bug 1967189 - Add regression wpt with addTransceiver+renegotiation for bug 1965831. r=jib,dbaker,bwc
Differential Revision: https://phabricator.services.mozilla.com/D250049
- - - - -
3171a183 by Andreas Pehrson at 2025-05-20T21:29:29+00:00
Bug 1967189 - Add mozilla-specific regression wpt for bug 1965831. r=jib,dbaker,bwc
Differential Revision: https://phabricator.services.mozilla.com/D249545
- - - - -
61d3d435 by Andreas Pehrson at 2025-05-20T21:29:33+00:00
Bug 1967189 - Track duplicate payload types for all recv tracks in a peer connection. r=bwc,dbaker
Two issues are fixed here:
- The lists of unique and duplicate payload types were never reset, so would
accumulate entries across renegotiations
- The std::map could only store distinct payload types, and only a single track
per payload type. Therefore, at most one track could ever know about any given
duplicate payload type.
This patch also adds some unittests for JsepTrack::SetUniqueReceivePayloadTypes.
They're very verbose, for now, to enable landing this patch quickly.
Differential Revision: https://phabricator.services.mozilla.com/D250095
- - - - -
f8c23ab6 by Andreas Pehrson at 2025-05-20T21:29:37+00:00
Bug 1967189 - Take non-recv tracks into account when figuring out unique payload types. r=dbaker,bwc
Differential Revision: https://phabricator.services.mozilla.com/D250057
- - - - -
f973ea9a by Beth Rennie at 2025-05-20T21:35:19+00:00
Bug 1907633 - Do not instantiate the RemoteSettingsExperimentLoader on import r=nimbus-reviewers,relud
Instead of creating the `RemoteSettingsExperimentLoader` by importing
`RemoteSettingsExperimentLoader.sys.mjs`, we instead create it the first
time we access the `ExperimentAPI._rsLoader` property.
The `RemoteSettingsExperimentLoader` is considered internal to Nimbus
and as such it is only exposed on the `_rsLoader` property so that other
Nimbus library code (such as `FirefoxLabs`) can access it.
Additionally, the `manager` argument to the
`RemoteSettingsExperimentLoader` is now required.
Differential Revision: https://phabricator.services.mozilla.com/D248074
- - - - -
bb7866dc by Jonathan Kew at 2025-05-20T21:39:32+00:00
Bug 1966668 - Add Ahem stylesheet link to svg/text/reftests/first-letter-ref.svg r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249571
- - - - -
3ebed366 by Jonathan Kew at 2025-05-20T21:39:35+00:00
Bug 1966668 - Fix Ahem stylesheet link in svg/text/reftests/opacity-ref.svg r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249572
- - - - -
cff40fe6 by Jonathan Kew at 2025-05-20T21:39:39+00:00
Bug 1966668 - Wait for font loading in css/css-grid/grid-extrinsically-sized-mutations.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249573
- - - - -
c5cf9ace by Jonathan Kew at 2025-05-20T21:39:43+00:00
Bug 1966668 - Wait for Ahem font loading in css/css-sizing/keyword-sizes-for-intrinsic-contributions.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249575
- - - - -
e6d83808 by Jonathan Kew at 2025-05-20T21:39:46+00:00
Bug 1966668 - Use Ahem via URL (not src:local) in css/css-fonts/font-face-style-normal.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249576
- - - - -
b2eb759c by Jonathan Kew at 2025-05-20T21:39:50+00:00
Bug 1966668 - Wait for Ahem font loading where needed in css/css-tables/tentative/ tests. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249577
- - - - -
3cebb61c by Jonathan Kew at 2025-05-20T21:39:54+00:00
Bug 1966668 - Wait for font loading in css/css-writing-modes/forms/text-input-block-size.optional.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249578
- - - - -
370d7927 by Jonathan Kew at 2025-05-20T21:39:57+00:00
Bug 1966668 - Wait for font loading where necessary in css/css-text/white-space/ tests. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249579
- - - - -
7ba27a14 by Jonathan Kew at 2025-05-20T21:40:01+00:00
Bug 1966668 - Wait for font loading in css/css-multicol/getclientrects-* tests. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249580
- - - - -
c61e8363 by Jonathan Kew at 2025-05-20T21:40:05+00:00
Bug 1966668 - Ensure Ahem is loaded in resize-observer/svg.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249581
- - - - -
3b88b680 by Jonathan Kew at 2025-05-20T21:40:09+00:00
Bug 1966668 - Wait for font loading in svg/text/scripted/getcharnumatposition.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249582
- - - - -
796ac423 by Jonathan Kew at 2025-05-20T21:40:12+00:00
Bug 1966668 - Wait for font loading in css/css-values/cap-invalidation.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249583
- - - - -
59deea52 by Jonathan Kew at 2025-05-20T21:40:16+00:00
Bug 1966668 - Wait for font loading in css/cssom/getComputedStyle-insets-relpos-inline.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249584
- - - - -
13e28c7f by Jonathan Kew at 2025-05-20T21:40:19+00:00
Bug 1966668 - Wait for Ahem font loading in css/cssom-view/getBoundingClientRect-shy.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249589
- - - - -
a48c501a by Jonathan Kew at 2025-05-20T21:40:23+00:00
Bug 1966668 - Load Ahem via url() rather than local() in css/css-fonts/font-face-range-order.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249590
- - - - -
2c808ce6 by Jonathan Kew at 2025-05-20T21:40:26+00:00
Bug 1966668 - Wait for font loading in svg/interact/scripted/svg-pointer-events-bbox.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249591
- - - - -
649fdc52 by Jonathan Kew at 2025-05-20T21:40:30+00:00
Bug 1966668 - Wait for font loading where needed in mathml/presentation-markup/mrow tests. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249754
- - - - -
c6a07a65 by Jonathan Kew at 2025-05-20T21:40:33+00:00
Bug 1966668 - Explicitly load Ahem in css/css-shapes/shape-outside/values/* tests to ensure it is available when font-dependent checks run. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249592
- - - - -
a3667f66 by Jonathan Kew at 2025-05-20T21:40:37+00:00
Bug 1966668 - Explicitly load the Ahem font in css/css-ruby/line-spacing.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249593
- - - - -
67784573 by Jonathan Kew at 2025-05-20T21:40:41+00:00
Bug 1966668 - Wait for async font loading at each step in css/css-fonts/generic-family-keywords tests. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249594
- - - - -
83143031 by Jonathan Kew at 2025-05-20T21:40:45+00:00
Bug 1966668 - Wait for font loading in css/css-multicol/offsetProps-001.html r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249755
- - - - -
37c32dc8 by Jonathan Kew at 2025-05-20T21:40:48+00:00
Bug 1966668 - Wait for font loading in css/css-conditional/container-queries/font-relative-units.html r=layout-reviewers,emilio
Note that even with the use of document.fonts.ready in font-relative-units.html,
tests may "unexpectedly" fail if the Ahem font is not installed on the local system.
This is because we explicitly *don't* consider webfonts when evaluating font-relative
units in container queries, contrary to what the test expects. See
https://searchfox.org/mozilla-central/rev/578d9c83f046d8c361ac6b98b297c2799…
I'll file a followup bug about this.
Differential Revision: https://phabricator.services.mozilla.com/D250075
- - - - -
1a3f4d3a by Jonathan Kew at 2025-05-20T21:40:52+00:00
Bug 1967315 - Container queries can use font metrics from the user font set. r=firefox-style-system-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250076
- - - - -
585ec9e4 by Ting-Yu Lin at 2025-05-20T21:50:56+00:00
Bug 1967360 - Improve nsGridContainerFrame::Tracks::Dump(). r=dholbert
This patch changes the following:
- Print baseline, gap, and content-box sizes in app units. If they are "unknown" or
"unconstrained", print a string accordingly.
- Use fmt library [1] because it can print `std::string` directly.
[1] https://firefox-source-docs.mozilla.org/xpcom/fmt-in-gecko.html
Differential Revision: https://phabricator.services.mozilla.com/D250104
- - - - -
aee3034e by Nick Grato at 2025-05-20T21:51:23+00:00
Bug 1947209 - show local models used by a web extension linking to model details r=extension-reviewers,desktop-theme-reviewers,fluent-reviewers,rpl,bolsson,emilio,flod
adding feature and extension icons and labels
Differential Revision: https://phabricator.services.mozilla.com/D247805
- - - - -
ac870ebe by agoloman at 2025-05-20T22:16:33+00:00
Revert "Bug 1967030 - Update mp4parse-rust to d3e4d255. r=media-playback-reviewers,supply-chain-reviewers,padenot" for causing gtet failures @MP4Metadata.test_case_mp4.
This reverts commit 0888571e1e36d1332e47774cf58dc67965ce33fa.
- - - - -
ec2d0b1f by Emily McDonough at 2025-05-20T22:35:08+00:00
Bug 1963485 Part 1 - Move selector/track size bits into a function that makes it clear which phase the selectors are for r=layout-grid-reviewers,tlouw
Differential Revision: https://phabricator.services.mozilla.com/D249695
- - - - -
483baab8 by Emily McDonough at 2025-05-20T22:35:11+00:00
Bug 1963485 Part 2 - Rematerialize selectors for choosing tracks in grid intrinsic sizing code rather than passing the selector directly. r=layout-grid-reviewers,tlouw
This change makes most places in grid intrinsic sizing code specify operations
by sizing phase and sizing constraint, rather than using the sizing function
types directly. This should help with readability and debugging, as the
intended operation rather than the selector bits are used now.
Differential Revision: https://phabricator.services.mozilla.com/D249697
- - - - -
74498a3f by Emilio Cobos Álvarez at 2025-05-20T22:53:57+00:00
Bug 1967206 - Update jobserver (and related crates to avoid duplication). r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250045
- - - - -
e4628fa9 by Jim Blandy at 2025-05-20T22:57:07+00:00
Bug 1967613: Name members of `CanvasContext` following the WebGPU spec. r=webgpu-reviewers,ErichDonGubler
Rename members of `mozilla::webgpu::CanvasContext` following the
WebGPU specification properties that they represent:
- Rename `mConfig` to `mConfiguration`, after `[[configuration]]`.
- Rename `mTexture` to `mCurrentTexture`, after `[[currentTexture]]`.
Differential Revision: https://phabricator.services.mozilla.com/D250359
- - - - -
6c1ccf23 by agoloman at 2025-05-20T22:58:18+00:00
Revert "Bug 1967189 - Add mozilla-specific regression wpt for bug 1965831. r=jib,dbaker,bwc" as requested by dev.
This reverts commit 4f622a88c75bc911df7ef574287b0fbf0b99d74f.
- - - - -
d11de864 by James Teh at 2025-05-20T23:01:19+00:00
Bug 1951833 part 1: Support line feed characters in TextLeafPoint::CharBounds. r=morgan
Previously, both literal line feed characters in pre-formatted text and HTMl <br> elements returned a rect with 0 width and/or height.
Because of the way CharBounds() was implemented, this also returned 0 for x and y.
This caused problems for clients such as Windows Text Cursor Indicator which need the rectangle for the character at the caret.
Now, we return the correct x and y coordinates.
We also return a minimum width and height of 1 to ensure clients treat it as an actual rectangle.
As part of this, CharBounds() has been refactored slightly for consistency and readability.
As a bonus, this also fixes character bounds for list item bullets (bug 360003), but a test for that will be added in a subsequent patch.
This patch also removes the special case line feed code added to TextLeafRange::WalkLineRects() in bug 1946552, since CharBounds() now handles this.
Differential Revision: https://phabricator.services.mozilla.com/D249709
- - - - -
f0e5545d by James Teh at 2025-05-20T23:01:23+00:00
Bug 1951833 part 2: Make ITextRangeProvider::GetBoundingRectangles return a rectangle for a collapsed range. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D249710
- - - - -
55399f3e by Glenda Leonard at 2025-05-20T23:12:35+00:00
Bug 1963162 - Added DapReportController to manage submission capping r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D249678
- - - - -
aa6ea266 by Beth Rennie at 2025-05-20T23:48:08+00:00
Bug 1966159 - Support multiple phases of migrations during Nimbus initialization r=nimbus-reviewers,relud
Differential Revision: https://phabricator.services.mozilla.com/D250332
- - - - -
3d14df8a by Niklas Baumgardner at 2025-05-20T23:49:14+00:00
Bug 1948366 - Remove extensions.screenshots.disabled pref. r=sfoster,webdriver-reviewers,firefox-desktop-core-reviewers ,whimboo,urlbar-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D248324
- - - - -
d462e79a by Alex Hochheiden at 2025-05-20T23:51:41+00:00
Bug 1965348 - Automatically update <site>.txt files when packages are removed during `./mach vendor python` r=ahal
This works for in all scenarios, whether it be packages being
added/removed, or upgraded, as well as implicit dependencies.
The output has also been vastly improved, indicating the next
steps that need to be done, and for what packages. It's also
explicit which <site>.txt files have been modified and what changes
were made.
Differential Revision: https://phabricator.services.mozilla.com/D249857
- - - - -
4b4d046f by pstanciu at 2025-05-21T00:10:25+00:00
Revert "Bug 1963162 - Added DapReportController to manage submission capping r=tcampbell" for causing XPC failures on test_dap_visit_counter.js
This reverts commit e6fb2f93ca9b22388a9c6379b11f6a6fb9ffb9ad.
- - - - -
4ff183e7 by Release Engineering Landoscript at 2025-05-21T00:16:28+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
5c92f958 by celenity at 2025-05-21T01:32:07+00:00
Bug 1964247 - Drop unused prefcalls.js in Android's package-manifest.in r=geckoview-reviewers,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D250118
- - - - -
06913b0e by dadaa at 2025-05-21T02:23:07+00:00
Bug 1967626: Introduce yelpServiceResultDistinction Nimbus variable to enable service type title r=adw
Differential Revision: https://phabricator.services.mozilla.com/D250370
- - - - -
602ef6f5 by Glenda Leonard at 2025-05-21T03:11:29+00:00
Bug 1963162 - Added DapReportController to manage submission capping r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D249678
- - - - -
1520ea44 by hannajones at 2025-05-21T03:54:14+00:00
Bug 1606785 - Format aboutlogins, megalist, and form autofill CSS files with Prettier r=credential-management-reviewers,mtigley,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D249167
- - - - -
6cd8c3be by hannajones at 2025-05-21T03:54:17+00:00
Bug 1606785 - Format firefoxview CSS files with Prettier r=fxview-reviewers,desktop-theme-reviewers,dao,jsudiaman
Differential Revision: https://phabricator.services.mozilla.com/D249168
- - - - -
af4b9c25 by hannajones at 2025-05-21T03:54:21+00:00
Bug 1606785 - Format genai and ml CSS files with Prettier r=firefox-ai-ml-reviewers,Mardak
Differential Revision: https://phabricator.services.mozilla.com/D249169
- - - - -
157b2f43 by hannajones at 2025-05-21T03:54:25+00:00
Bug 1606785 - Format profiles CSS files with Prettier r=profiles-reviewers,desktop-theme-reviewers,dao,mossop
Differential Revision: https://phabricator.services.mozilla.com/D249170
- - - - -
1b041786 by hannajones at 2025-05-21T03:54:29+00:00
Bug 1606785 - Format shopping CSS files with Prettier r=shopping-reviewers,desktop-theme-reviewers,dao,rking
Differential Revision: https://phabricator.services.mozilla.com/D249171
- - - - -
7592f0a2 by hannajones at 2025-05-21T03:54:32+00:00
Bug 1606785 - Format sidebar CSS files with Prettier r=sidebar-reviewers,desktop-theme-reviewers,dao,nsharpley
Differential Revision: https://phabricator.services.mozilla.com/D249172
- - - - -
7b2740c3 by hannajones at 2025-05-21T03:54:36+00:00
Bug 1606785 - Format recomp CSS files with Prettier r=reusable-components-reviewers,desktop-theme-reviewers,dao,mkennedy
Differential Revision: https://phabricator.services.mozilla.com/D249173
- - - - -
ca4a2d42 by hannajones at 2025-05-21T03:54:40+00:00
Bug 1606785 - Format devtools CSS files with Prettier r=devtools-reviewers,nchevobbe,frontend-codestyle-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249174
- - - - -
6d60b340 by hannajones at 2025-05-21T03:54:44+00:00
Bug 1606785 - Format layout CSS files with Prettier r=layout-reviewers,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D249175
- - - - -
50e04769 by hannajones at 2025-05-21T03:54:47+00:00
Bug 1606785 - Format android CSS files with Prettier r=geckoview-reviewers,hiro
Differential Revision: https://phabricator.services.mozilla.com/D249176
- - - - -
477f9747 by hannajones at 2025-05-21T03:54:51+00:00
Bug 1606785 - Format dom CSS files with Prettier r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D249177
- - - - -
e38092ec by hannajones at 2025-05-21T03:54:55+00:00
Bug 1606785 - Format search CSS files with Prettier r=search-reviewers,jteow
Differential Revision: https://phabricator.services.mozilla.com/D249178
- - - - -
cab2e7e4 by hannajones at 2025-05-21T03:54:58+00:00
Bug 1606785 - Format webcompat CSS files with Prettier r=webcompat-reviewers,denschub
Differential Revision: https://phabricator.services.mozilla.com/D249179
- - - - -
a18d6c82 by hannajones at 2025-05-21T03:55:02+00:00
Bug 1606785 - Format urlbar CSS files with Prettier r=urlbar-reviewers,desktop-theme-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D249180
- - - - -
349a98d9 by hannajones at 2025-05-21T03:55:06+00:00
Bug 1606785 - Format browser/themes/preferences CSS files with Prettier r=settings-reviewers,desktop-theme-reviewers,dao,mconley
Differential Revision: https://phabricator.services.mozilla.com/D249187
- - - - -
22341eed by hannajones at 2025-05-21T03:55:10+00:00
Bug 1606785 - Format browser/themes and toolkit/themes CSS files with Prettier r=desktop-theme-reviewers,pip-reviewers,tabbrowser-reviewers,places-reviewers,dao,mconley
Differential Revision: https://phabricator.services.mozilla.com/D249181
- - - - -
57c8f504 by hannajones at 2025-05-21T03:55:13+00:00
Bug 1606785 - Format Firefox CSS files with Prettier r=desktop-theme-reviewers,perftest-reviewers,places-reviewers,translations-reviewers,omc-reviewers,backup-reviewers,browser-installer-reviewers,sparky,dao,pdahiya,nrishel,kpatenio
Differential Revision: https://phabricator.services.mozilla.com/D249182
- - - - -
e70ce1df by hannajones at 2025-05-21T03:55:17+00:00
Bug 1606785 - Enable Prettier for CSS files r=desktop-theme-reviewers,Standard8,frontend-codestyle-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D248105
- - - - -
e7878402 by agoloman at 2025-05-21T04:33:25+00:00
Revert "Bug 1964247 - Drop unused prefcalls.js in Android's package-manifest.in r=geckoview-reviewers,tcampbell" for causing xpc failures @test_autoconfig.js.
This reverts commit 1ca937f7c12caa8dcd7bc66b37fa3407be0f4ee4.
- - - - -
c18faaae by agoloman at 2025-05-21T04:49:28+00:00
Revert "Bug 1606785 - Enable Prettier for CSS files r=desktop-theme-reviewers,Standard8,frontend-codestyle-reviewers,emilio" for causing multiple failures.
This reverts commit ec5fa1d4c0ee7ec6d1cac04433767211cfdf0045.
Revert "Bug 1606785 - Format Firefox CSS files with Prettier r=desktop-theme-reviewers,perftest-reviewers,places-reviewers,translations-reviewers,omc-reviewers,backup-reviewers,browser-installer-reviewers,sparky,dao,pdahiya,nrishel,kpatenio"
This reverts commit baa5d72bbdb3e07046bf6feb2b7dd4da3271fff9.
Revert "Bug 1606785 - Format browser/themes and toolkit/themes CSS files with Prettier r=desktop-theme-reviewers,pip-reviewers,tabbrowser-reviewers,places-reviewers,dao,mconley"
This reverts commit 9604b0a8ae1ceb26631e678e6865874191225baf.
Revert "Bug 1606785 - Format browser/themes/preferences CSS files with Prettier r=settings-reviewers,desktop-theme-reviewers,dao,mconley"
This reverts commit 686c1cf85f12d95024f9ae980434cfc068e4f1e2.
Revert "Bug 1606785 - Format urlbar CSS files with Prettier r=urlbar-reviewers,desktop-theme-reviewers,dao"
This reverts commit a7a4f31251a2f00d8736232e8e71d2a52bf7674e.
Revert "Bug 1606785 - Format webcompat CSS files with Prettier r=webcompat-reviewers,denschub"
This reverts commit 41bc4d52371e55746141fca64f85197b61203897.
Revert "Bug 1606785 - Format search CSS files with Prettier r=search-reviewers,jteow"
This reverts commit 7bb7f8237413ace2ca084980d455cd7cd2d21834.
Revert "Bug 1606785 - Format dom CSS files with Prettier r=emilio"
This reverts commit c22e910235ebe3c03f89563273c13d616548b6e2.
Revert "Bug 1606785 - Format android CSS files with Prettier r=geckoview-reviewers,hiro"
This reverts commit c08e43fc3d5eb3b1703a643a5abfe206d5f28d7f.
Revert "Bug 1606785 - Format layout CSS files with Prettier r=layout-reviewers,dholbert"
This reverts commit 4f2a32d1a4814a0c33492c752112ad4a6817e9ff.
Revert "Bug 1606785 - Format devtools CSS files with Prettier r=devtools-reviewers,nchevobbe,frontend-codestyle-reviewers"
This reverts commit c05f675ddfcd42d744b734491905bfa3ad081976.
Revert "Bug 1606785 - Format recomp CSS files with Prettier r=reusable-components-reviewers,desktop-theme-reviewers,dao,mkennedy"
This reverts commit b10c7de8d0c38a40b3b0d9ffbfecfcda62dada39.
Revert "Bug 1606785 - Format sidebar CSS files with Prettier r=sidebar-reviewers,desktop-theme-reviewers,dao,nsharpley"
This reverts commit d32c555e37d4ca69a57f4924731970c3c7d5a56b.
Revert "Bug 1606785 - Format shopping CSS files with Prettier r=shopping-reviewers,desktop-theme-reviewers,dao,rking"
This reverts commit 965887a7087c1cc17b13d5f0f41ac49243390ce8.
Revert "Bug 1606785 - Format profiles CSS files with Prettier r=profiles-reviewers,desktop-theme-reviewers,dao,mossop"
This reverts commit 8338860f74d672071fbeb96574f57a225248d6a3.
Revert "Bug 1606785 - Format genai and ml CSS files with Prettier r=firefox-ai-ml-reviewers,Mardak"
This reverts commit d66681f553dbe1a9859155e614bedb476438a9ca.
Revert "Bug 1606785 - Format firefoxview CSS files with Prettier r=fxview-reviewers,desktop-theme-reviewers,dao,jsudiaman"
This reverts commit 530b815cadad2fc8946b5f91124cef74dece69f4.
Revert "Bug 1606785 - Format aboutlogins, megalist, and form autofill CSS files with Prettier r=credential-management-reviewers,mtigley,desktop-theme-reviewers,dao"
This reverts commit 813c8643812ac795739119d67fc51912feabb75b.
- - - - -
7392da6b by Jari Jalkanen at 2025-05-21T05:09:34+00:00
Bug 1967453: Change tree comparing helpers to act on const arguments. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250245
- - - - -
57a1bf36 by Hiroyuki Ikezoe at 2025-05-21T05:09:46+00:00
Bug 1967635 - Allow 1px difference in test_bug1714640.html. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D250375
- - - - -
ce19e15e by Hiroyuki Ikezoe at 2025-05-21T05:09:50+00:00
Bug 1967635 - Allow 1px difference in test_bug1013412.html. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D250376
- - - - -
6bf81edf by Hiroyuki Ikezoe at 2025-05-21T05:09:53+00:00
Bug 1967635 - Allow 1px difference in test_frame_reconstruction_scroll_restore.html. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D250377
- - - - -
7b65bbba by Reem H at 2025-05-21T05:11:37+00:00
Bug 1965944 - Visual updates for medium card UI. r=home-newtab-reviewers,nbarrett
Differential Revision: https://phabricator.services.mozilla.com/D249215
- - - - -
a0e347c3 by Release Engineering Landoscript at 2025-05-21T06:55:46+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> dd5f37e8d5d751661abf252d912628ff8b23769c
af -> dd5f37e8d5d751661abf252d912628ff8b23769c
an -> dd5f37e8d5d751661abf252d912628ff8b23769c
ar -> dd5f37e8d5d751661abf252d912628ff8b23769c
ast -> dd5f37e8d5d751661abf252d912628ff8b23769c
az -> dd5f37e8d5d751661abf252d912628ff8b23769c
be -> dd5f37e8d5d751661abf252d912628ff8b23769c
bg -> dd5f37e8d5d751661abf252d912628ff8b23769c
bn -> dd5f37e8d5d751661abf252d912628ff8b23769c
bo -> dd5f37e8d5d751661abf252d912628ff8b23769c
br -> dd5f37e8d5d751661abf252d912628ff8b23769c
brx -> dd5f37e8d5d751661abf252d912628ff8b23769c
bs -> dd5f37e8d5d751661abf252d912628ff8b23769c
ca -> dd5f37e8d5d751661abf252d912628ff8b23769c
ca-valencia -> dd5f37e8d5d751661abf252d912628ff8b23769c
cak -> dd5f37e8d5d751661abf252d912628ff8b23769c
ckb -> dd5f37e8d5d751661abf252d912628ff8b23769c
cs -> dd5f37e8d5d751661abf252d912628ff8b23769c
cy -> dd5f37e8d5d751661abf252d912628ff8b23769c
da -> dd5f37e8d5d751661abf252d912628ff8b23769c
de -> dd5f37e8d5d751661abf252d912628ff8b23769c
dsb -> dd5f37e8d5d751661abf252d912628ff8b23769c
el -> dd5f37e8d5d751661abf252d912628ff8b23769c
en-CA -> dd5f37e8d5d751661abf252d912628ff8b23769c
en-GB -> dd5f37e8d5d751661abf252d912628ff8b23769c
eo -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-AR -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-CL -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-ES -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-MX -> dd5f37e8d5d751661abf252d912628ff8b23769c
et -> dd5f37e8d5d751661abf252d912628ff8b23769c
eu -> dd5f37e8d5d751661abf252d912628ff8b23769c
fa -> dd5f37e8d5d751661abf252d912628ff8b23769c
ff -> dd5f37e8d5d751661abf252d912628ff8b23769c
fi -> dd5f37e8d5d751661abf252d912628ff8b23769c
fr -> dd5f37e8d5d751661abf252d912628ff8b23769c
fur -> dd5f37e8d5d751661abf252d912628ff8b23769c
fy-NL -> dd5f37e8d5d751661abf252d912628ff8b23769c
ga-IE -> dd5f37e8d5d751661abf252d912628ff8b23769c
gd -> dd5f37e8d5d751661abf252d912628ff8b23769c
gl -> dd5f37e8d5d751661abf252d912628ff8b23769c
gn -> dd5f37e8d5d751661abf252d912628ff8b23769c
gu-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
he -> dd5f37e8d5d751661abf252d912628ff8b23769c
hi-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
hr -> dd5f37e8d5d751661abf252d912628ff8b23769c
hsb -> dd5f37e8d5d751661abf252d912628ff8b23769c
hu -> dd5f37e8d5d751661abf252d912628ff8b23769c
hy-AM -> dd5f37e8d5d751661abf252d912628ff8b23769c
hye -> dd5f37e8d5d751661abf252d912628ff8b23769c
ia -> dd5f37e8d5d751661abf252d912628ff8b23769c
id -> dd5f37e8d5d751661abf252d912628ff8b23769c
is -> dd5f37e8d5d751661abf252d912628ff8b23769c
it -> dd5f37e8d5d751661abf252d912628ff8b23769c
ja -> dd5f37e8d5d751661abf252d912628ff8b23769c
ja-JP-mac -> dd5f37e8d5d751661abf252d912628ff8b23769c
ka -> dd5f37e8d5d751661abf252d912628ff8b23769c
kab -> dd5f37e8d5d751661abf252d912628ff8b23769c
kk -> dd5f37e8d5d751661abf252d912628ff8b23769c
km -> dd5f37e8d5d751661abf252d912628ff8b23769c
kn -> dd5f37e8d5d751661abf252d912628ff8b23769c
ko -> dd5f37e8d5d751661abf252d912628ff8b23769c
lij -> dd5f37e8d5d751661abf252d912628ff8b23769c
lo -> dd5f37e8d5d751661abf252d912628ff8b23769c
lt -> dd5f37e8d5d751661abf252d912628ff8b23769c
ltg -> dd5f37e8d5d751661abf252d912628ff8b23769c
lv -> dd5f37e8d5d751661abf252d912628ff8b23769c
meh -> dd5f37e8d5d751661abf252d912628ff8b23769c
mk -> dd5f37e8d5d751661abf252d912628ff8b23769c
ml -> dd5f37e8d5d751661abf252d912628ff8b23769c
mr -> dd5f37e8d5d751661abf252d912628ff8b23769c
ms -> dd5f37e8d5d751661abf252d912628ff8b23769c
my -> dd5f37e8d5d751661abf252d912628ff8b23769c
nb-NO -> dd5f37e8d5d751661abf252d912628ff8b23769c
ne-NP -> dd5f37e8d5d751661abf252d912628ff8b23769c
nl -> dd5f37e8d5d751661abf252d912628ff8b23769c
nn-NO -> dd5f37e8d5d751661abf252d912628ff8b23769c
oc -> dd5f37e8d5d751661abf252d912628ff8b23769c
pa-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
pl -> dd5f37e8d5d751661abf252d912628ff8b23769c
pt-BR -> dd5f37e8d5d751661abf252d912628ff8b23769c
pt-PT -> dd5f37e8d5d751661abf252d912628ff8b23769c
rm -> dd5f37e8d5d751661abf252d912628ff8b23769c
ro -> dd5f37e8d5d751661abf252d912628ff8b23769c
ru -> dd5f37e8d5d751661abf252d912628ff8b23769c
sat -> dd5f37e8d5d751661abf252d912628ff8b23769c
sc -> dd5f37e8d5d751661abf252d912628ff8b23769c
scn -> dd5f37e8d5d751661abf252d912628ff8b23769c
sco -> dd5f37e8d5d751661abf252d912628ff8b23769c
si -> dd5f37e8d5d751661abf252d912628ff8b23769c
sk -> dd5f37e8d5d751661abf252d912628ff8b23769c
skr -> dd5f37e8d5d751661abf252d912628ff8b23769c
sl -> dd5f37e8d5d751661abf252d912628ff8b23769c
son -> dd5f37e8d5d751661abf252d912628ff8b23769c
sq -> dd5f37e8d5d751661abf252d912628ff8b23769c
sr -> dd5f37e8d5d751661abf252d912628ff8b23769c
sv-SE -> dd5f37e8d5d751661abf252d912628ff8b23769c
szl -> dd5f37e8d5d751661abf252d912628ff8b23769c
ta -> dd5f37e8d5d751661abf252d912628ff8b23769c
te -> dd5f37e8d5d751661abf252d912628ff8b23769c
tg -> dd5f37e8d5d751661abf252d912628ff8b23769c
th -> dd5f37e8d5d751661abf252d912628ff8b23769c
tl -> dd5f37e8d5d751661abf252d912628ff8b23769c
tr -> dd5f37e8d5d751661abf252d912628ff8b23769c
trs -> dd5f37e8d5d751661abf252d912628ff8b23769c
uk -> dd5f37e8d5d751661abf252d912628ff8b23769c
ur -> dd5f37e8d5d751661abf252d912628ff8b23769c
uz -> dd5f37e8d5d751661abf252d912628ff8b23769c
vi -> dd5f37e8d5d751661abf252d912628ff8b23769c
wo -> dd5f37e8d5d751661abf252d912628ff8b23769c
xh -> dd5f37e8d5d751661abf252d912628ff8b23769c
zh-CN -> dd5f37e8d5d751661abf252d912628ff8b23769c
zh-TW -> dd5f37e8d5d751661abf252d912628ff8b23769c
- - - - -
5289a7e0 by Release Engineering Landoscript at 2025-05-21T06:55:49+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> dd5f37e8d5d751661abf252d912628ff8b23769c
an -> dd5f37e8d5d751661abf252d912628ff8b23769c
ar -> dd5f37e8d5d751661abf252d912628ff8b23769c
ast -> dd5f37e8d5d751661abf252d912628ff8b23769c
az -> dd5f37e8d5d751661abf252d912628ff8b23769c
be -> dd5f37e8d5d751661abf252d912628ff8b23769c
bg -> dd5f37e8d5d751661abf252d912628ff8b23769c
bn -> dd5f37e8d5d751661abf252d912628ff8b23769c
br -> dd5f37e8d5d751661abf252d912628ff8b23769c
bs -> dd5f37e8d5d751661abf252d912628ff8b23769c
ca -> dd5f37e8d5d751661abf252d912628ff8b23769c
cak -> dd5f37e8d5d751661abf252d912628ff8b23769c
cs -> dd5f37e8d5d751661abf252d912628ff8b23769c
cy -> dd5f37e8d5d751661abf252d912628ff8b23769c
da -> dd5f37e8d5d751661abf252d912628ff8b23769c
de -> dd5f37e8d5d751661abf252d912628ff8b23769c
dsb -> dd5f37e8d5d751661abf252d912628ff8b23769c
el -> dd5f37e8d5d751661abf252d912628ff8b23769c
en-CA -> dd5f37e8d5d751661abf252d912628ff8b23769c
en-GB -> dd5f37e8d5d751661abf252d912628ff8b23769c
eo -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-AR -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-CL -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-ES -> dd5f37e8d5d751661abf252d912628ff8b23769c
es-MX -> dd5f37e8d5d751661abf252d912628ff8b23769c
et -> dd5f37e8d5d751661abf252d912628ff8b23769c
eu -> dd5f37e8d5d751661abf252d912628ff8b23769c
fa -> dd5f37e8d5d751661abf252d912628ff8b23769c
ff -> dd5f37e8d5d751661abf252d912628ff8b23769c
fi -> dd5f37e8d5d751661abf252d912628ff8b23769c
fr -> dd5f37e8d5d751661abf252d912628ff8b23769c
fy-NL -> dd5f37e8d5d751661abf252d912628ff8b23769c
ga-IE -> dd5f37e8d5d751661abf252d912628ff8b23769c
gd -> dd5f37e8d5d751661abf252d912628ff8b23769c
gl -> dd5f37e8d5d751661abf252d912628ff8b23769c
gn -> dd5f37e8d5d751661abf252d912628ff8b23769c
gu-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
he -> dd5f37e8d5d751661abf252d912628ff8b23769c
hi-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
hr -> dd5f37e8d5d751661abf252d912628ff8b23769c
hsb -> dd5f37e8d5d751661abf252d912628ff8b23769c
hu -> dd5f37e8d5d751661abf252d912628ff8b23769c
hy-AM -> dd5f37e8d5d751661abf252d912628ff8b23769c
ia -> dd5f37e8d5d751661abf252d912628ff8b23769c
id -> dd5f37e8d5d751661abf252d912628ff8b23769c
is -> dd5f37e8d5d751661abf252d912628ff8b23769c
it -> dd5f37e8d5d751661abf252d912628ff8b23769c
ja -> dd5f37e8d5d751661abf252d912628ff8b23769c
ka -> dd5f37e8d5d751661abf252d912628ff8b23769c
kab -> dd5f37e8d5d751661abf252d912628ff8b23769c
kk -> dd5f37e8d5d751661abf252d912628ff8b23769c
km -> dd5f37e8d5d751661abf252d912628ff8b23769c
kn -> dd5f37e8d5d751661abf252d912628ff8b23769c
ko -> dd5f37e8d5d751661abf252d912628ff8b23769c
lij -> dd5f37e8d5d751661abf252d912628ff8b23769c
lo -> dd5f37e8d5d751661abf252d912628ff8b23769c
lt -> dd5f37e8d5d751661abf252d912628ff8b23769c
ltg -> dd5f37e8d5d751661abf252d912628ff8b23769c
lv -> dd5f37e8d5d751661abf252d912628ff8b23769c
meh -> dd5f37e8d5d751661abf252d912628ff8b23769c
mix -> dd5f37e8d5d751661abf252d912628ff8b23769c
ml -> dd5f37e8d5d751661abf252d912628ff8b23769c
mr -> dd5f37e8d5d751661abf252d912628ff8b23769c
ms -> dd5f37e8d5d751661abf252d912628ff8b23769c
my -> dd5f37e8d5d751661abf252d912628ff8b23769c
nb-NO -> dd5f37e8d5d751661abf252d912628ff8b23769c
ne-NP -> dd5f37e8d5d751661abf252d912628ff8b23769c
nl -> dd5f37e8d5d751661abf252d912628ff8b23769c
nn-NO -> dd5f37e8d5d751661abf252d912628ff8b23769c
oc -> dd5f37e8d5d751661abf252d912628ff8b23769c
pa-IN -> dd5f37e8d5d751661abf252d912628ff8b23769c
pl -> dd5f37e8d5d751661abf252d912628ff8b23769c
pt-BR -> dd5f37e8d5d751661abf252d912628ff8b23769c
pt-PT -> dd5f37e8d5d751661abf252d912628ff8b23769c
rm -> dd5f37e8d5d751661abf252d912628ff8b23769c
ro -> dd5f37e8d5d751661abf252d912628ff8b23769c
ru -> dd5f37e8d5d751661abf252d912628ff8b23769c
sk -> dd5f37e8d5d751661abf252d912628ff8b23769c
sl -> dd5f37e8d5d751661abf252d912628ff8b23769c
son -> dd5f37e8d5d751661abf252d912628ff8b23769c
sq -> dd5f37e8d5d751661abf252d912628ff8b23769c
sr -> dd5f37e8d5d751661abf252d912628ff8b23769c
sv-SE -> dd5f37e8d5d751661abf252d912628ff8b23769c
ta -> dd5f37e8d5d751661abf252d912628ff8b23769c
te -> dd5f37e8d5d751661abf252d912628ff8b23769c
th -> dd5f37e8d5d751661abf252d912628ff8b23769c
tl -> dd5f37e8d5d751661abf252d912628ff8b23769c
tr -> dd5f37e8d5d751661abf252d912628ff8b23769c
trs -> dd5f37e8d5d751661abf252d912628ff8b23769c
uk -> dd5f37e8d5d751661abf252d912628ff8b23769c
ur -> dd5f37e8d5d751661abf252d912628ff8b23769c
uz -> dd5f37e8d5d751661abf252d912628ff8b23769c
vi -> dd5f37e8d5d751661abf252d912628ff8b23769c
wo -> dd5f37e8d5d751661abf252d912628ff8b23769c
xh -> dd5f37e8d5d751661abf252d912628ff8b23769c
zam -> dd5f37e8d5d751661abf252d912628ff8b23769c
zh-CN -> dd5f37e8d5d751661abf252d912628ff8b23769c
zh-TW -> dd5f37e8d5d751661abf252d912628ff8b23769c
- - - - -
dd248634 by AndiAJ at 2025-05-21T08:57:54+00:00
Bug 1967462 - Re-enable verifyTabMainMenuItemsTest UI test r=aaronmt
The bug that caused problems [[ https://bugzilla.mozilla.org/show_bug.cgi?id=1965261 | 1965261 ]] was fixed a couple of days ago.
Did a status check and the UI test successfully passed 50x on Firebase ✅
Differential Revision: https://phabricator.services.mozilla.com/D250254
- - - - -
f1c9ab02 by Tom Schuster at 2025-05-21T08:58:08+00:00
Bug 1967261 - Create nsIconChannel with the correct nsILoadInfo from the beginning. r=necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D250123
- - - - -
060270c6 by Tom Schuster at 2025-05-21T08:58:12+00:00
Bug 1967261 - Create channel with the correct nsILoadInfo from the beginning in PageIconProtocolHandler. r=necko-reviewers,places-reviewers,kershaw,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D250124
- - - - -
dd04e2ff by Alexandra Borovova at 2025-05-21T08:58:39+00:00
Bug 1959370 - Add an ability to disable and enable security checks per user context for testing. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D247746
- - - - -
7f43d492 by Alexandra Borovova at 2025-05-21T08:58:43+00:00
Bug 1959372 - Move cert.sys.mjs to the shared folder. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D247747
- - - - -
b7188e11 by Alexandra Borovova at 2025-05-21T08:58:46+00:00
Bug 1959372 - [webdriver-bidi] Add support for "acceptInsecureCerts" argument to "browser.createUserContext" command. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D247748
- - - - -
84f29baa by Alexandra Borovova at 2025-05-21T08:58:50+00:00
Bug 1959372 - [wpt] Add support for "acceptInsecureCerts" argument to "browser.createUserContext" command in BiDi client. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D247749
- - - - -
fd1cc2a4 by Alexandra Borovova at 2025-05-21T08:58:54+00:00
Bug 1959372 - [wdspec] Add invalid test cases for "acceptInsecureCerts" argument in "browser.createUserContext" command. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D247750
- - - - -
e7ad37f5 by Alexandra Borovova at 2025-05-21T08:58:58+00:00
Bug 1959372 - [wdspec] Add mozilla-specific tests for "acceptInsecureCerts" for WebDriver BiDi and Classic. r=webdriver-reviewers,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D247751
- - - - -
d736b84d by iorgamgabriel at 2025-05-21T08:59:41+00:00
Bug 1965951 - Refactor `AcornColors` outside of `AcornTheme` r=android-reviewers,007
Differential Revision: https://phabricator.services.mozilla.com/D250028
- - - - -
92eba1b0 by Makoto Kato at 2025-05-21T09:00:08+00:00
Bug 1934115 - Don't dispose GeckoResult for content permission request. r=android-reviewers,owlish
When duplicated permission request is received, the `GeckoResult` for the
new request is disposed. It means that it is handled as `GeckoResult.DENY`.
Even if new permission request for geo location is same, we should merge
both with current prompt then handle all `GeckoResult` correctly.
Differential Revision: https://phabricator.services.mozilla.com/D242542
- - - - -
bd72d2dd by Eden Chuang at 2025-05-21T09:00:34+00:00
Bug 1967390 - Return IPC_FAIL when RemoteWorkerDebuggerParent endpoint is not valid. r=dom-worker-reviewers,smaug.
Differential Revision: https://phabricator.services.mozilla.com/D250260
- - - - -
15ebbaab by Marco Bonardo at 2025-05-21T09:00:46+00:00
Bug 1967228 - Add Result Menu to allow removing semantic history results from history. r=cgopal
Differential Revision: https://phabricator.services.mozilla.com/D250047
- - - - -
89747697 by Marco Bonardo at 2025-05-21T09:00:50+00:00
Bug 1967242 - Do not try to access the database connection when semantic manager is not available. r=cgopal
Differential Revision: https://phabricator.services.mozilla.com/D250053
- - - - -
1fa007f4 by Keith Cirkel at 2025-05-21T09:01:31+00:00
Bug 1966459 - Enable close watcher in desktop nightly r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D249429
- - - - -
2bcbaa3b by Julian Descottes at 2025-05-21T09:01:43+00:00
Bug 1967590 - [bidi] Add jsdoc for wait argument in browsingContext navigate and reload r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D250346
- - - - -
38e62bc5 by Julian Descottes at 2025-05-21T09:01:47+00:00
Bug 1967590 - [remote] Add logs for skipped state changes in ProgressListener r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D250347
- - - - -
8e79e590 by Julian Descottes at 2025-05-21T09:01:51+00:00
Bug 1967590 - [wdspec] Add wait=complete in reload commands used in network cache tests r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D250348
- - - - -
05863fe4 by Julien Cristau at 2025-05-21T09:02:34+00:00
Backed out 1 changesets (bug 1965944) for newtab test failures
Backed out changeset 7bc0cf7139b8 (bug 1965944)
Differential Revision: https://phabricator.services.mozilla.com/D250396
- - - - -
0ff8b57d by Mark Banner at 2025-05-21T09:44:57+00:00
Bug 1965336 - Redefine DOMStringMap in the TypeScript definitions to match its implementation. r=saschanaz DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250322
- - - - -
ec5110c8 by Lars Eggert at 2025-05-21T10:05:09+00:00
Bug 1959801 - Remove remove_dir_all r=supply-chain-reviewers,gfx-reviewers,ErichDonGubler
As far as I can tell, this code does not rely on the slight differences provided by the `remove_dir_all` crate that make it different than `std::fs::remove_dir_all`, but #gfx-reviewers should please confirm that.
Differential Revision: https://phabricator.services.mozilla.com/D245133
- - - - -
fd4104fd by Mugurell at 2025-05-21T10:43:43+00:00
Bug 1966305 - Show a 8dp horizontal padding if no browser/page actions r=android-reviewers,007
Differential Revision: https://phabricator.services.mozilla.com/D249228
- - - - -
90da95f9 by aiunusov(a)mozilla.com at 2025-05-21T11:23:18+00:00
Bug 1967608 - Make all prefs accessed by worker thread atomic, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D250349
- - - - -
7a9df7fa by Masayuki Nakano at 2025-05-21T11:24:14+00:00
Bug 1914546 - Make `OverOutElementsWrapper` stop storing the last `mouseover` event target when it's removed r=smaug
UI Events does not define that `mouseover` event target should be
restored if and only if it's removed temporarily and reconnected
immediately. However, Safari does it and Chrome did it. Therefore,
we followed their behavior in bug 1888018.
However, Chrome started failing the WPT added in bug 1888018 [1].
It seems that it's caused by their change to observe the mutation [2].
Anyway, Chrome stopped keeping to use the last `mouseover` target
which is temporarily removed as the next `mouseout` target.
Therefore, this patch makes `OverOutElementsWrapper` stop storing
the removed `mouseover` target when it's removed.
1. https://wpt.fyi/results/uievents/mouse/mouse_boundary_events_after_reappend…
2. https://source.chromium.org/chromium/chromium/src/+/990cc766afa5ab0a1d077f0…
Differential Revision: https://phabricator.services.mozilla.com/D250125
- - - - -
3e627ab4 by Moritz Beier at 2025-05-21T11:26:11+00:00
Bug 1967235 - Move strings for add engine dialog from enUS-searchFeatures.ftl to search.ftl. r=search-reviewers,fluent-reviewers,settings-reviewers,urlbar-reviewers,Standard8,bolsson,mossop
Differential Revision: https://phabricator.services.mozilla.com/D250030
- - - - -
215daa62 by Nicolas Chevobbe at 2025-05-21T11:36:54+00:00
Bug 1871881 - [devtools] Fix Inspector selector search using functional pseudo classes. r=devtools-reviewers,jdescottes.
In walker.js, for the selector search, we want to avoid calling `querySelectorAll` if the search
query is a simple tagname, as those are already retrieved in `_searchIndex`.
The regex that was used to check if we had a complex selector was wrong and would fail to
detect selector with pseudo class (e.g. `section:has(button)`).
We fix this by checking if the query does look like a tagname (only includes a-z chars and -),
and we add another check to see if the query is a valid selector, using `CSS.supports`.
Differential Revision: https://phabricator.services.mozilla.com/D250128
- - - - -
82bec491 by Mark Banner at 2025-05-21T11:39:42+00:00
Bug 1953824 - Add TypeScript configuration files for toolkit/components/places. r=jteow
Differential Revision: https://phabricator.services.mozilla.com/D241428
- - - - -
af8dbea4 by Ryan VanderMeulen at 2025-05-21T12:08:37+00:00
Bug 1967546 - Update AndroidX DataStore to version 1.1.7. r=android-reviewers,mcarare
Differential Revision: https://phabricator.services.mozilla.com/D250309
- - - - -
902b5ea1 by Ryan VanderMeulen at 2025-05-21T12:08:41+00:00
Bug 1967546 - Update AndroidX Fragment to version 1.8.7. r=android-reviewers,mcarare
Differential Revision: https://phabricator.services.mozilla.com/D250310
- - - - -
2ec49f86 by Corey Bryant at 2025-05-21T12:13:15+00:00
Bug 1967552 - Restore from-repo and to-repo as optional. r=taskgraph-reviewers,releng-reviewers,ahal
Thunderbird still needs these until it moves to git.
Differential Revision: https://phabricator.services.mozilla.com/D250315
- - - - -
cc25c341 by Tom Schuster at 2025-05-21T12:24:10+00:00
Bug 1967417 - Create a fallible LoadInfo factory. r=smaug,necko-reviewers,places-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D250182
- - - - -
3a8cf9aa by Updatebot at 2025-05-21T12:24:35+00:00
Bug 1967648 - Update android nightly application-services version bump to 75a87f0b4b74564337372a2608c3a9f670f5d003 r=release-managers,dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D250385
- - - - -
6e9afc55 by Andy Leiserson at 2025-05-21T12:33:37+00:00
Bug 1864904 - WebGPU: Raise TypeError on unsupported canvas format r=webgpu-reviewers,ErichDonGubler,webidl,nical,smaug
Differential Revision: https://phabricator.services.mozilla.com/D250364
- - - - -
118b53f1 by Erich Gubler at 2025-05-21T12:34:40+00:00
Bug 1965223 - chore(webgpu): update contents of apparently missed `tools/af_data_gen/main.cpp` in vendored CTS r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D250078
- - - - -
21e14eb2 by Erich Gubler at 2025-05-21T12:34:43+00:00
Bug 1965223 - refactor(webgpu): CTS revendor: distinguish `assert_seen` calls r=webgpu-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D250257
- - - - -
8404f363 by Tim Xia at 2025-05-21T12:46:00+00:00
Bug 1961215 - expand/collapse key points that persists across previews - r=Mardak,firefox-ai-ml-reviewers
- integration with opt-in
- fix skeleton alignment issues
- add test for toggle expand/collapse
- update optin telemetry tests
- add key_points_toggle telemetry and tests
- prevent key point generation if in-process or keypoints already exist for the card
- add todo comment for chevron icon
- reset telemery state
- update h3 to be available for accessibility api
- update for accessibility API
- remove feedback from metric description
Differential Revision: https://phabricator.services.mozilla.com/D249851
- - - - -
3185b606 by Yazan Al-Macki at 2025-05-21T12:59:36+00:00
Bug 1967430 - Enable scotch bonnet to prevent disable telemetry test from failing in beta. r=mak,urlbar-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250379
- - - - -
74eb44d6 by Serban Stanca at 2025-05-21T13:34:54+00:00
Revert "Bug 1967417 - Create a fallible LoadInfo factory. r=smaug,necko-reviewers,places-reviewers,kershaw" for causing multiple failures.
This reverts commit b9a9491a35823ebefc9cf171cc03f6830898bb59.
- - - - -
d5fc8c59 by iorgamgabriel at 2025-05-21T13:53:42+00:00
Bug 1964683 - Refactor DownloadNotification.createOngoingDownloadNotification to not take downloadJobState as param r=android-reviewers,npoon
Differential Revision: https://phabricator.services.mozilla.com/D250252
- - - - -
25f33c1b by Julian Seward at 2025-05-21T13:54:07+00:00
Bug 1967378 - wasm::ReportTier2ResultsOffThread: don't confuse OOM and compilation-cancelled. r=yury.
wasm::ReportTier2ResultsOffThread can get called with `success == false` in the
case where a compilation has been cancelled. It then constructs an error
string claiming OOM, which is confusing (and just plain wrong).
This patch just passes a `cancelled` flag to ReportTier2ResultsOffThread, with
which it can construct the correct error string.
Differential Revision: https://phabricator.services.mozilla.com/D250190
- - - - -
1352e195 by Paul Adenot at 2025-05-21T13:54:32+00:00
Bug 1966129 - Teach about:logging to copy the current settings to the clipboard as a preset URL. r=julienw,desktop-theme-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249082
- - - - -
5c7c70ed by Gijs Kruitbosch at 2025-05-21T13:54:58+00:00
Bug 1962056 - move places initialization out of BrowserGlue, r=places-reviewers,migration-reviewers,firefox-desktop-core-reviewers ,mossop,mak,mconley
Places frontend initialization is surprisingly complex, and disentangling it
from the rest of startup by moving it to its own file helps make some of the
logic a little more obvious, and makes unit-testing a bit easier.
This also removes BrowserGlue from the indirection mechanism used between
MigatorBase instances and Places, by switching to category-manager-based
invocation - this way, migrator code does not need to directly
call places code to tell it it's done, but we don't need BrowserGlue to play
messenger between them.
It would be nice to do the same thing for `places-init-complete` but
that is notified from C++ code so unfortunately that is not easily possible.
Differential Revision: https://phabricator.services.mozilla.com/D244428
- - - - -
433e7bf9 by Jeremy Swinarton at 2025-05-21T13:55:24+00:00
Bug 1921835: Move tab to start/end enabled when collapsed group on tab strip edge r=dao,tabbrowser-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249846
- - - - -
a2a77ac2 by Beth Rennie at 2025-05-21T13:55:55+00:00
Bug 1956080 - Split ExperimentStore initialization out of ExperimentManager initialization r=nimbus-reviewers,relud
Differential Revision: https://phabricator.services.mozilla.com/D250335
- - - - -
8c88f4b4 by Serban Stanca at 2025-05-21T15:14:08+00:00
Bug 1921835 - fix lint failure in browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_move.js.
- - - - -
43117093 by Keith Cirkel at 2025-05-21T15:14:12+00:00
Bug 1966459 - fix for wpt failures.
- - - - -
5bb14e5c by Mark Banner at 2025-05-21T15:19:16+00:00
Bug 1967611 - Cache TextEncoder/TextDecoder instances in the generated Uniffi interfaces. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D250358
- - - - -
cbba7f9e by Julien Cristau at 2025-05-21T15:19:48+00:00
Bug 1967729 - run linux startup-test on t-linux-docker workers r=taskgraph-reviewers,Eijebong,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250435
- - - - -
9571c9ce by Emilio Cobos Álvarez at 2025-05-21T15:20:26+00:00
Bug 1966682 - Don't reframe the root when inserting / removing the view transition snapshot containing block. r=dshin
Much like the custom content container, we don't need to reframe it. This
prevents some unnecessary work and triggering assertions which try to prevent
it.
Differential Revision: https://phabricator.services.mozilla.com/D249854
- - - - -
73c635a9 by Dave Townsend at 2025-05-21T15:20:53+00:00
Bug 1965072: Migrate ProfilesDatastoreService to toolkit. r=profiles-reviewers,firefox-desktop-core-reviewers ,mconley,jhirsch
Differential Revision: https://phabricator.services.mozilla.com/D249739
- - - - -
ef2e110e by Mathieu Leplatre at 2025-05-21T15:21:21+00:00
Bug 1761473 - Get rid of deprecated downloadToDisk() attachments method r=acottner,omc-reviewers,mviar
Differential Revision: https://phabricator.services.mozilla.com/D234466
- - - - -
c425bf73 by Tom Schuster at 2025-05-21T15:21:52+00:00
Bug 1967417 - Create a fallible LoadInfo factory. r=smaug,necko-reviewers,places-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D250182
- - - - -
7e97157f by Andreas Farre at 2025-05-21T15:22:19+00:00
Bug 1967393 - Enable Navigation API WPT tests. r=jjaschke
Differential Revision: https://phabricator.services.mozilla.com/D250420
- - - - -
aab06359 by Ben Hearsum at 2025-05-21T15:22:49+00:00
Bug 1967638: rename 'central' in merge-automation actions to 'main' r=releng-reviewers,jcristau
Differential Revision: https://phabricator.services.mozilla.com/D250380
- - - - -
4eb5c976 by Simon Friedberger at 2025-05-21T15:23:15+00:00
Bug 1850636: Fix disabling of HTTPS-First for xpcshell-test r=extension-reviewers,robwu
Differential Revision: https://phabricator.services.mozilla.com/D250409
- - - - -
09696b9c by Julien Cristau at 2025-05-21T15:23:43+00:00
Bug 1967726 - don't try to sign nonexistent langpack for artifact builds r=taskgraph-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250433
- - - - -
05496106 by serge-sans-paille at 2025-05-21T15:36:13+00:00
Bug 1967374 - Use MOZ_LIFETIME_CAPTURE_BY instead of MOZ_LIFETIME_BOUND where it makes sense r=nika
Differential Revision: https://phabricator.services.mozilla.com/D250312
- - - - -
b7bcc3e4 by Tim Xia at 2025-05-21T15:38:39+00:00
Bug 1965281 - Do not display the "Retry" option if "out of memory" error in Link Preview card - r=Mardak,firefox-ai-ml-reviewers
- Change isGenerationErrorState to generationError, an object with the error from inference
- determine whether to showRetryLink based on error.name
Differential Revision: https://phabricator.services.mozilla.com/D250259
- - - - -
c28e8ea0 by Beth Rennie at 2025-05-21T15:39:15+00:00
Bug 1956080 - Add an after-store-initialized migration phase r=nimbus-reviewers,relud
Because we need to run our migration after the store is initialized but
before the ExperimentManager processes enrollments we need a phase
between those two events.
Differential Revision: https://phabricator.services.mozilla.com/D250336
- - - - -
adb045e3 by Serban Stanca at 2025-05-21T16:37:42+00:00
Revert "Bug 1964158 - If a filter is not valid, return the original dirty region r=emilio" as requested by @longsonr.
This reverts commit ab0bcf22192b5bd37ca274cba487da733dda498a.
- - - - -
9ca70da4 by Meg Viar at 2025-05-21T17:31:09+00:00
Bug 1967713 - Update Remote L10N tests to accomodate new FTL file r=omc-reviewers,mimi
Differential Revision: https://phabricator.services.mozilla.com/D250444
- - - - -
61e2427b by Matthias Riffard at 2025-05-21T17:31:36+00:00
Bug 1964530 - Replace hardcoded values in test_moz_button.html. r=tgiles
Differential Revision: https://phabricator.services.mozilla.com/D250429
- - - - -
972f30c3 by Mike Conley at 2025-05-21T17:32:02+00:00
Bug 1965923 - Wait for the newtab readyPromise even after waiting for the addon database. r=willdurand,home-newtab-reviewers,maxx
Differential Revision: https://phabricator.services.mozilla.com/D248980
- - - - -
eb68279e by Sylvestre Ledru at 2025-05-21T17:32:14+00:00
Bug 1964702 - doc: replace paste.m.o by gist.github.com r=glob,tgiles DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250438
- - - - -
bf2f7cbd by Sylvestre Ledru at 2025-05-21T17:32:18+00:00
no bug - doc: remove some hg links r=mossop DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250440
- - - - -
d0fb4dea by Chidam Gopal at 2025-05-21T17:32:59+00:00
Bug 1967519 - Add Nimbus variable for similarity threshold r=mak
Differential Revision: https://phabricator.services.mozilla.com/D250275
- - - - -
9c53864f by Greg Stoll at 2025-05-21T17:33:11+00:00
Bug 1961170 part 1 - add autoAcknowledge to CheckFilesInBatchMode() r=dlp-reviewers,win-reviewers,handyman
The new entry point analyzeBatchContentRequest() (added in a later part)
is going to want this parameter.
Differential Revision: https://phabricator.services.mozilla.com/D248518
- - - - -
840449a2 by Greg Stoll at 2025-05-21T17:33:15+00:00
Bug 1961170 part 2 - add AnalyzeBatchContentRequest method r=dlp-reviewers,handyman
This adds a nsIContentAnalysisBatchResult interface which includes the
allowedFiles that the new method returns. On the C++ side I made the
existing ContentAnalysisActionResult class implement this interface
as well, but I'm not married to this; we could make a separate class
instead.
In practice I kind of doubt that a user on Windows could actually drag
some data that has some files and some non-files, but the code should
handle this case correctly. The non-files control whether the overall
result of the nsIContentAnalysisBatchResult is eAllow or eBlock, and
the files that are allowed will get put in allowedFiles.
Differential Revision: https://phabricator.services.mozilla.com/D248519
- - - - -
d25fc9f5 by Greg Stoll at 2025-05-21T17:33:19+00:00
Bug 1961170 part 3 - make DispatchToDropTargetAndResumeEndDragSession() take allowedFiles r=dlp-reviewers,handyman
Differential Revision: https://phabricator.services.mozilla.com/D248520
- - - - -
6cae87fe by Greg Stoll at 2025-05-21T17:33:22+00:00
Bug 1961170 part 4 - make DispatchToDropTargetAndResumeEndDragSession() take allowedFilePaths r=dlp-reviewers,handyman
Ideally aAllowedFilePaths would be an array of nsIFile, but unfortunately
we don't seem to be able to pass nsIFile's over IPC, so pass the paths
instead. This should be fine for Windows but may need more testing or
a better solution if/when we support Mac.
Differential Revision: https://phabricator.services.mozilla.com/D248521
- - - - -
80fd4f19 by Greg Stoll at 2025-05-21T17:33:26+00:00
Bug 1961170 part 5 - make SendDispatchToDropTargetAndResumeEndDragSession() take allowedFiles r=dlp-reviewers,handyman
Differential Revision: https://phabricator.services.mozilla.com/D248522
- - - - -
859cb20d by Greg Stoll at 2025-05-21T17:33:30+00:00
Bug 1961170 part 6 - update JS drag and drop code to call AnalyzeBatchContentRequest() and pass allowedFiles r=dlp-reviewers,reusable-components-reviewers,handyman,hjones
Differential Revision: https://phabricator.services.mozilla.com/D248523
- - - - -
7548fd51 by Greg Stoll at 2025-05-21T17:33:34+00:00
Bug 1961170 part 7 - update CA drag and drop tests r=dlp-reviewers,handyman
Differential Revision: https://phabricator.services.mozilla.com/D248524
- - - - -
fc4cacee by Dana Keeler at 2025-05-21T17:34:15+00:00
Bug 1965950 - for non-overridable certificate errors, provide the same diagnostic information as for overridable errors r=jschanck,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D249121
- - - - -
24b2de7e by Mark Banner at 2025-05-21T17:34:42+00:00
Bug 1967490 - Enable the Rust based search engine selector for late beta & release. r=search-reviewers,scunnane
Differential Revision: https://phabricator.services.mozilla.com/D250283
- - - - -
c02bea9a by Nick Alexander at 2025-05-21T17:34:54+00:00
Bug 1966468 - Make `mozinstall` handle archives when cross-compiling. r=firefox-build-system-reviewers,ahal,glandium
Differential Revision: https://phabricator.services.mozilla.com/D249445
- - - - -
10e18f7f by Nick Alexander at 2025-05-21T17:34:58+00:00
Bug 1966470 - Pre: Make `l10n-repack.py` command line easier to copy-paste. r=firefox-build-system-reviewers,glandium
This makes debugging a little easier.
While here, remove unused `PACKAGE_BASE_DIR`.
Differential Revision: https://phabricator.services.mozilla.com/D249446
- - - - -
5561c138 by Nick Alexander at 2025-05-21T17:35:01+00:00
Bug 1966470 - Part 1: Add `mach artifact install --unfiltered-project-package` command. r=firefox-build-system-reviewers,glandium
Getting artifacts from other locations when building is a solved
problem. But single-locale repacks do something very different that
is very hard to arrange locally. This commit will be used to make
single-locale repacks easier to work with.
This commit adds a new "unfiltered project package" mode that uses the
artifact build mode fetching code to download (and minimally process)
just the main package from a build. The processing is convenient on
macOS, where DMG files are onerous to work with and the application
bundle name varies.
Differential Revision: https://phabricator.services.mozilla.com/D249447
- - - - -
88e52afb by Nick Alexander at 2025-05-21T17:35:05+00:00
Bug 1966470 - Part 2: Use `mach artifact install --unfiltered-project-package` in single-locale repacks. r=firefox-build-system-reviewers,glandium
There's a lot here. The main thing is that rather than invoking
`INNER_UNMAKE_PACKAGE`, we use the new `mach artifact install
--unfiltered-project-package` flag to do that work. In automation,
this gets configured using `MOZ_ARTIFACT_TASK` and is deterministic;
locally, this is far easier to work with.
This replacement allows us to clean up a bunch of Makefile goo, some
of which is done here. More clean up is surely possible; the
`mozharness` config files are a good place to look next.
The `MOZ_PKG_MAC_*` settings previously referred to the unpacked DMG
resources. There's no need for that complication; we can always take
them from the branding resources. (The relevant `mozconfig`
entries *look* to always have Nightly branding, but merge automation
ensures that the branding is correctly set for Beta and Release.)
Differential Revision: https://phabricator.services.mozilla.com/D249448
- - - - -
daf48d67 by Paul Adenot at 2025-05-21T17:35:49+00:00
Bug 1967544 - Allocate backing memory for array buffer in CopyExtradataToDescription using the correct allocator. r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D250303
- - - - -
5df061b2 by Sylvestre Ledru at 2025-05-21T17:36:16+00:00
Bug 1617369 - Reformat recent rust changes with rustfmt r=emilio,webdriver-reviewers,whimboo
Updated with rustfmt 1.8.0-stable (17067e9ac6 2025-05-09)
Differential Revision: https://phabricator.services.mozilla.com/D249881
- - - - -
98d1b90c by Thomas Wisniewski at 2025-05-21T17:36:30+00:00
Bug 1950301 - remove our webcompat intervention for shamir.com; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249813
- - - - -
427d4254 by Thomas Wisniewski at 2025-05-21T17:36:34+00:00
Bug 1963302 - remove our CSS webcompat intervention for lefties.com; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249814
- - - - -
fe3c6899 by Thomas Wisniewski at 2025-05-21T17:36:37+00:00
Bug 1919698 - remove our webcompat UA override for anecdotes.ai; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249815
- - - - -
8680e55e by Thomas Wisniewski at 2025-05-21T17:36:41+00:00
Bug 1577267 - remove our webcompat UA override for metfone.com.kh; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249816
- - - - -
c2ca3170 by Thomas Wisniewski at 2025-05-21T17:36:45+00:00
Bug 1925508 - update our Android-only webcompat intervention for developer.apple.com to only be enabled when layout.css.prefixes.transforms=true; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249817
- - - - -
261948eb by Thomas Wisniewski at 2025-05-21T17:36:49+00:00
Bug 1945438 - add a CSS intervention for tiktok.com to hide extra scrollbars; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249818
- - - - -
efd4a9b4 by Thomas Wisniewski at 2025-05-21T17:36:52+00:00
Bug 1963619 - fix webcompat interventions automated tests; r=denschub
Differential Revision: https://phabricator.services.mozilla.com/D249819
- - - - -
43518b0a by Thomas Wisniewski at 2025-05-21T17:36:56+00:00
Bug 1966735 - fix some logic with the webcompat addon related to enabling/disabling inteventions; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249820
- - - - -
0b86c8c0 by Thomas Wisniewski at 2025-05-21T17:37:00+00:00
Bug 1966836 - Improve the max_version gate for webcompat interventions; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249821
- - - - -
2ad2df76 by Thomas Wisniewski at 2025-05-21T17:37:03+00:00
Bug 1911423 - add a desktop-only JS intervention for Power BI maps to fix touchpad zooming; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249886
- - - - -
489af6e8 by Thomas Wisniewski at 2025-05-21T17:37:07+00:00
Bug 1850998 - add an intervention for chaturbate.com on Android so fullscreen is actually fullscreen; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250340
- - - - -
a712f6a9 by Thomas Wisniewski at 2025-05-21T17:37:11+00:00
Bug 1966585 - add a CSS intervention for hiskin.care to reveal their main content; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250443
- - - - -
7d8c4a44 by Thomas Wisniewski at 2025-05-21T17:37:15+00:00
Bug 1966673 - add a JS intervention for culturepsg.com on Android to fix news links; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250446
- - - - -
988223ed by Thomas Wisniewski at 2025-05-21T17:37:18+00:00
Bug 1967694 - add a UA override for onlyfaucet.com; r=denschub,webcompat-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250448
- - - - -
02d33f4b by Julien Cristau at 2025-05-21T18:43:06+00:00
Bug 1967782 - run android-startup-test on t-linux-docker workers r=taskgraph-reviewers,jmaher
Differential Revision: https://phabricator.services.mozilla.com/D250464
- - - - -
3501828f by Julien Cristau at 2025-05-21T18:43:32+00:00
Bug 1967781 - run linux startup-test tasks on ubuntu 24.04. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D250462
- - - - -
f57efbed by Keith Cirkel at 2025-05-21T18:43:59+00:00
Bug 1967724 - enable light-dismiss for idlharness tests r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D250432
- - - - -
3dddab66 by Florian Quèze at 2025-05-21T18:44:26+00:00
Bug 1914581 - Telemetry for Kiosk mode, r=firefox-desktop-core-reviewers ,Gijs.
Differential Revision: https://phabricator.services.mozilla.com/D250414
- - - - -
359ecdf6 by William Wen at 2025-05-21T18:44:38+00:00
Bug 1962092 - Add flags and prefs for antifraud list feature. r=timhuang,extension-reviewers,robwu
Differential Revision: https://phabricator.services.mozilla.com/D247534
- - - - -
39775d3e by William Wen at 2025-05-21T18:44:42+00:00
Bug 1962092 - Add antifraud annotation feature. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247535
- - - - -
7a237776 by William Wen at 2025-05-21T18:44:45+00:00
Bug 1962092 - Add tracking protection skip for anti-fraud feature. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247536
- - - - -
33e188d3 by William Wen at 2025-05-21T18:44:49+00:00
Bug 1962092 - Add test for anti-fraud annotation. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D247537
- - - - -
eac2710d by Drew Willcoxon at 2025-05-21T18:45:32+00:00
Bug 1809459 - Use Map instances for UniFFI maps to allow non-string keys. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D250372
- - - - -
d79aa284 by Devota Aabel at 2025-05-21T18:45:44+00:00
Bug 1964174- Homepage content feed visual cleanup. r=gl,android-reviewers,android-l10n-reviewers,delphine
Differential Revision: https://phabricator.services.mozilla.com/D248673
- - - - -
915dabd4 by Devota Aabel at 2025-05-21T18:45:48+00:00
Bug 1964172- Rename Thought-Provoking Stories to Stories on homepage. r=gl,android-reviewers,android-l10n-reviewers,delphine
Differential Revision: https://phabricator.services.mozilla.com/D249667
- - - - -
e2d7c8a0 by Devota Aabel at 2025-05-21T18:45:52+00:00
Bug 1967003- Remove Homepage Stories setting subtext. r=gl,android-reviewers,android-l10n-reviewers,delphine
Differential Revision: https://phabricator.services.mozilla.com/D249844
- - - - -
8927ee60 by Sam Johnson at 2025-05-21T18:46:33+00:00
Bug 1967636 - Remove more unnecessary CSS padding rules on Linux. r=emilio
Like bug 1966545, after bug 1963446, these CSS rules are now applied on Linux, whereas previously they were overridden by native metrics. They are not needed, and cause things to look a bit off.
Differential Revision: https://phabricator.services.mozilla.com/D250378
- - - - -
63c22f91 by Release Engineering Landoscript at 2025-05-21T18:52:26+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
af -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
an -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ar -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ast -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
az -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
be -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bg -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
br -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
brx -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ca -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ca-valencia -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cak -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ckb -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cy -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
da -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
de -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
dsb -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
el -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
en-CA -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
en-GB -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
eo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-AR -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-CL -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-ES -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-MX -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
et -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
eu -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fa -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ff -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fi -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fur -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fy-NL -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ga-IE -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gd -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gu-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
he -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hi-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hsb -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hu -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hy-AM -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hye -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ia -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
id -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
is -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
it -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ja -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ja-JP-mac -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ka -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kab -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
km -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ko -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lij -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lt -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ltg -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lv -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
meh -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
mk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ml -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
mr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ms -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
my -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nb-NO -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ne-NP -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nn-NO -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
oc -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pa-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pt-BR -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pt-PT -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
rm -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ro -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ru -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sat -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sc -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
scn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sco -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
si -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
skr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
son -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sq -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sv-SE -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
szl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ta -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
te -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
tg -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
th -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
tl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
tr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
trs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
uk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ur -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
uz -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
vi -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
wo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
xh -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
zh-CN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
zh-TW -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
- - - - -
39dc4fb7 by Release Engineering Landoscript at 2025-05-21T18:52:29+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
an -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ar -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ast -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
az -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
be -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bg -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
br -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
bs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ca -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cak -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
cy -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
da -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
de -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
dsb -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
el -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
en-CA -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
en-GB -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
eo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-AR -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-CL -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-ES -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
es-MX -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
et -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
eu -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fa -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ff -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fi -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
fy-NL -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ga-IE -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gd -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
gu-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
he -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hi-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hsb -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hu -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
hy-AM -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ia -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
id -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
is -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
it -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ja -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ka -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kab -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
km -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
kn -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ko -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lij -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lt -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ltg -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
lv -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
meh -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
mix -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ml -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
mr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ms -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
my -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nb-NO -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ne-NP -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
nn-NO -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
oc -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pa-IN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pt-BR -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
pt-PT -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
rm -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ro -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ru -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
son -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sq -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
sv-SE -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ta -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
te -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
th -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
tl -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
tr -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
trs -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
uk -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
ur -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
uz -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
vi -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
wo -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
xh -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
zam -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
zh-CN -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
zh-TW -> 82a08ea3ce2d17f21f3d45f4b5607a37590b0158
- - - - -
8800fbef by Cristina Horotan at 2025-05-21T20:14:38+00:00
Revert "Bug 1964451 - Add use counters for OOM handling r=sfink,mccr8" on request
This reverts commit 7ae56a029252266ce967356e2254b1408b8522ea.
- - - - -
29d07397 by Cristina Horotan at 2025-05-21T20:14:42+00:00
Revert "Bug 1962092 - Add test for anti-fraud annotation. r=timhuang" fro causing bc failures at browser_antifraud_annotation.js
This reverts commit 552f52e9f2093d69da2d3e22352e79c4c9274017.
- - - - -
f51f6ad0 by smayya at 2025-05-21T21:03:38+00:00
Bug 1948222 - update nsILoadInfo.idl to add IPAddressSpace attribute. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D244558
- - - - -
3c5db49c by smayya at 2025-05-21T21:03:41+00:00
Bug 1948222 - Add IPAddressSpace settings in BrowsingContext. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238498
- - - - -
8ffa21ce by smayya at 2025-05-21T21:03:45+00:00
Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238478
- - - - -
1c271cfe by smayya at 2025-05-21T21:03:48+00:00
Bug 1960474 - Add LNA utility functions. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D238479
- - - - -
a5fad404 by smayya at 2025-05-21T21:03:52+00:00
Bug 1960474 - Add tests for LNA Utilities. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D249235
- - - - -
9a840611 by smayya at 2025-05-21T21:03:56+00:00
Bug 1944556 - update IpAddressSpace for browsingContexts. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D246199
- - - - -
95a04d27 by smayya at 2025-05-21T21:03:59+00:00
Bug 1960582 - Add LNA telemetry. r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D249887
- - - - -
3185b633 by Alex Hochheiden at 2025-05-21T21:04:44+00:00
Bug 1207261 - Suggest "|mach bootstrap|" if the emulator binary is not found r=geckoview-reviewers,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D250386
- - - - -
ca737fe1 by Pier Angelo Vendrame at 2025-05-21T21:05:10+00:00
Bug 1591337 - Spoof outer and screen measurements. r=tjr
RFP returns the inner size also as outer and screen sizes.
However, this triggers some bot detection mechanism.
So, we add a platform-dependent but constant offset for the outer size,
and a standard resolution (full HD, 4k or 8k) as a screen size.
Then, we remove another platform-dependent offset for the available
screen.
This might also fool simple fingerprinting scripts.
Differential Revision: https://phabricator.services.mozilla.com/D249534
- - - - -
c8fba6fa by Dan Mosedale at 2025-05-21T21:05:36+00:00
Bug 1967339 - Make FxMS expose messages after reach recording failures, r=omc-reviewers,emcminn
If ASRouter._recordReachEvent throws an error, right now we don't handle it, so we don't send exposure, and we don't route the message either. This patch makes that method catch all errors that occur inside it, much like the Glean record method.
The test we include forces an exception by replacing Glean's reach message with a stub that throws, even though it doesn't seem particularly likely that this is what's happening in the field. What's happening in the field seems to happen on the FxMS messaging IDs that are configured incorrectly AND that have some other as-yet-unknown property. There are a couple of live experiments that have (have had) issues but ONLY AFTER A CERTAIN POINT (maybe related to 138 hitting release).
The fix for https://bugzilla.mozilla.org/show_bug.cgi?id=1965869 has repaired the configuration on the recent misconfigured feature ids, which will likely fix many/most problems. This adds another bandaid, where if there's some issue inside _recordReachEvent, we'll handle that too.
More could be done to bulletproof sendTriggerMessage, where the relevant code all lives (we could consider putting the entire thing inside a try/catch block, and ideally even send telemetry if the catch block gets hit). I'm open to thoughts about that...
Differential Revision: https://phabricator.services.mozilla.com/D250302
- - - - -
d322f558 by Ryan VanderMeulen at 2025-05-21T21:06:02+00:00
Bug 1967709 - Update mingw to upstream revision 2ca6f1348cab58b5b994fd5916ff57445ade22f8. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D250426
- - - - -
f9e50af1 by Greg Mierzwinski at 2025-05-21T21:06:15+00:00
Bug 1964784 - Return lando commit ID from lando push. r=ahal
This patch changes the push to lando, and push to try functions to return the lando job ID.
Differential Revision: https://phabricator.services.mozilla.com/D248643
- - - - -
79af1000 by Greg Mierzwinski at 2025-05-21T21:06:19+00:00
Bug 1965472 - [mach-try-perf] Use lando commit ID instead of hashes for lando try runs. r=aglavic,perftest-reviewers
This patch changes the usage of a hash/date combination to lando commit IDs for perfcompare links. It also removes mentions of git, and enables push to lando for hg users. At the same time, a bit of cleanup is done to resolve a small bug with vcs links being output, and some other inaccuracies in the output.
Differential Revision: https://phabricator.services.mozilla.com/D248644
- - - - -
48915d48 by Greg Mierzwinski at 2025-05-21T21:06:23+00:00
Bug 1964784 - Output treeherder link with lando commit ID during push to try. r=ahal
This patch adds an output of a treeherder link during the standard push to try, and during the mach try perf push to try.
Differential Revision: https://phabricator.services.mozilla.com/D249772
- - - - -
95d9d6c7 by Rolf Rando at 2025-05-21T21:07:06+00:00
Bug 1967501 - Fix error going to tab group manager when STG feature is off r=dwalker,tabbrowser-reviewers,ngrato
Fixes a regression that disables tab group management immediately after creating a group with STG off.
I don't quite understand why this comes up, so I hope @ngrato can shed some insight before we land it.
Differential Revision: https://phabricator.services.mozilla.com/D250344
- - - - -
6eb94c19 by Tiaan Louw at 2025-05-21T21:07:18+00:00
Bug 1908320 - Orthogonal items should also participate in baseline alignment r=layout-reviewers,emilio
All items in an alignment context should be checked for baseline
alignment. Items that turn out to be orthogonal to the alignment
context should synthesize a baseline.
Differential Revision: https://phabricator.services.mozilla.com/D216793
- - - - -
a8f64b04 by Tiaan Louw at 2025-05-21T21:07:22+00:00
Bug 1947817 - Calculate grid item baselines from the correct under/over side. r=layout-grid-reviewers,dholbert
The side used to calculate the baseline offset should use the correct
under/over side according to the writing modes of the container and the
item.
Differential Revision: https://phabricator.services.mozilla.com/D240317
- - - - -
fefa3c0f by Tiaan Louw at 2025-05-21T21:07:25+00:00
Bug 1947817 - Update WPT tests for grid baseline calculation improvements. r=dholbert,layout-grid-reviewers
The tests reflects changes made in D216793 and D240317 and put together in
this patch to avoid failing tests in one patch and passing them again in
the next.
Differential Revision: https://phabricator.services.mozilla.com/D250473
- - - - -
252a030c by Rolf Rando at 2025-05-21T21:08:08+00:00
Bug 1963623 - Fix exception when smart tab groups is off r=dwalker,tabbrowser-reviewers,ngrato
Differential Revision: https://phabricator.services.mozilla.com/D250313
- - - - -
81885743 by Duncan McIntosh at 2025-05-21T21:08:34+00:00
Bug 1868192 - Add packageFamilyName attribute for use with ASRouterTargeting. r=nalexander,nrishel,omc-reviewers,jprickett
Differential Revision: https://phabricator.services.mozilla.com/D249417
- - - - -
3dcd419e by Cristina Horotan at 2025-05-21T22:30:49+00:00
Revert "Bug 1591337 - Spoof outer and screen measurements. r=tjr" fro causing bc failures at browser_spoofed_screen_size.js
This reverts commit cd997c06ad0f443e0fc373d2cbadb45f742db271.
- - - - -
d8782d83 by Tim Xia at 2025-05-21T22:35:10+00:00
Bug 1967766 update styles for border and box shadow for Link preview card - r=ngrato,firefox-ai-ml-reviewers
- border radius and box shadow change
Differential Revision: https://phabricator.services.mozilla.com/D250469
- - - - -
ff944789 by Erik Nordin at 2025-05-21T22:35:21+00:00
Bug 1820252 - Make TranslationsDocument functions private r=translations-reviewers,gregtatum
This patch makes all of the TranslationsDocument data members and functions
private, unless they are already used publicly in another file.
Differential Revision: https://phabricator.services.mozilla.com/D249967
- - - - -
93c4e7f3 by Erik Nordin at 2025-05-21T22:35:25+00:00
Bug 1820252 - Misc. TranslationsDocument Renames and Docs r=translations-reviewers,gregtatum
This patch contains a collection of miscellaneous variable
renames and documentation comment updates that will lessen
the cognitive load on subsequent patches.
Differential Revision: https://phabricator.services.mozilla.com/D249968
- - - - -
e5f6989a by Erik Nordin at 2025-05-21T22:35:29+00:00
Bug 1820252 - Misc. lint and clean up r=translations-reviewers,gregtatum
A collection of miscellaneous clean-ups and fixes for linter.
Differential Revision: https://phabricator.services.mozilla.com/D249969
- - - - -
11470b1d by Erik Nordin at 2025-05-21T22:35:32+00:00
Bug 1820252 - Misc. TranslationsDocument refactors r=translations-reviewers,gregtatum
A collection of miscellaneous refactors within the TranslationsDocument
class that achieve equivalent functionality to what existed before.
Differential Revision: https://phabricator.services.mozilla.com/D249970
- - - - -
1e91571e by Erik Nordin at 2025-05-21T22:35:36+00:00
Bug 1820252 - Remove viewport-translated r=translations-reviewers,gregtatum
This patch removes the functionality that reported to the Translations
actors when the viewport is translated. This metric was sometimes
unreliable due to dynamic content coming into the viewport, whereas
the metric itself only considered the viewport on page load.
This metric is less important with the upcomping move to intersection observer.
Differential Revision: https://phabricator.services.mozilla.com/D249971
- - - - -
73abe3ba by Erik Nordin at 2025-05-21T22:35:39+00:00
Bug 1820252 - Add an optional type to TE_addProfilerMarker r=translations-reviewers,gregtatum
Allows the TE_addProfilerMarker function to take an optional
type parameter that will specify the type of marker being
added, allowing it to go in its own track basedo n the type.
Differential Revision: https://phabricator.services.mozilla.com/D249972
- - - - -
45ed9ce6 by Erik Nordin at 2025-05-21T22:35:43+00:00
Bug 1820252 - Ensure switch statemens use braces r=translations-reviewers,gregtatum
Ensures that all switch statements within the Translations
component utilize curly braces for each case in the switch.
Differential Revision: https://phabricator.services.mozilla.com/D249973
- - - - -
9fb79023 by Erik Nordin at 2025-05-21T22:35:47+00:00
Bug 1967800 - Ensure all Translations actors are shutdown aware r=translations-reviewers,gregtatum
Fixes cases where the Translations actors may throw errors when
sending async messages over IPC due not not checking for the
didDestroy() function being called.
Differential Revision: https://phabricator.services.mozilla.com/D249974
- - - - -
83430379 by Erik Nordin at 2025-05-21T22:35:50+00:00
Bug 1820252 - Misc. Translations test fixes r=translations-reviewers,gregtatum
A collection of miscellaenous updates to pre-existing Translations
tests that will help to fix intermittently incorrect behavior.
Differential Revision: https://phabricator.services.mozilla.com/D249975
- - - - -
4733e8e7 by Erik Nordin at 2025-05-21T22:35:54+00:00
Bug 1820252 - Allow some HTML elements to translate as text r=translations-reviewers,gregtatum
Allows HTML elements that have only plain text content to
translate as text instead of as HTML. An example of this
would be `<div>Hello world</div>`. In such as case we can
simply send the text to be translated.
This makes no difference to the resulting output, but it
does affect which cache the translation ends up in.
If the example `<div>` were to translate as HTML in this
case, then mutating its inner `#text` node may result in
a cache miss later on.
Differential Revision: https://phabricator.services.mozilla.com/D249976
- - - - -
43f8333c by Erik Nordin at 2025-05-21T22:35:57+00:00
Bug 1820252 - Improve the Translations LRUCache r=translations-reviewers,gregtatum
Improves a few considerations around the Translations
LRUCache, improving its internal prioritization, as well
as fixing an issue with its time-to-live mechanism.
Differential Revision: https://phabricator.services.mozilla.com/D249977
- - - - -
37bb02c3 by Erik Nordin at 2025-05-21T22:36:01+00:00
Bug 1967792 - Do not re-translate translated attributes r=translations-reviewers,gregtatum
This patch fixes an edge case where the page itself may replace
an attribute with content that has already been translated.
This would previously cause the TranslationsDocument to translate
the text a second time, which, depending on the model, may reduce
the quality of the translation.
This is a common occurrence on Wikipedia, which will delete the
"title" attributes on `<a>` elements when moused over, and replace
them when the curor leaves.
The caching mechanism is now updated such that we will not re-translate
text that we know to be the output of a recent translation. This does
not, however, guard against the page inserting new text that happens
to be in the target language, which was not the previous result of
a translation request.
Differential Revision: https://phabricator.services.mozilla.com/D249978
- - - - -
cdbd7a81 by Erik Nordin at 2025-05-21T22:36:04+00:00
Bug 1967796 - Handle Block Within Inline r=translations-reviewers,gregtatum
This patch fixes behavior around a particular edge case in which
block elements may be contained within inline elements in the DOM.
The code previously assumed that inline elements were "leaves,"
and would never need to be subdivided further in terms of the
TranslationsDocument DOM parsing algorithm.
Differential Revision: https://phabricator.services.mozilla.com/D249979
- - - - -
744c7f2a by Erik Nordin at 2025-05-21T22:36:08+00:00
Bug 1820252 - Remove QueuedTranslator r=translations-reviewers,gregtatum
This patch removes the QueuedTranslator class from the
TranslationsDocument. The following patch re-introduces
a new class called TranslationScheduler, which has some
similarities to the QueuedTranslator, but the diff looks
much cleaner when considering it as a new abstraction.
Differential Revision: https://phabricator.services.mozilla.com/D249980
- - - - -
5bec05ee by Erik Nordin at 2025-05-21T22:36:12+00:00
Bug 1820252 - Introduce TranslationScheduler class r=translations-reviewers,gregtatum
This patch introduces a new class to the TranslationsDocument
called the TranslationScheduler. The TranslationScheduler is
a stack-based multi-level priority scheduler with mechanisms
that prevent starvation and guarantee scheduling fairness.
Differential Revision: https://phabricator.services.mozilla.com/D249981
- - - - -
3facdb37 by Erik Nordin at 2025-05-21T22:36:15+00:00
Bug 1820252 - Rework the isNodeHidden function r=translations-reviewers,gregtatum
This patch reworks the isNodeHidden function to be more robust.
The previous implementation had cases that may consider a node
as being visible, even if is not content that the user can see.
These changes paired with the TranslationScheduler will ensure
that nodes which are not directly visible to the user will be
translated with a lower priority than truly visible nodes.
Differential Revision: https://phabricator.services.mozilla.com/D249982
- - - - -
85e7af4e by Erik Nordin at 2025-05-21T22:36:19+00:00
Bug 1820252 - Lazify Full-Page Translations r=translations-reviewers,gregtatum
This patch introduces IntersectionObservers into the
TranslationsDocument, rewriting the algorithm to allow
translating only node content and attributes that are
within close proximity to the device's viewport.
Differential Revision: https://phabricator.services.mozilla.com/D249983
- - - - -
1d04b52a by Erik Nordin at 2025-05-21T22:36:22+00:00
Bug 1820252 - Introduce Content-Eager Mode r=translations-reviewers,gregtatum
This patch introduces a Content-Eager Translations
mode to the TranslationsDocument whenever the user
opens the find-in-page functionality.
Content-Eager mode enqueues all text-content translations
regardless of the node's proximity to the viewport.
Attributes are still lazily translated based on proximity.
Closing the FindBar will revert back to lazy mode.
Differential Revision: https://phabricator.services.mozilla.com/D249984
- - - - -
913de3ae by Erik Nordin at 2025-05-21T22:36:26+00:00
Bug 1820252 - Add TranslationsDocument test helpers r=translations-reviewers,gregtatum
This patch adds a few public functsion to the TranslationsDocument
as well as the TranslationsChild actor that are primarily intended
for use during testing. These functions help all of our tests not
only ensure that the content is translated correctly, but also that
the TranslationsDocument is upholding all of its invariants.
Differential Revision: https://phabricator.services.mozilla.com/D249985
- - - - -
7f289a57 by Erik Nordin at 2025-05-21T22:36:30+00:00
Bug 1820252 - Rework assertPageIsTranslated r=translations-reviewers,gregtatum
This patch reworks the way that we assert that the page
is translated in Full-Page Translations tests. In addition
to ensuring that the translated content matches the expectations,
each test now ensures that the TranslationsDocument has fulfilled
every translation request that we expect it to, as well as ensures
that the intersection-observed nodes within the TranslationsDocument
match what we expect, since nodes are no longer observed once they
are fully translated (until they are mutated).
These changes give us extremely strong correctness guarantees in
terms of assurance that the TranslationsDocument algorithms are
working as intended, and maintaining their invariants in all cases.
Differential Revision: https://phabricator.services.mozilla.com/D249987
- - - - -
9892887a by Erik Nordin at 2025-05-21T22:36:33+00:00
Bug 1820252 - Rework TranslationsBencher Stop Condition r=translations-reviewers,gregtatum
This patch reworks the stopping condition for the TranslationsBencher
such that it now truly waits for all translation requests to compelted,
rather than assuming that they have all completed once the content of
the final paragraph of the page has been translated.
Differential Revision: https://phabricator.services.mozilla.com/D249988
- - - - -
d307009f by Erik Nordin at 2025-05-21T22:36:37+00:00
Bug 1820252 - Update translations-document test cases r=translations-reviewers,gregtatum
This patch updates many of the test cases for the TranslationsDocument
that have changed expectations now that the scheduling algorithm is
stack-based instead of queue based. Many of the assertions are now
exactly reversed from how they were before.
Differential Revision: https://phabricator.services.mozilla.com/D249989
- - - - -
00d354ff by Erik Nordin at 2025-05-21T22:36:40+00:00
Bug 1820252 - Update TranslationsDocument mutation tests r=translations-reviewers,gregtatum
This patch makes several updates to the TranslationsDocument
mutations tests. The mock port now captures the counts of each
kind of request that is sent to the TranslationsEngine for
assertions, and the comparisons themselves are now done with
regex, instead of via prettified strings.
This allows us to test cases in which the translated text may
lie within a range of translationId values, as long as the
expected number of requests, and the final translated output
match the expectation.
Also updates all existing test cases to be compatible with
the new scheduling algorithm, as well as adds many new cases.
Differential Revision: https://phabricator.services.mozilla.com/D249990
- - - - -
2771c1ae by Erik Nordin at 2025-05-21T22:36:44+00:00
Bug 1820252 - Add mutation test for block within inline r=translations-reviewers,gregtatum
This patch adds only the block-within-inline test case.
This could have been included in the previous patch,
but is held back for convenience due to its special
mention in another patch earlier in this stack.
Differential Revision: https://phabricator.services.mozilla.com/D249991
- - - - -
29975c7a by Erik Nordin at 2025-05-21T22:36:47+00:00
Bug 1820252 - Rename assertPageIsUntranslated r=translations-reviewers,gregtatum
Renames all instances of "Untranslated" with "NotTranslated".
I think this wording is more clear that there may not be any
action that has been "undone," but may just have never occurred.
Differential Revision: https://phabricator.services.mozilla.com/D249992
- - - - -
0c682fdb by Erik Nordin at 2025-05-21T22:36:51+00:00
Bug 1820252 - Rename getLastParagraph r=translations-reviewers,gregtatum
Renames all instances of getLastParagraph to getFinalParagraph.
I like this wording more because the word "Final" is less likely
to be misunderstood as "Previous" in the way that "Last" can be.
Differential Revision: https://phabricator.services.mozilla.com/D249993
- - - - -
6124f291 by Erik Nordin at 2025-05-21T22:36:55+00:00
Bug 1820252 - Unify waitForCondition in content r=translations-reviewers,gregtatum
Unifies all calls waitForCondition in the content process
to use our TranslationsTest wrapper around ContentTaskUtils,
rather than using ContentTaskUtils directly.
Differential Revision: https://phabricator.services.mozilla.com/D249994
- - - - -
aa756dde by Erik Nordin at 2025-05-21T22:36:58+00:00
Bug 1820252 - Update Translations e2e tests r=translations-reviewers,gregtatum
Updates the Translations end-to-end tests to test both lazy
translations mode as well as content-eager translations mode.
Differential Revision: https://phabricator.services.mozilla.com/D249995
- - - - -
bbe7c3d5 by Erik Nordin at 2025-05-21T22:37:02+00:00
Bug 1946988 - Rework flip-lexical-shortlist tests r=translations-reviewers,gregtatum
Reworks all of the flip-lexical-shortlist tests, which have
notoriously been the culprits of some higher-frequency intermittent
test failures, to hopefully be a bit less error prone without
compromising the integrity of how they test this functionality.
Differential Revision: https://phabricator.services.mozilla.com/D249996
- - - - -
0aba30ba by Erik Nordin at 2025-05-21T22:37:06+00:00
Bug 1820252 - Assert attributes in Full-Page tests r=translations-reviewers,gregtatum
Ensures that all Full-Page Translations tests make assertions
against attributes as well as text content, by introducing
translatable attributes to both the `<h1>` elements of our
test pages as well as the final paragraphs of our test pages.
Differential Revision: https://phabricator.services.mozilla.com/D249997
- - - - -
32c80de2 by Erik Nordin at 2025-05-21T22:37:09+00:00
Bug 1820252 - Add IntersectionObserver tests r=translations-reviewers,gregtatum
Adds new tests specific to ensuring the intersection
observation behavior for Full-Page Translations is
working correctly in both lazy and content-eager mode.
Differential Revision: https://phabricator.services.mozilla.com/D249999
- - - - -
8b361951 by Erik Nordin at 2025-05-21T22:37:13+00:00
Bug 1820252 - Add FindBar tests r=translations-reviewers,gregtatum
This patch adds new Full-Page Translations tests that ensure
showing and hiding the FindBar correctly transitions the
TranslationsDocument between lazy and content-eager mode,
only on a per-tab basis.
Differential Revision: https://phabricator.services.mozilla.com/D250000
- - - - -
7c92c4ad by Erik Nordin at 2025-05-21T22:37:16+00:00
Bug 1820252 - Ensure TranslationsChild changes are minimal r=translations-reviewers,gregtatum
Reverts some of the more verbose changes in this patch stack
within the TranslationsChild file to instead ensure that the
file remains small and minimal. The file itself, even the size
of the file itself, is extremely performance sensitive, since
it is involved in nearly every page load.
Differential Revision: https://phabricator.services.mozilla.com/D250350
- - - - -
ae77f75c by Erik Nordin at 2025-05-21T22:37:20+00:00
Bug 1820252 - Move TranslationsDocument inline typedefs to d.ts file r=translations-reviewers,gregtatum
Moves all new types defined by @typedefs in inline comments
within the translations-document.sys.mjs file to the dedicated
translations.d.ts file, then imports them from there instead.
Differential Revision: https://phabricator.services.mozilla.com/D250351
- - - - -
c98da594 by Rolf Rando at 2025-05-21T22:38:01+00:00
Bug 1960998 - Send coarse interest vector in telemetry r=thecount,home-newtab-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250463
- - - - -
0b156458 by Emilio Cobos Álvarez at 2025-05-21T22:38:26+00:00
Bug 1965062 - Don't explicitly hide menulist icons on Linux / Windows. r=desktop-theme-reviewers,sfoster
The issue is that I removed:
/* work around a display: none in Linux's menu.css, see bug 1112310 */
.searchengine-menuitem > .menu-iconic-left {
display: flex;
}
For beta, I'll just restore that, but for Nightly I think we should just
display icons if the menuitem specifies so.
Differential Revision: https://phabricator.services.mozilla.com/D248347
- - - - -
a85881de by Mathew Hodson at 2025-05-21T22:38:51+00:00
Bug 1967597 - Fix license header in kind.yml r=releng-reviewers,bhearsum DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D250343
- - - - -
9cf09edc by Stephanie Cunnane at 2025-05-21T22:39:16+00:00
Bug 1904341 - Correct sources of an 'unknown' reason for search.engine.default.changed telemetry. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D245765
- - - - -
591cd951 by Hubert Boma Manilla at 2025-05-21T22:39:42+00:00
Bug 1962417 - [devtools] Scroll correctly to paused location while doing a file search r=devtools-reviewers,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D247680
- - - - -
44644ac7 by Chris Martin at 2025-05-21T22:40:07+00:00
Bug 1898774 - Fix null deref in DarwinGamepadService::DeviceAdded r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D249836
- - - - -
f5bf3e81 by Nicholas Rishel at 2025-05-21T22:40:19+00:00
Bug 1966828 - Part 1: Update the Taskbar Tabs move to taskbar icon. r=cdupuis,desktop-theme-reviewers,urlbar-reviewers,emilio,daisuke
Differential Revision: https://phabricator.services.mozilla.com/D249713
- - - - -
9777a53b by Nicholas Rishel at 2025-05-21T22:40:22+00:00
Bug 1966828 - Part 2: Add Taskbar Tabs move tab to normal browser window icon. r=cdupuis,desktop-theme-reviewers,urlbar-reviewers,emilio,daisuke
Differential Revision: https://phabricator.services.mozilla.com/D249714
- - - - -
48c25baa by Norisz Fay at 2025-05-21T23:35:37+00:00
Revert "Bug 1960582 - Add LNA telemetry. r=necko-reviewers,valentin" for causing xpcshell failures at test_ip_address_space_lna_glean.js
This reverts commit 31781d2656b697ecb1672027f154a29a85dc3086.
Revert "Bug 1944556 - update IpAddressSpace for browsingContexts. r=necko-reviewers,valentin"
This reverts commit 3456e8ce8178d8f12e2ac02ed901d23fc74ed176.
Revert "Bug 1960474 - Add tests for LNA Utilities. r=necko-reviewers,valentin"
This reverts commit 0c32ebb65d91c82de98cb85f120237d83cabe1cb.
Revert "Bug 1960474 - Add LNA utility functions. r=necko-reviewers,valentin"
This reverts commit d451da6219f4cd72d7001e9523df50c92a0a1d4e.
Revert "Bug 1948222 - Add IpAddressSpace and ParentIpAddressSpace members in LoadInfo. r=necko-reviewers,valentin"
This reverts commit 8bcd4900c40c165b1bba2d63e4141fa7fcdb6407.
Revert "Bug 1948222 - Add IPAddressSpace settings in BrowsingContext. r=necko-reviewers,valentin"
This reverts commit 2079ccb988e2fafd038eaef9ef5e6644c987ee2a.
Revert "Bug 1948222 - update nsILoadInfo.idl to add IPAddressSpace attribute. r=necko-reviewers,valentin"
This reverts commit 9126ee396c2ceea00f0915aaaec2a9fa93126d92.
- - - - -
1418697f by Emily McMinn at 2025-05-21T23:55:44+00:00
Bug 1964817 - Update illustrations & anchors for Tab Groups onboarding callouts r=omc-reviewers,jprickett
Differential Revision: https://phabricator.services.mozilla.com/D249091
- - - - -
91672f1b by Moritz Beier at 2025-05-21T23:56:09+00:00
Bug 1967739 - Enable browser.urlbar.update2.engineAliasRefresh by default. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D250436
- - - - -
9ea0ac34 by Beth Rennie at 2025-05-21T23:56:35+00:00
Bug 1956080 - Add a table for Nimbus enrollments r=jhirsch,nimbus-reviewers,profiles-reviewers,relud,mossop
Differential Revision: https://phabricator.services.mozilla.com/D249466
- - - - -
b3c536ac by Maxx Crawford at 2025-05-21T23:57:01+00:00
Bug 1967750 - Update shortcut sponsor label size r=home-newtab-reviewers,amy
Differential Revision: https://phabricator.services.mozilla.com/D250442
- - - - -
82ed8f6e by Charlie Humphreys at 2025-05-21T23:57:26+00:00
Bug 1965312: enable nimbus enrollment_status telemetry. r=nimbus-reviewers,beth
Differential Revision: https://phabricator.services.mozilla.com/D248487
- - - - -
2456317f by Tarek Ziadé at 2025-05-21T23:57:39+00:00
Bug 1963137 - Fixing test failures related to activating LMM r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D250423
- - - - -
89dd542c by Luca Greco at 2025-05-21T23:57:42+00:00
Bug 1961440 - Defer ModelHubAddonWrapper initialization to first AddonManager.getAddonsByTypes including mlmodel type. r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D250453
- - - - -
1c8a3f77 by Tarek Ziadé at 2025-05-21T23:57:46+00:00
Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249936
- - - - -
8388cfab by Tarek Ziadé at 2025-05-21T23:57:50+00:00
Bug 1967224 - promote preview strings for local model managment r=rpl,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D250021
- - - - -
3e1eed3c by kpatenio at 2025-05-21T23:58:30+00:00
Bug 1955583 - stop PiP from opening and instead show context menu on macOS ctrl+click. r=pip-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D250368
- - - - -
fdc0d6db by Hiroyuki Ikezoe at 2025-05-21T23:58:55+00:00
Bug 1967169 - Explicitly set layout.scroll.disable-pixel-alignment to test_interrupted_reflow.html. r=dlrobertson
Differential Revision: https://phabricator.services.mozilla.com/D250342
- - - - -
ca14fb6f by RebecaTudor at 2025-05-21T23:59:20+00:00
Bug 1967405 - Change description for the "Lock PBM Tabs" r=android-reviewers,android-l10n-reviewers,anpopa,gmalekpour,delphine
Change description for the "Lock PBM Tabs" option in Settings to align with figma.
Differential Revision: https://phabricator.services.mozilla.com/D250387
- - - - -
56d6a706 by Emilio Cobos Álvarez at 2025-05-21T23:59:46+00:00
Bug 1966679 - Skip view transition and co in all the code paths on which the root node goes away. r=smaug,view-transitions-reviewers,boris
Document::Open() calls DisconnectNodeTree(), which doesn't go through
RemoveChildNode() where we were skipping the transition. We still need
to disconnect the anon content tree there.
Differential Revision: https://phabricator.services.mozilla.com/D250475
- - - - -
ffcd4ae6 by Release Engineering Landoscript at 2025-05-22T00:12:04+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
e66fea62 by Cristina Horotan at 2025-05-22T01:25:53+00:00
Revert "Bug 1967224 - promote preview strings for local model managment r=rpl,fluent-reviewers,bolsson" for causing bv failures at browser_sidebar_hidden_categories.js
This reverts commit da4ec421c976a3454088c98ed69000a2741c7a1c.
Revert "Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato,willdurand"
This reverts commit 9ac7b4632f7b50471f5814d0042ebd6817fe97f9.
Revert "Bug 1961440 - Defer ModelHubAddonWrapper initialization to first AddonManager.getAddonsByTypes including mlmodel type. r=robwu"
This reverts commit e6c0422e9c777fea04ad2a71a07a2286412c7617.
Revert "Bug 1963137 - Fixing test failures related to activating LMM r=rpl"
This reverts commit 6246d6fab2be67bce4fd12e60c5e59a0686a3b95.
- - - - -
1326 changed files:
- .cron.yml
- Cargo.lock
- Cargo.toml
- accessible/base/TextLeafRange.cpp
- accessible/mac/mozAccessible.h
- accessible/mac/mozAccessible.mm
- accessible/mac/mozTextAccessible.h
- accessible/tests/browser/e10s/browser_caching_text_bounds.js
- accessible/tests/browser/mac/browser.toml
- + accessible/tests/browser/mac/browser_invalid.js
- accessible/tests/browser/windows/uia/browser_textPatterns.js
- accessible/windows/uia/UiaTextRange.cpp
- browser/app/profile/firefox.js
- browser/base/content/browser-addons.js
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/nsContextMenu.sys.mjs
- browser/base/content/test/contextMenu/browser_contextmenu_keyword.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/asrouter/content/assets/tabgroups/hort-animated-dark.svg
- browser/components/asrouter/content/assets/tabgroups/hort-animated-light.svg
- browser/components/asrouter/content/assets/tabgroups/hort-static-dark.svg
- browser/components/asrouter/content/assets/tabgroups/hort-static-light.svg
- browser/components/asrouter/content/assets/tabgroups/vert-animated-dark.svg
- browser/components/asrouter/content/assets/tabgroups/vert-animated-light.svg
- browser/components/asrouter/content/assets/tabgroups/vert-static-dark.svg
- browser/components/asrouter/content/assets/tabgroups/vert-static-light.svg
- browser/components/asrouter/docs/targeting-attributes.md
- browser/components/asrouter/modules/ASRouter.sys.mjs
- browser/components/asrouter/modules/ASRouterPreferences.sys.mjs
- browser/components/asrouter/modules/ASRouterTargeting.sys.mjs
- browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs
- browser/components/asrouter/modules/InfoBar.sys.mjs
- browser/components/asrouter/modules/PanelTestProvider.sys.mjs
- browser/components/asrouter/modules/RemoteL10n.sys.mjs
- browser/components/asrouter/tests/browser/browser_asrouter_targeting.js
- browser/components/asrouter/tests/browser/browser_trigger_messagesLoaded.js
- browser/components/asrouter/tests/unit/ASRouter.test.js
- browser/components/asrouter/tests/unit/RemoteL10n.test.js
- browser/components/asrouter/tests/unit/unit-entry.js
- browser/components/asrouter/tests/unit/utils.js
- browser/components/asrouter/tests/xpcshell/head.js
- + browser/components/asrouter/tests/xpcshell/test_ASRouterPreferences_maybeSetMessagingProfileID.js
- browser/components/asrouter/tests/xpcshell/test_ASRouterTelemetry.js
- + browser/components/asrouter/tests/xpcshell/test_ASRouter_shouldShowMessagesToProfile.js
- browser/components/asrouter/tests/xpcshell/test_OnboardingMessageProvider.js
- browser/components/asrouter/tests/xpcshell/xpcshell.toml
- browser/components/customizableui/CustomizableWidgets.sys.mjs
- browser/components/customizableui/test/browser.toml
- browser/components/customizableui/test/browser_screenshot_button_disabled.js
- browser/components/distribution.sys.mjs
- browser/components/enterprisepolicies/Policies.sys.mjs
- browser/components/enterprisepolicies/tests/browser/disable_fxscreenshots/browser_policy_disable_fxscreenshots.js
- browser/components/firefoxview/firefoxview.css
- browser/components/firefoxview/fxview-search-textbox.css
- browser/components/genai/LinkPreview.sys.mjs
- browser/components/genai/content/link-preview-card.css
- browser/components/genai/content/link-preview-card.mjs
- browser/components/genai/content/model-optin.css
- browser/components/genai/metrics.yaml
- browser/components/genai/tests/browser/browser_link_preview.js
- browser/components/genai/tests/browser/browser_link_preview_telemetry.js
- browser/components/metrics.yaml
- browser/components/migration/MigratorBase.sys.mjs
- browser/components/newtab/metrics.yaml
- + browser/components/places/PlacesBrowserStartup.sys.mjs
- + browser/components/places/PlacesComponents.manifest
- browser/components/places/moz.build
- browser/components/places/tests/browser/browser_bookmarks_checkDefaultBookmarks.js
- browser/components/places/tests/unit/test_browserGlue_distribution.js
- browser/components/places/tests/unit/test_browserGlue_migrate.js
- browser/components/places/tests/unit/test_browserGlue_prefs.js
- browser/components/places/tests/unit/test_clearHistory_shutdown.js
- browser/components/places/tests/unit/test_clearHistory_shutdown_v2.js
- browser/components/preferences/search.inc.xhtml
- browser/components/preferences/search.js
- browser/components/profiles/SelectableProfile.sys.mjs
- browser/components/profiles/SelectableProfileService.sys.mjs
- browser/components/profiles/moz.build
- browser/components/profiles/tests/unit/head.js
- browser/components/screenshots/ScreenshotsUtils.sys.mjs
- browser/components/screenshots/tests/browser/browser_screenshots_test_toggle_pref.js
- browser/components/search/content/addEngine.xhtml
- browser/components/shell/nsWindowsShellService.cpp
- browser/components/tabbrowser/content/tabbrowser.js
- browser/components/tabbrowser/content/tabgroup-menu.js
- browser/components/tabbrowser/test/browser/tabs/browser_multiselect_tabs_move.js
- browser/components/tests/unit/test_distribution.js
- browser/components/translations/tests/browser/browser.toml
- browser/components/translations/tests/browser/browser_translations_e2e_full_page_translate_with_lexical_shortlist.js
- browser/components/translations/tests/browser/browser_translations_e2e_full_page_translate_without_lexical_shortlist.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_content_eager.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_find_bar.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_find_bar_move_tab_to_new_window.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_find_bar_multi_tab.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_lazy.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_mutations_content_eager.js
- + browser/components/translations/tests/browser/browser_translations_full_page_intersection_mutations_lazy.js
- browser/components/translations/tests/browser/browser_translations_full_page_language_id_behavior.js
- browser/components/translations/tests/browser/browser_translations_full_page_moz_extension.js
- browser/components/translations/tests/browser/browser_translations_full_page_multiple_windows.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_always_translate_language_bad_data.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_always_translate_language_basic.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_always_translate_language_manual.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_always_translate_language_restore.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_app_menu_never_translate_language.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_app_menu_never_translate_site.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_auto_translate_error_view.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_auto_translate_revisit_view.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_basics.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_close_panel_never_translate_language_with_translations_active.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_close_panel_never_translate_site.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_engine_destroy.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_engine_destroy_pending.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_engine_unsupported.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_firstrun.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_flip_lexical_shortlist.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_fuzzing.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_modify_available_language_models.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_never_translate_language.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_never_translate_site.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_never_translate_site_auto.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_never_translate_site_basic.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_never_translate_site_manual.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_retry.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_script_tags.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_settings_unsupported_lang.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_switch_languages.js
- browser/components/translations/tests/browser/browser_translations_full_page_panel_switch_tabs_before_engine_ready.js
- browser/components/translations/tests/browser/browser_translations_full_page_reader_mode.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_auto_translate.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_retranslate.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_switch_languages.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_translation_failure.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_translation_request.js
- browser/components/translations/tests/browser/browser_translations_full_page_telemetry_unsupported_lang.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_auto_translate.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_full_page_and_select.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_full_page_multi_window.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_full_page_multi_window_multi_tab.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_full_page_navigate.js
- browser/components/translations/tests/browser/browser_translations_recent_language_memory_full_page_retranslate.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_feature_disabled.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_preferred_app_locales.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_preferred_language_edge_cases.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_preferred_web_languages.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_with_full_page_translations_active.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_with_no_text_selected.js
- browser/components/translations/tests/browser/browser_translations_select_context_menu_with_text_selected.js
- browser/components/translations/tests/browser/browser_translations_select_panel_flip_lexical_shortlist.js
- browser/components/translations/tests/browser/browser_translations_select_panel_translate_full_page_button.js
- browser/components/translations/tests/browser/browser_translations_select_telemetry_keypresses_translate_full_page_button.js
- browser/components/translations/tests/browser/browser_translations_select_telemetry_primary_ui.js
- browser/components/translations/tests/browser/browser_translations_select_telemetry_translation_failure_with_full_page_translations_active.js
- browser/components/translations/tests/browser/browser_translations_select_telemetry_translation_success_with_full_page_translations_active.js
- browser/components/translations/tests/browser/head.js
- browser/components/urlbar/ActionsProviderQuickActions.sys.mjs
- browser/components/urlbar/QuickActionsLoaderDefault.sys.mjs
- browser/components/urlbar/UrlbarPrefs.sys.mjs
- browser/components/urlbar/UrlbarProviderSemanticHistorySearch.sys.mjs
- browser/components/urlbar/content/enUS-searchFeatures.ftl
- browser/components/urlbar/private/AmpSuggestions.sys.mjs
- browser/components/urlbar/private/SuggestBackendRust.sys.mjs
- browser/components/urlbar/private/YelpSuggestions.sys.mjs
- browser/components/urlbar/tests/engagementTelemetry/browser/browser_glean_telemetry_disable.js
- browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs
- browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_yelp.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_fakespot.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_pocket.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_relevanceRanking.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_yelp.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_yelp_ml.js
- browser/components/urlbar/tests/quicksuggest/unit/test_rust_ingest.js
- browser/components/urlbar/tests/unit/test_UrlbarProviderSemanticHistorySearch.js
- browser/components/urlbar/tsconfig.json
- browser/extensions/newtab/common/Reducers.sys.mjs
- browser/extensions/newtab/content-src/components/DiscoveryStreamAdmin/DiscoveryStreamAdmin.jsx
- browser/extensions/newtab/content-src/components/TopSites/_TopSites.scss
- browser/extensions/newtab/content-src/styles/_theme.scss
- browser/extensions/newtab/css/activity-stream.css
- browser/extensions/newtab/data/content/activity-stream.bundle.js
- browser/extensions/newtab/lib/ActivityStream.sys.mjs
- browser/extensions/newtab/lib/DiscoveryStreamFeed.sys.mjs
- browser/extensions/newtab/lib/InferredModel/FeatureModel.sys.mjs
- browser/extensions/newtab/lib/InferredPersonalizationFeed.sys.mjs
- browser/extensions/newtab/lib/TelemetryFeed.sys.mjs
- browser/extensions/newtab/test/unit/content-src/components/DiscoveryStreamAdmin.test.jsx
- browser/extensions/newtab/test/xpcshell/test_InferredFeatureModel.js
- browser/extensions/webcompat/data/interventions.json
- browser/extensions/webcompat/injections/css/bug1963302-lefties.com-fix-jittery-scrolling.css → browser/extensions/webcompat/injections/css/bug1945438-www.tiktok.com-hide-extra-scrollbars.css
- + browser/extensions/webcompat/injections/css/bug1966585-hiskin.care-reveal-missing-content.css
- + browser/extensions/webcompat/injections/js/bug1850998-chaturbate.com.js
- + browser/extensions/webcompat/injections/js/bug1911423-app.powerbi.com-emulate-mousewheel-events.js
- − browser/extensions/webcompat/injections/js/bug1950301-shamir.com-ua-overrides.js
- + browser/extensions/webcompat/injections/js/bug1966673-culturepsg.com-niceScroll-cantouch-fix.js
- browser/extensions/webcompat/lib/intervention_helpers.js
- browser/extensions/webcompat/lib/interventions.js
- browser/extensions/webcompat/manifest.json
- browser/extensions/webcompat/tests/browser/browser.toml
- browser/extensions/webcompat/tests/browser/browser_aboutcompat.js
- + browser/extensions/webcompat/tests/browser/browser_intervention_gating.js
- browser/extensions/webcompat/tests/browser/head.js
- browser/installer/Makefile.in
- + browser/locales-preview/termsOfUse.ftl
- browser/locales/Makefile.in
- browser/locales/en-US/browser/addonNotifications.ftl
- browser/locales/en-US/browser/preferences/preferences.ftl
- browser/locales/en-US/browser/search.ftl
- browser/locales/jar.mn
- browser/locales/l10n-changesets.json
- browser/modules/AboutNewTab.sys.mjs
- browser/modules/ContextId.sys.mjs
- browser/themes/linux/places/organizer.css
- + browser/themes/shared/icons/taskbar-tabs-add-tab.svg
- − browser/themes/shared/icons/taskbar-tabs-create-new.svg
- + browser/themes/shared/icons/taskbar-tabs-move-tab.svg
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/urlbar-searchbar.css
- + build/rust/r-efi/Cargo.toml
- + build/rust/r-efi/lib.rs
- build/rust/wasi-0.10/Cargo.toml
- build/rust/wasi/Cargo.toml
- config/makefiles/makeutils.mk
- devtools/client/debugger/src/components/Editor/SearchInFileBar.js
- devtools/client/debugger/src/utils/editor/source-search.js
- + devtools/client/debugger/test/mochitest/browser_dbg-scrolling-with-search.js
- devtools/client/debugger/test/mochitest/browser_kz.toml
- devtools/server/actors/utils/walker-search.js
- devtools/server/tests/browser/browser_inspector-search.js
- devtools/server/tests/browser/inspector-search-data.html
- docs/contributing/engineering_show_and_tell.rst
- docs/rust-components/developing-rust-components/uniffi.md
- docs/rust-components/topic-guides/relevancy.md
- docs/rust-components/topic-guides/suggest.md
- docs/setup/linux_build.rst
- docs/setup/macos_build.rst
- docs/setup/windows_build.rst
- docshell/base/nsDocShell.cpp
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/TimeoutManager.cpp
- dom/base/UseCounters.conf
- dom/base/nsObjectLoadingContent.cpp
- dom/base/test/test_viewport_scroll.html
- dom/base/use_counter_metrics.yaml
- dom/events/EventStateManager.cpp
- dom/events/test/clipboard/browser_navigator_clipboard_contextmenu_suppression.js
- dom/events/test/test_bug1013412.html
- dom/gamepad/cocoa/CocoaGamepad.cpp
- dom/ipc/BrowserChild.cpp
- dom/ipc/BrowserChild.h
- dom/ipc/PBrowser.ipdl
- dom/media/webcodecs/WebCodecsUtils.cpp
- dom/media/webrtc/jsapi/PeerConnectionImpl.cpp
- dom/media/webrtc/jsep/JsepSessionImpl.cpp
- dom/media/webrtc/jsep/JsepTrack.cpp
- dom/script/ScriptLoader.cpp
- dom/security/nsContentSecurityUtils.cpp
- dom/serviceworkers/ServiceWorkerUtils.cpp
- dom/tests/mochitest/general/test_interfaces.js
- dom/tests/mochitest/general/test_offsets.html
- dom/webgpu/CanvasContext.cpp
- dom/webgpu/CanvasContext.h
- dom/webgpu/tests/cts/checkout/tools/af_data_gen/main.cpp
- dom/webgpu/tests/cts/vendor/src/main.rs
- dom/webgpu/tests/cts/vendor/src/test_split.rs
- dom/webidl/WebGPU.webidl
- dom/websocket/WebSocket.cpp
- dom/workers/WorkerPrivate.cpp
- dom/workers/remoteworkers/RemoteWorkerDebuggerManagerParent.cpp
- dom/xml/nsXMLContentSink.cpp
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- gfx/layers/apz/test/mochitest/test_bug1304689.html
- gfx/layers/apz/test/mochitest/test_frame_reconstruction.html
- gfx/layers/apz/test/mochitest/test_interrupted_reflow.html
- gfx/src/nsITheme.h
- gfx/thebes/gfxPlatformMac.cpp
- gfx/webrender_bindings/Cargo.toml
- gfx/webrender_bindings/src/bindings.rs
- gfx/webrender_bindings/src/program_cache.rs
- gradle/libs.versions.toml
- image/decoders/icon/android/nsIconChannel.cpp
- image/decoders/icon/android/nsIconChannel.h
- image/decoders/icon/gtk/nsIconChannel.cpp
- image/decoders/icon/gtk/nsIconChannel.h
- image/decoders/icon/mac/nsIconChannel.h
- image/decoders/icon/mac/nsIconChannelCocoa.mm
- image/decoders/icon/nsIconProtocolHandler.cpp
- image/decoders/icon/win/nsIconChannel.cpp
- image/decoders/icon/win/nsIconChannel.h
- image/imgLoader.cpp
- intl/l10n/Localization.cpp
- intl/l10n/Localization.h
- ipc/glue/IPCMessageUtilsSpecializations.h
- js/public/friend/ErrorNumbers.msg
- js/src/gc/Tenuring.cpp
- js/src/jit-test/etc/wasm/generate-spectests/wast2js/src/convert.rs
- js/src/vm/StringType-inl.h
- js/src/vm/StringType.h
- js/src/wasm/WasmBuiltins.cpp
- js/src/wasm/WasmCode.cpp
- js/src/wasm/WasmModule.cpp
- js/src/wasm/WasmModule.h
- layout/base/nsCSSFrameConstructor.cpp
- layout/base/nsLayoutUtils.cpp
- layout/base/nsLayoutUtils.h
- layout/base/tests/test_bug1515822.html
- layout/base/tests/test_bug1714640.html
- layout/base/tests/test_bug583889.html
- layout/base/tests/test_frame_reconstruction_scroll_restore.html
- + layout/docs/LayoutCodeReviewerChecklist.rst
- layout/docs/index.rst
- layout/generic/nsGridContainerFrame.cpp
- layout/generic/test/test_scroll_position_restore_no_bfcache.html
- layout/style/FontFaceSetDocumentImpl.cpp
- layout/style/FontFaceSetWorkerImpl.cpp
- layout/style/Loader.cpp
- + layout/style/crashtests/1966679.html
- layout/style/crashtests/crashtests.list
- layout/svg/FilterInstance.cpp
- media/webrtc/signaling/gtest/jsep_session_unittest.cpp
- media/webrtc/signaling/gtest/jsep_track_unittest.cpp
- mfbt/Attributes.h
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/permission/GeckoPermissionRequest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/permission/GeckoPermissionRequestTest.kt
- mobile/android/android-components/components/browser/engine-system/src/main/java/mozilla/components/browser/engine/system/permission/SystemPermissionRequest.kt
- mobile/android/android-components/components/browser/errorpages/src/main/res/values-it/strings.xml
- mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/ext/PermissionRequest.kt
- mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/reducer/ContentStateReducer.kt
- mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/action/ContentActionTest.kt
- mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/button/IconButton.kt
- + mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/theme/AcornColors.kt
- mobile/android/android-components/components/compose/base/src/main/java/mozilla/components/compose/base/theme/AcornTheme.kt
- mobile/android/android-components/components/compose/browser-toolbar/src/main/java/mozilla/components/compose/browser/toolbar/BrowserDisplayToolbar.kt
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-bs/strings.xml
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-en-rGB/strings.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/permission/PermissionRequest.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/permission/PermissionRequestTest.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadNotification.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/AbstractFetchDownloadServiceTest.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadNotificationTest.kt
- mobile/android/android-components/components/feature/prompts/src/main/res/values-it/strings.xml
- mobile/android/android-components/components/feature/sitepermissions/src/test/java/mozilla/components/feature/sitepermissions/SitePermissionsFeatureTest.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/moz.yaml
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/PocketTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/HomeScreenRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuHomepageRobot.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/snackbar/Snackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/PocketSection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ui/PocketStoriesComposables.kt
- − mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/view/PocketRecommendationsHeaderViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/view/PocketStoriesViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlAdapter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/ui/Homepage.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/lifecycle/LifecycleHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HomeSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/DefaultSavedLoginsStorage.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginItem.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginsAction.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginsMiddleware.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginsReducer.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginsState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/LoginsStore.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/ui/SavedLoginsScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Undo.kt
- − mobile/android/fenix/app/src/main/res/drawable/pocket_vector.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_browser.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/values-ab/strings.xml
- mobile/android/fenix/app/src/main/res/values-am/strings.xml
- mobile/android/fenix/app/src/main/res/values-an/strings.xml
- mobile/android/fenix/app/src/main/res/values-ar/strings.xml
- mobile/android/fenix/app/src/main/res/values-ast/strings.xml
- mobile/android/fenix/app/src/main/res/values-azb/strings.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bn/strings.xml
- mobile/android/fenix/app/src/main/res/values-bqi/strings.xml
- mobile/android/fenix/app/src/main/res/values-br/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-cak/strings.xml
- mobile/android/fenix/app/src/main/res/values-ceb/strings.xml
- mobile/android/fenix/app/src/main/res/values-ckb/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-eo/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rES/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/fenix/app/src/main/res/values-et/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fa/strings.xml
- mobile/android/fenix/app/src/main/res/values-ff/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-ga-rIE/strings.xml
- mobile/android/fenix/app/src/main/res/values-gd/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-gn/strings.xml
- mobile/android/fenix/app/src/main/res/values-gu-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-hi-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-hr/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hu/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-in/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-ka/strings.xml
- mobile/android/fenix/app/src/main/res/values-kaa/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-kmr/strings.xml
- mobile/android/fenix/app/src/main/res/values-kn/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-lij/strings.xml
- mobile/android/fenix/app/src/main/res/values-lo/strings.xml
- mobile/android/fenix/app/src/main/res/values-meh/strings.xml
- mobile/android/fenix/app/src/main/res/values-ml/strings.xml
- mobile/android/fenix/app/src/main/res/values-mr/strings.xml
- mobile/android/fenix/app/src/main/res/values-my/strings.xml
- mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-ne-rNP/strings.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rPK/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ro/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-sc/strings.xml
- mobile/android/fenix/app/src/main/res/values-scn/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-skr/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-sr/strings.xml
- mobile/android/fenix/app/src/main/res/values-su/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-szl/strings.xml
- mobile/android/fenix/app/src/main/res/values-ta/strings.xml
- mobile/android/fenix/app/src/main/res/values-te/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-th/strings.xml
- mobile/android/fenix/app/src/main/res/values-tl/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-trs/strings.xml
- mobile/android/fenix/app/src/main/res/values-tt/strings.xml
- mobile/android/fenix/app/src/main/res/values-tzm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-uk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ur/strings.xml
- mobile/android/fenix/app/src/main/res/values-uz/strings.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-yo/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/fenix/app/src/main/res/xml/home_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/SessionControlViewTest.kt
- + mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/logins/ui/LoginsReducerTest.kt
- mobile/android/focus-android/app/src/main/res/values-gl/strings.xml
- mobile/android/mach_commands.py
- mobile/locales/l10n-changesets.json
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- netwerk/base/LoadInfo.cpp
- netwerk/base/LoadInfo.h
- netwerk/base/nsIOService.cpp
- netwerk/base/nsNetUtil.cpp
- netwerk/protocol/http/AlternateServices.cpp
- netwerk/protocol/websocket/BaseWebSocketChannel.cpp
- netwerk/test/fuzz/TestHttpFuzzing.cpp
- python/mach/mach/command_util.py
- python/mach/mach/test/python.toml
- python/mach/mach/test/test_site_compatibility.py
- python/mozbuild/mozbuild/artifact_cache.py
- python/mozbuild/mozbuild/artifact_commands.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/base.py
- python/mozbuild/mozbuild/code_analysis/mach_commands.py
- python/mozbuild/mozbuild/compilation/warnings.py
- python/mozbuild/mozbuild/configure/__init__.py
- python/mozbuild/mozbuild/configure/util.py
- python/mozbuild/mozbuild/controller/building.py
- python/mozbuild/mozbuild/frontend/context.py
- python/mozbuild/mozbuild/frontend/gyp_reader.py
- python/mozbuild/mozbuild/frontend/sandbox.py
- + python/mozbuild/mozbuild/lockfiles/__init__.py
- + python/mozbuild/mozbuild/lockfiles/generate_python_lockfiles.py
- + python/mozbuild/mozbuild/lockfiles/mach_commands.py
- + python/mozbuild/mozbuild/lockfiles/site_dependency_extractor.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozbuild/mozbuild/nodeutil.py
- python/mozbuild/mozbuild/repackaging/application_ini.py
- python/mozbuild/mozbuild/repackaging/msix.py
- python/mozbuild/mozbuild/util.py
- python/mozbuild/mozbuild/vendor/mach_commands.py
- python/mozbuild/mozbuild/vendor/vendor_python.py
- python/mozterm/setup.py
- python/sites/build.txt
- python/sites/common.txt
- python/sites/docs.txt
- python/sites/lint.txt
- python/sites/manifest.txt
- python/sites/newtab.txt
- python/sites/python-test.txt
- python/sites/try.txt
- python/sites/update.txt
- python/sites/vendor.txt
- remote/jar.mn
- − remote/marionette/cert.sys.mjs
- remote/marionette/jar.mn
- remote/shared/Navigate.sys.mjs
- + remote/shared/webdriver/Certificates.sys.mjs
- remote/shared/webdriver/Session.sys.mjs
- remote/test/puppeteer/packages/browsers/src/browser-data/firefox.ts
- remote/webdriver-bidi/modules/root/browser.sys.mjs
- remote/webdriver-bidi/modules/root/browsingContext.sys.mjs
- security/manager/ssl/NSSErrorsService.cpp
- security/manager/ssl/data_storage/src/lib.rs
- security/manager/ssl/nsCertOverrideService.cpp
- security/manager/ssl/nsCertOverrideService.h
- security/manager/ssl/nsICertOverrideService.idl
- security/manager/ssl/tests/mochitest/browser/browser.toml
- + security/manager/ssl/tests/mochitest/browser/browser_setDisableAllSecurityChecksAndLetAttackersInterceptMyData.js
- security/nss/moz.yaml
- services/settings/Attachments.sys.mjs
- services/settings/RemoteSettingsClient.sys.mjs
- services/settings/docs/index.rst
- services/settings/test/unit/test_attachments_downloader.js
- services/sync/modules/TabsStore.sys.mjs
- services/sync/modules/engines/tabs.sys.mjs
- servo/components/style/values/computed/mod.rs
- supply-chain/audits.toml
- supply-chain/config.toml
- supply-chain/imports.lock
- taskcluster/config.yml
- taskcluster/gecko_taskgraph/actions/merge_automation.py
- taskcluster/gecko_taskgraph/config.py
- taskcluster/gecko_taskgraph/transforms/merge_automation.py
- taskcluster/gecko_taskgraph/util/signed_artifacts.py
- taskcluster/kinds/android-startup-test/kind.yml
- taskcluster/kinds/fetch/toolchains.yml
- taskcluster/kinds/l10n/kind.yml
- taskcluster/kinds/merge-automation/kind.yml
- taskcluster/kinds/release-early-tagging/kind.yml
- taskcluster/kinds/shippable-l10n/kind.yml
- taskcluster/kinds/startup-test/kind.yml
- taskcluster/test/params/mc-to-beta-merge-automation.yml
- testing/geckodriver/src/android.rs
- testing/geckodriver/src/browser.rs
- testing/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/mozinstall/tests/test_install.py
- testing/mozbase/mozinstall/tests/test_is_installer.py
- testing/mozbase/rust/mozrunner/src/runner.rs
- testing/mozharness/configs/single_locale/tc_linux32.py
- testing/mozharness/configs/single_locale/tc_linux_common.py
- testing/mozharness/configs/single_locale/tc_macosx64.py
- testing/mozharness/configs/single_locale/tc_win32.py
- testing/mozharness/configs/single_locale/tc_win64.py
- testing/mozharness/scripts/desktop_l10n.py
- testing/talos/talos/tests/scroll/reader.css
- − testing/web-platform/meta/css/css-flexbox/align-items-baseline-column-horz.html.ini
- − testing/web-platform/meta/css/css-flexbox/align-items-baseline-column-vert.html.ini
- − testing/web-platform/meta/css/css-flexbox/align-items-baseline-row-horz.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-align-baseline-003.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-column-axis-self-baseline-synthesized-005.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-container-baseline-001.html.ini
- testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-007.html.ini → testing/web-platform/meta/css/css-grid/alignment/grid-item-mixed-baseline-001.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-justify-baseline-003.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-justify-baseline-004.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-001.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-002.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-003.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-004.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-self-baseline-synthesized-005.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-001.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-002.html.ini
- testing/web-platform/meta/css/css-grid/alignment/grid-self-baseline-not-applied-if-sizing-cyclic-dependency-003.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-006.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-009.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-changes-grid-area-size-012.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-002.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-003.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-horiz-005.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-lr-002.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-lr-004.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-lr-005.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-rl-004.html.ini
- − testing/web-platform/meta/css/css-grid/alignment/self-baseline/grid-self-baseline-vertical-rl-005.html.ini
- − testing/web-platform/meta/css/css-grid/layout-algorithm/baseline-alignment-affects-intrinsic-size-001.html.ini
- − testing/web-platform/meta/css/css-grid/layout-algorithm/baseline-alignment-affects-intrinsic-size-003.html.ini
- − testing/web-platform/meta/css/css-grid/layout-algorithm/baseline-alignment-affects-intrinsic-size-004.html.ini
- testing/web-platform/meta/html/dom/idlharness.https.html.ini
- testing/web-platform/meta/navigation-api/__dir__.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/constructor.html.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/history-pushState.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/location-api.html.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/navigate-from-initial-about-blank-same-doc-popup.html.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/navigate-from-initial-about-blank-same-doc.html.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/navigate-from-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-back-forward-cross-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-back-forward-same-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-cross-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-intercept.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-replace-cross-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-replace-intercept.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-replace-same-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-navigate-same-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-reload-cross-doc.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-reload-intercept.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/navigation-updateCurrentEntry.html.ini
- − testing/web-platform/meta/navigation-api/currententrychange-event/not-on-load.html.ini
- testing/web-platform/meta/navigation-api/currententrychange-event/properties.html.ini
- testing/web-platform/meta/navigation-api/focus-reset/change-focus-back-to-origial-during-intercept.html.ini
- testing/web-platform/meta/navigation-api/focus-reset/change-focus-during-intercept.html.ini
- testing/web-platform/meta/navigation-api/focus-reset/change-focus-then-remove-during-intercept.html.ini
- testing/web-platform/meta/navigation-api/focus-reset/multiple-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-origin-traversal-redirect.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/click-crossdocument-crossorigin-sameorigindomain.sub.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/cross-window/click-crossdocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/click-samedocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/click-samedocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-crossdocument-crossorigin-sameorigindomain.sub.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-crossdocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-crossdocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-samedocument-crossorigin-sameorigindomain.sub.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-samedocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/location-samedocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-crossdocument-crossorigin-sameorigindomain.sub.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-crossdocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-crossdocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-samedocument-crossorigin-sameorigindomain.sub.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-samedocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/open-samedocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-crossdocument-crossorigin-sameorigindomain.sub.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-crossdocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-crossdocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-samedocument-crossorigin-sameorigindomain.sub.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-samedocument-crossorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/cross-window/submit-samedocument-sameorigin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/event-constructor.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/intercept-after-dispatch.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/intercept-canceled-event.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-cross-document-same-origin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-cross-origin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-detach-multiple.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-detach.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-handler-null-or-undefined.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-handler-returns-non-promise.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-handler-throws.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/intercept-history-pushState.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/intercept-history-replaceState.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-multiple-times-reject.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-multiple-times.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-navigation-back.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-on-synthetic-event.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-popstate.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-reject.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/intercept-resolve.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/intercept-same-document-history-back.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-cross-origin.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-download-userInitiated.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-download.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-fragment.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-same-origin-cross-document.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-userInitiated.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-anchor-with-target.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-destination-getState-back-forward.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-destination-getState-navigate.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-destination-getState-reload.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-get.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-reload.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-requestSubmit.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-traverse.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-userInitiated.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form-with-target.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-form.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-history-back-after-fragment.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-history-back-after-pushState.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-history-back-bfcache.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-history-back-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-history-go-0.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-history-pushState.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-history-replaceState.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-iframe-location.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-location.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-meta-refresh.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-navigation-back-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-navigation-back-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-navigation-navigate.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-svg-anchor-fragment.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-to-javascript.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-to-srcdoc.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigate-window-open-self.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigate-window-open.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/navigatesuccess-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigatesuccess-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigation-back-cross-document-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigation-traverseTo-navigates-top-and-same-doc-child-and-cross-doc-child.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/navigation-traverseTo-top-cancels-cross-document-child.html.ini
- − testing/web-platform/meta/navigation-api/navigate-event/same-url-replace-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-detach-in-onnavigate.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-window-stop-after-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-window-stop-in-onnavigate.html.ini
- testing/web-platform/meta/navigation-api/navigate-event/signal-abort-window-stop.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-after-bfcache-cross-origin.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-after-bfcache.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-push.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-reload.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-traverse-then-clobber.html.ini
- testing/web-platform/meta/navigation-api/navigation-activation/activation-traverse.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/current-basic.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-across-origins.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-bfcache-in-iframe.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-blank-navigation-from-cross-origin.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-blank-navigation.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-blob-navigation.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-cross-document-forward-pruning.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-javascript-url-navigation.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-navigations-in-multiple-windows.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-after-srcdoc-navigation.html.ini
- − testing/web-platform/meta/navigation-api/navigation-history-entry/entries-array-equality.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-in-new-javascript-url-iframe.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entries-in-new-srcdoc-iframe.html.ini
- − testing/web-platform/meta/navigation-api/navigation-history-entry/entries-when-inactive.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/entry-after-detach.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/index-not-in-entries.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/key-id-back-cross-document.html.ini
- − testing/web-platform/meta/navigation-api/navigation-history-entry/key-id-back-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/key-id-location-reload.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/key-id-location-replace.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/no-referrer-dynamic-url-censored.html.ini
- − testing/web-platform/meta/navigation-api/navigation-history-entry/opaque-origin-data-url.html.ini
- − testing/web-platform/meta/navigation-api/navigation-history-entry/opaque-origin.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/sameDocument-after-fragment-navigate.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/sameDocument-after-navigate-restore.html.ini
- testing/web-platform/meta/navigation-api/navigation-history-entry/state-after-navigate-restore.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/back-forward-multiple-frames.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/disambigaute-traverseTo-forward-multiple.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/forward-to-pruned-entry.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-base-url.html.ini
- − testing/web-platform/meta/navigation-api/navigation-methods/navigate-from-initial-about-blank-gc.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-from-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-history-state-replace.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-history-state.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-info-and-state.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-intercept-history-state.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-relative-url-utf8.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-relative-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-replace-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-replace-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-state-repeated-await.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/navigate-state-repeated.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-base-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-info.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-navigation-timing.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-no-args.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-service-worker-fetch-event.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-state-and-info.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/reload-state-undefined.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back-forward-opaque-origin.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back-forward-out-of-bounds.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back-intercept-rejected.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/back.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/forward-already-detached.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/forward-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/forward-intercept-rejected.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/forward-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/forward.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-204-205-download.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-already-detached.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-detach-in-onnavigate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-detach-in-serialization.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-file-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-initial-about-blank-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-intercept-interrupted.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-intercept-rejected.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-interrupted-within-onnavigate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-interrupted.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-invalid-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-opaque-origin.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-pagehide.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-push-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-push-javascript-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-beforeunload-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-detached-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-invalidurl-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-invalidurl-detached.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-invalidurl-pagehide.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-invalidurl-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-rejection-order-pagehide-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate-unserializable-state.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/navigate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-already-detached.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-detach-in-onnavigate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-detach-in-serialization.html.ini
- − testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-initial-about-blank.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-intercept-rejected.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-pagehide.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-rejection-order-beforeunload-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-rejection-order-detached-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-rejection-order-pagehide-unserializablestate.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload-unserializable-state.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/reload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-already-detached.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-beforeunload.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-cross-document-preventDefault.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-current.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-detach-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-detach-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-intercept-rejected.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-intercept.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-invalid-key.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo-repeated.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/return-value/traverseTo.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/sandboxing-back-parent.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/sandboxing-back-sibling.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/sandboxing-navigate-parent.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/sandboxing-navigate-sibling.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-after-adding-iframe.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-after-data-url.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-cross-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-detach-between-navigate-and-navigatesuccess.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-multiple-steps.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-navigates-multiple-iframes.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-same-document.html.ini
- testing/web-platform/meta/navigation-api/navigation-methods/traverseTo-with-cross-origin-in-history.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/anchor-download-intercept-reject.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/anchor-download-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/anchor-download.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/back-cross-document-event-order.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/back-same-document-intercept-reject.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/back-same-document-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/back-same-document.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/currententrychange-before-popstate-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/currententrychange-dispose-ordering.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/intercept-async.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-canceled.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-double-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-intercept-reentrant.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-intercept-reject.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/location-href-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-204-205-download-then-same-document.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-canceled.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-cross-document-double.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-cross-document-event-order.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-double-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-in-transition-finished.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept-precommitHandler-redirect.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept-precommitHandler.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept-stop.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-same-document-intercept-reentrant.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-same-document-intercept-reject.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-same-document.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/reload-canceled.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/reload-intercept-reject.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/reload-intercept.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/reload-no-popstate.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/transition-cross-document.html.ini
- − testing/web-platform/meta/navigation-api/ordering-and-transition/transition-finished-mark-as-handled.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/transition-realms-and-identity.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-after-bfcache.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-cross-document.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-for-full-session-history.tentative.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-for-navigation-in-child.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-intercept.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-navigate-during.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-reload-with-intercept.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-replace-with-intercept.html.ini
- − testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document-replaceState.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-same-document.html.ini
- testing/web-platform/meta/navigation-api/per-entry-events/dispose-skip-current-on-truncate.html.ini
- testing/web-platform/meta/navigation-api/precommit-handler/precommitHandler-redirect-throws.html.ini
- testing/web-platform/meta/navigation-api/precommit-handler/precommitHandler-reload.html.ini
- testing/web-platform/meta/navigation-api/precommit-handler/precommitHandler-traversal-commit-new-navigation-before-commit.html.ini
- testing/web-platform/meta/navigation-api/precommit-handler/precommitHandler-traverse.html.ini
- − testing/web-platform/meta/navigation-api/precommit-handler/precommitHandler-uncancelable.html.ini
- − testing/web-platform/meta/navigation-api/scroll-behavior/__dir__.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-intercept-handler-modifies.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-push.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-reject.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-reload.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-replace.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/after-transition-timing.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-basic.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-after-dispatch.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-after-resolve.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-fragment-does-not-exist.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-push.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-reload.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-repeated.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-replace.html.ini
- testing/web-platform/meta/navigation-api/scroll-behavior/manual-scroll-resets-when-no-fragment.html.ini
- − testing/web-platform/meta/navigation-api/scroll-behavior/scroll-without-intercept.html.ini
- testing/web-platform/meta/navigation-api/state/cross-document-away-and-back.html.ini
- testing/web-platform/meta/navigation-api/state/cross-document-location-api.html.ini
- testing/web-platform/meta/navigation-api/state/history-pushState.html.ini
- testing/web-platform/meta/navigation-api/state/history-replaceState.html.ini
- testing/web-platform/meta/navigation-api/state/location-reload.html.ini
- testing/web-platform/meta/navigation-api/state/same-document-away-and-back-location-api.html.ini
- testing/web-platform/meta/navigation-api/state/same-document-away-and-back-navigation-api.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/exception-order-initial-about-blank-unserializablestate.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/exception-order-not-fully-active-unserializablestate.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/initial-about-blank.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/no-args.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/not-fully-active.html.ini
- − testing/web-platform/meta/navigation-api/updateCurrentEntry-method/opaque-origin.html.ini
- testing/web-platform/meta/navigation-api/updateCurrentEntry-method/same-document-away-and-back-location-api.html.ini
- testing/web-platform/meta/navigation-api/updateCurrentEntry-method/unserializable.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_after_target_appended.html.ini
- testing/web-platform/meta/uievents/mouse/mouse_boundary_events_after_reappending_last_over_target.tentative.html.ini
- + testing/web-platform/mozilla/meta/webdriver/bidi/browser/create_user_context/accept_insecure_certs.py.ini
- + testing/web-platform/mozilla/meta/webdriver/classic/new_session/accept_insecure_certs.py.ini
- testing/web-platform/mozilla/meta/webgpu/cts/webgpu/web_platform/canvas/configure/cts.https.html.ini
- + testing/web-platform/mozilla/tests/webdriver/bidi/browser/create_user_context/accept_insecure_certs.py
- + testing/web-platform/mozilla/tests/webdriver/bidi/session/new/accept_insecure_certs.py
- + testing/web-platform/mozilla/tests/webdriver/classic/new_session/accept_insecure_certs.py
- testing/web-platform/tests/css/css-conditional/container-queries/font-relative-units.html
- testing/web-platform/tests/css/css-fonts/font-face-range-order.html
- testing/web-platform/tests/css/css-fonts/font-face-style-normal.html
- testing/web-platform/tests/css/css-fonts/generic-family-keywords-001.html
- testing/web-platform/tests/css/css-fonts/generic-family-keywords-003.html
- testing/web-platform/tests/css/css-grid/grid-extrinsically-sized-mutations.html
- testing/web-platform/tests/css/css-multicol/getclientrects-000.html
- testing/web-platform/tests/css/css-multicol/getclientrects-001.html
- testing/web-platform/tests/css/css-multicol/offsetProps-001.html
- testing/web-platform/tests/css/css-ruby/line-spacing.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-margin-001.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-circle-004.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-circle-005.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-004.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-ellipse-005.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-inset-003.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-polygon-004.html
- testing/web-platform/tests/css/css-shapes/shape-outside/values/shape-outside-shape-arguments-000.html
- testing/web-platform/tests/css/css-sizing/keyword-sizes-for-intrinsic-contributions.html
- testing/web-platform/tests/css/css-tables/tentative/baseline-table.html
- testing/web-platform/tests/css/css-tables/tentative/baseline-td.html
- testing/web-platform/tests/css/css-tables/tentative/colgroup-col.html
- testing/web-platform/tests/css/css-tables/tentative/table-quirks.html
- testing/web-platform/tests/css/css-text/white-space/trailing-space-position-001.html
- testing/web-platform/tests/css/css-text/white-space/white-space-intrinsic-size-021.html
- testing/web-platform/tests/css/css-values/cap-invalidation.html
- + testing/web-platform/tests/css/css-view-transitions/root-reconstruct-frame-tree-crash.html
- testing/web-platform/tests/css/css-writing-modes/forms/text-input-block-size.optional.html
- testing/web-platform/tests/css/cssom-view/getBoundingClientRect-shy.html
- testing/web-platform/tests/css/cssom/getComputedStyle-insets-relpos-inline.html
- − testing/web-platform/tests/css/filter-effects/zero-width-filter.html
- testing/web-platform/tests/mathml/presentation-markup/mrow/merror-001.html
- testing/web-platform/tests/mathml/presentation-markup/mrow/mphantom-001.html
- testing/web-platform/tests/resize-observer/svg.html
- testing/web-platform/tests/svg/interact/scripted/svg-pointer-events-bbox.html
- testing/web-platform/tests/svg/text/reftests/first-letter-ref.svg
- testing/web-platform/tests/svg/text/reftests/opacity-ref.svg
- testing/web-platform/tests/svg/text/scripted/getcharnumatposition.html
- testing/web-platform/tests/tools/webdriver/webdriver/bidi/modules/browser.py
- + testing/web-platform/tests/webdriver/tests/bidi/browser/create_user_context/invalid.py
- testing/web-platform/tests/webdriver/tests/bidi/network/before_request_sent/before_request_sent_cached.py
- testing/web-platform/tests/webdriver/tests/bidi/network/response_completed/response_completed_cached.py
- testing/web-platform/tests/webdriver/tests/bidi/network/response_started/response_started_cached.py
- testing/web-platform/tests/webdriver/tests/support/fixtures_bidi.py
- + testing/web-platform/tests/webrtc/RTCPeerConnection-addTransceiver-renegotiation.https.html
- testing/webcompat/client.py
- testing/webcompat/fixtures.py
- testing/webcompat/interventions/conftest.py
- testing/webcompat/interventions/pytest.ini
- testing/webcompat/interventions/tests/test_1848713_cleanrider_com.py
- + testing/webcompat/interventions/tests/test_1850998_chaturbate_com.py
- + testing/webcompat/interventions/tests/test_1911423_app_powerbi_com.py
- testing/webcompat/interventions/tests/test_1918609_zara_com.py
- testing/webcompat/interventions/tests/test_1925508_developer_apple_com.py
- testing/webcompat/interventions/tests/test_1919698_anecdotes_ai.py → testing/webcompat/interventions/tests/test_1945438_tiktok_com.py
- − testing/webcompat/interventions/tests/test_1950301_shamir_com.py
- testing/webcompat/interventions/tests/test_1960595_de_pons_com.py
- − testing/webcompat/interventions/tests/test_1963302_lefties_com.py
- + testing/webcompat/interventions/tests/test_1966585_hiskin_care.py
- testing/webcompat/interventions/tests/test_1577267_metfone_com_kh.py → testing/webcompat/interventions/tests/test_1967694_onlyfaucet_com.py
- third_party/python/pyproject.toml
- third_party/python/requirements.txt
- third_party/python/uv.lock
- third_party/python/uv.lock.hash
- third_party/rust/getrandom/.cargo-checksum.json
- third_party/rust/getrandom/CHANGELOG.md
- + third_party/rust/getrandom/Cargo.lock
- third_party/rust/getrandom/Cargo.toml
- third_party/rust/getrandom/LICENSE-MIT
- third_party/rust/getrandom/README.md
- third_party/rust/getrandom/build.rs
- third_party/rust/getrandom/src/backends.rs
- third_party/rust/getrandom/src/backends/apple_other.rs
- third_party/rust/getrandom/src/backends/custom.rs
- + third_party/rust/getrandom/src/backends/efi_rng.rs
- third_party/rust/getrandom/src/backends/esp_idf.rs
- third_party/rust/getrandom/src/backends/fuchsia.rs
- third_party/rust/getrandom/src/backends/getentropy.rs
- third_party/rust/getrandom/src/backends/getrandom.rs
- third_party/rust/getrandom/src/backends/hermit.rs
- − third_party/rust/getrandom/src/backends/linux_android.rs
- third_party/rust/getrandom/src/backends/linux_android_with_fallback.rs
- + third_party/rust/getrandom/src/backends/linux_raw.rs
- third_party/rust/getrandom/src/backends/netbsd.rs
- third_party/rust/getrandom/src/backends/rdrand.rs
- third_party/rust/getrandom/src/backends/rndr.rs
- third_party/rust/getrandom/src/backends/solaris.rs
- third_party/rust/getrandom/src/backends/solid.rs
- third_party/rust/getrandom/src/backends/use_file.rs
- third_party/rust/getrandom/src/backends/vxworks.rs
- third_party/rust/getrandom/src/backends/wasi_p1.rs
- third_party/rust/getrandom/src/backends/wasi_p2.rs
- third_party/rust/getrandom/src/backends/wasm_js.rs
- third_party/rust/getrandom/src/backends/windows.rs
- third_party/rust/getrandom/src/backends/windows7.rs
- third_party/rust/getrandom/src/error.rs
- third_party/rust/getrandom/src/lib.rs
- third_party/rust/getrandom/src/util.rs
- third_party/rust/getrandom/src/util_libc.rs
- third_party/rust/jobserver/.cargo-checksum.json
- + third_party/rust/jobserver/Cargo.lock
- third_party/rust/jobserver/Cargo.toml
- third_party/rust/jobserver/src/unix.rs
- third_party/rust/jobserver/src/windows.rs
- − third_party/rust/remove_dir_all/.cargo-checksum.json
- − third_party/rust/remove_dir_all/Cargo.toml
- − third_party/rust/remove_dir_all/LICENCE-APACHE
- − third_party/rust/remove_dir_all/LICENCE-MIT
- − third_party/rust/remove_dir_all/README.md
- − third_party/rust/remove_dir_all/src/fs.rs
- − third_party/rust/remove_dir_all/src/lib.rs
- third_party/rust/wasi/.cargo-checksum.json
- third_party/rust/wasi/Cargo.lock
- third_party/rust/wasi/Cargo.toml
- third_party/rust/wasi/README.md
- third_party/rust/wasi/ci/regenerate.sh
- − third_party/rust/wasi/ci/rustfmt-bindings.toml
- + third_party/rust/wasi/ci/vendor-wit.sh
- + third_party/rust/wasi/examples/cli-command-no_std.rs
- third_party/rust/wasi/examples/cli-command.rs
- + third_party/rust/wasi/examples/hello-world-no_std.rs
- third_party/rust/wasi/examples/hello-world.rs
- + third_party/rust/wasi/examples/http-proxy-no_std.rs
- third_party/rust/wasi/examples/http-proxy.rs
- third_party/rust/wasi/src/bindings.rs
- third_party/rust/wasi/src/command.rs
- + third_party/rust/wasi/src/ext/mod.rs
- + third_party/rust/wasi/src/ext/std.rs
- third_party/rust/wasi/src/lib.rs
- third_party/rust/wasi/src/proxy.rs
- third_party/rust/wasi/wit/deps/cli/command.wit
- third_party/rust/wasi/wit/deps/cli/environment.wit
- third_party/rust/wasi/wit/deps/cli/exit.wit
- third_party/rust/wasi/wit/deps/cli/imports.wit
- third_party/rust/wasi/wit/deps/cli/run.wit
- third_party/rust/wasi/wit/deps/cli/stdio.wit
- third_party/rust/wasi/wit/deps/cli/terminal.wit
- third_party/rust/wasi/wit/deps/clocks/monotonic-clock.wit
- + third_party/rust/wasi/wit/deps/clocks/timezone.wit
- third_party/rust/wasi/wit/deps/clocks/wall-clock.wit
- third_party/rust/wasi/wit/deps/clocks/world.wit
- third_party/rust/wasi/wit/deps/filesystem/preopens.wit
- third_party/rust/wasi/wit/deps/filesystem/types.wit
- third_party/rust/wasi/wit/deps/filesystem/world.wit
- third_party/rust/wasi/wit/deps/http/handler.wit
- third_party/rust/wasi/wit/deps/http/proxy.wit
- third_party/rust/wasi/wit/deps/http/types.wit
- third_party/rust/wasi/wit/deps/io/error.wit
- third_party/rust/wasi/wit/deps/io/poll.wit
- third_party/rust/wasi/wit/deps/io/streams.wit
- third_party/rust/wasi/wit/deps/io/world.wit
- third_party/rust/wasi/wit/deps/random/insecure-seed.wit
- third_party/rust/wasi/wit/deps/random/insecure.wit
- third_party/rust/wasi/wit/deps/random/random.wit
- third_party/rust/wasi/wit/deps/random/world.wit
- third_party/rust/wasi/wit/deps/sockets/instance-network.wit
- third_party/rust/wasi/wit/deps/sockets/ip-name-lookup.wit
- third_party/rust/wasi/wit/deps/sockets/network.wit
- third_party/rust/wasi/wit/deps/sockets/tcp-create-socket.wit
- third_party/rust/wasi/wit/deps/sockets/tcp.wit
- third_party/rust/wasi/wit/deps/sockets/udp-create-socket.wit
- third_party/rust/wasi/wit/deps/sockets/udp.wit
- third_party/rust/wasi/wit/deps/sockets/world.wit
- third_party/rust/wasi/wit/wasi-crate.wit
- third_party/rust/wit-bindgen-rt/.cargo-checksum.json
- + third_party/rust/wit-bindgen-rt/Cargo.lock
- third_party/rust/wit-bindgen-rt/Cargo.toml
- third_party/rust/wit-bindgen-rt/build.rs
- + third_party/rust/wit-bindgen-rt/src/async_support.rs
- + third_party/rust/wit-bindgen-rt/src/async_support/future_support.rs
- + third_party/rust/wit-bindgen-rt/src/async_support/stream_support.rs
- third_party/rust/wit-bindgen-rt/src/cabi_realloc.c
- third_party/rust/wit-bindgen-rt/src/cabi_realloc.o
- third_party/rust/wit-bindgen-rt/src/cabi_realloc.rs
- third_party/rust/wit-bindgen-rt/src/lib.rs
- third_party/rust/wit-bindgen-rt/src/libwit_bindgen_cabi_realloc.a
- toolkit/actors/PictureInPictureChild.sys.mjs
- toolkit/components/contentanalysis/ContentAnalysis.cpp
- toolkit/components/contentanalysis/ContentAnalysis.h
- toolkit/components/contentanalysis/ContentAnalysisIPCTypes.h
- toolkit/components/contentanalysis/nsIContentAnalysis.idl
- toolkit/components/contentanalysis/tests/browser/browser_content_analysis_dnd_diff_origin.js
- toolkit/components/contentanalysis/tests/browser/browser_content_analysis_dnd_same_origin.js
- toolkit/components/contentanalysis/tests/browser/browser_content_analysis_dnd_shadow.js
- toolkit/components/contentanalysis/tests/browser/head.js
- toolkit/components/contentanalysis/tests/gtest/TestContentAnalysis.cpp
- toolkit/components/contentrelevancy/ContentRelevancyManager.sys.mjs
- toolkit/components/contentrelevancy/tests/xpcshell/test_InterestVectorBasedScoring.js
- toolkit/components/extensions/ExtensionStorageSync.sys.mjs
- toolkit/components/extensions/storage/ExtensionStorageComponents.sys.mjs
- toolkit/components/extensions/test/xpcshell/test_StorageSyncService.js
- toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
- toolkit/components/ml/content/EngineProcess.sys.mjs
- toolkit/components/ml/content/ModelHub.sys.mjs
- toolkit/components/ml/content/Utils.sys.mjs
- toolkit/components/ml/tests/browser/browser_ml_cache.js
- toolkit/components/nimbus/ExperimentAPI.sys.mjs
- toolkit/components/nimbus/FeatureManifest.yaml
- toolkit/components/nimbus/lib/ExperimentManager.sys.mjs
- toolkit/components/nimbus/lib/Migrations.sys.mjs
- toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs
- toolkit/components/nimbus/metrics.yaml
- toolkit/components/nimbus/test/NimbusTestUtils.sys.mjs
- toolkit/components/nimbus/test/browser/browser_experiment_evaluate_jexl.js
- toolkit/components/nimbus/test/browser/browser_remotesettings_experiment_enroll.js
- toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js
- toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_remote_defaults.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_enroll.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_lifecycle.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_prefs.js
- toolkit/components/nimbus/test/unit/test_ExperimentManager_unenroll.js
- toolkit/components/nimbus/test/unit/test_FirefoxLabs.js
- toolkit/components/nimbus/test/unit/test_Migrations.js
- toolkit/components/nimbus/test/unit/test_NimbusTestUtils.js
- toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js
- toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader_updateRecipes.js
- toolkit/components/nimbus/test/unit/test_localization.js
- toolkit/components/nimbus/test/unit/test_nimbusTelemetry.js
- toolkit/components/nimbus/test/unit/test_policy.js
- toolkit/components/nimbus/test/unit/test_prefFlips.js
- toolkit/components/pictureinpicture/content/player.js
- toolkit/components/pictureinpicture/tests/browser_contextMenu.js
- toolkit/components/places/PageIconProtocolHandler.cpp
- toolkit/components/places/PlacesSemanticHistoryManager.sys.mjs
- toolkit/components/places/nsFaviconService.cpp
- + toolkit/components/places/tsconfig.json
- toolkit/components/satchel/megalist/content/components/password-card/password-card.css
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngineSelector.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- toolkit/components/search/nsISearchService.idl
- toolkit/components/search/tests/xpcshell/head_search.js
- toolkit/components/search/tests/xpcshell/test_ignorelist_update.js
- toolkit/components/search/tests/xpcshell/test_settings.js
- toolkit/components/telemetry/app/TelemetryEnvironment.sys.mjs
- + toolkit/components/telemetry/dap/DAPReportController.sys.mjs
- toolkit/components/telemetry/dap/DAPVisitCounter.sys.mjs
- toolkit/components/telemetry/dap/tests/xpcshell/test_dap.js
- + toolkit/components/telemetry/dap/tests/xpcshell/test_dap_report_controller.js
- + toolkit/components/telemetry/dap/tests/xpcshell/test_dap_visit_counter.js
- toolkit/components/telemetry/dap/tests/xpcshell/xpcshell.toml
- toolkit/components/telemetry/moz.build
- toolkit/components/translations/actors/TranslationsChild.sys.mjs
- toolkit/components/translations/actors/TranslationsEngineChild.sys.mjs
- toolkit/components/translations/actors/TranslationsEngineParent.sys.mjs
- toolkit/components/translations/actors/TranslationsParent.sys.mjs
- toolkit/components/translations/content/translations-document.sys.mjs
- toolkit/components/translations/content/translations-engine.sys.mjs
- toolkit/components/translations/tests/browser/browser.toml
- toolkit/components/translations/tests/browser/browser_translations_full_page.js
- toolkit/components/translations/tests/browser/browser_translations_shadow_dom.js
- toolkit/components/translations/tests/browser/browser_translations_shadow_dom_mutation.js
- toolkit/components/translations/tests/browser/browser_translations_text_cleaning.js
- toolkit/components/translations/tests/browser/browser_translations_translation_document.js
- toolkit/components/translations/tests/browser/browser_translations_translation_document_mutations.js
- toolkit/components/translations/tests/browser/shared-head.js
- toolkit/components/translations/tests/browser/translations-test.mjs
- + toolkit/components/translations/tests/browser/translations-tester-blank.html
- toolkit/components/translations/tests/browser/translations-tester-es-2.html
- toolkit/components/translations/tests/browser/translations-tester-es-mismatch-short.html
- toolkit/components/translations/tests/browser/translations-tester-es-mismatch.html
- toolkit/components/translations/tests/browser/translations-tester-es-short.html
- toolkit/components/translations/tests/browser/translations-tester-es-undeclared-short.html
- toolkit/components/translations/tests/browser/translations-tester-es-undeclared.html
- toolkit/components/translations/tests/browser/translations-tester-es.html
- toolkit/components/translations/tests/browser/translations-tester-no-tag.html
- toolkit/components/translations/tests/browser/translations-tester-select.html
- toolkit/components/translations/translations.d.ts
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustContextId.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustErrorsupport.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRelevancy.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustRemoteSettings.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSearch.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSuggest.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustSync15.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustTabs.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/generated/RustWebextstorage.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/components/moz.build
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/custom-types/src/lib.rs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustArithmetic.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustCustomTypes.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustExternalTypes.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFixtureCallbacks.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustFutures.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustGeometry.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRefcounts.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustRondpoint.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustSprites.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustTodolist.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/fixtures/generated/RustUniffiTraitInterfaces.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/src/lib.rs
- toolkit/components/uniffi-bindgen-gecko-js/src/render/js.rs
- toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Helpers.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/Map.sys.mjs
- toolkit/components/uniffi-bindgen-gecko-js/src/templates/js/String.sys.mjs
- toolkit/content/aboutLogging/aboutLogging.css
- toolkit/content/aboutLogging/aboutLogging.html
- toolkit/content/aboutLogging/aboutLogging.mjs
- toolkit/content/aboutNetError.mjs
- toolkit/content/tests/browser/browser_about_logging.js
- toolkit/content/tests/widgets/test_moz_button.html
- toolkit/content/widgets/browser-custom-element.mjs
- toolkit/content/widgets/moz-box-common.css
- toolkit/content/widgets/moz-page-nav/moz-page-nav.css
- toolkit/crashreporter/crash_helper_common/src/ipc_poller/unix.rs
- toolkit/locales-preview/localModelManagement.ftl
- toolkit/locales/en-US/toolkit/about/aboutAddons.ftl
- toolkit/locales/en-US/toolkit/about/aboutLogging.ftl
- toolkit/locales/en-US/toolkit/neterror/certError.ftl
- toolkit/locales/l10n.mk
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- + toolkit/mozapps/extensions/content/components/addon-mlmodel-details.css
- toolkit/mozapps/extensions/content/components/addon-mlmodel-details.mjs
- toolkit/mozapps/extensions/content/components/mlmodel-card-header-additions.css
- + toolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.css
- + toolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.mjs
- toolkit/mozapps/extensions/internal/ModelHubProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/browser_html_mlmodel_addons.js
- toolkit/mozapps/extensions/test/xpcshell/test_ModelHubProvider.js
- toolkit/mozapps/installer/upload-files.mk
- browser/components/profiles/ProfilesDatastoreService.sys.mjs → toolkit/profile/ProfilesDatastoreService.sys.mjs
- toolkit/profile/moz.build
- toolkit/themes/mobile/global/jar.mn
- toolkit/themes/shared/design-system/design-tokens.json
- toolkit/themes/shared/design-system/tokens-figma-theme.json
- toolkit/themes/shared/design-system/tokens-shared.css
- toolkit/themes/shared/design-system/tokens-storybook.mjs
- toolkit/themes/shared/in-content/common-shared.css
- toolkit/themes/shared/menu.css
- toolkit/themes/shared/pictureinpicture/player.css
- tools/(a)types/generated/lib.gecko.modules.d.ts
- tools/(a)types/generated/lib.gecko.xpcom.d.ts
- tools/(a)types/generated/tspaths.json
- tools/(a)types/lib.gecko.tweaks.d.ts
- tools/lint/fluent-lint/exclusions.yml
- tools/tryselect/docs/selectors/release.rst
- tools/tryselect/lando.py
- tools/tryselect/push.py
- tools/tryselect/selectors/perf.py
- tools/tryselect/selectors/perfselector/perfpushinfo.py
- tools/tryselect/selectors/release.py
- tools/tryselect/test/test_perf.py
- uriloader/preload/FetchPreloader.cpp
- widget/Theme.cpp
- widget/Theme.h
- widget/ThemeCocoa.cpp
- widget/ThemeCocoa.h
- widget/cocoa/nsNativeThemeCocoa.h
- widget/cocoa/nsNativeThemeCocoa.mm
- widget/gtk/nsNativeThemeGTK.cpp
- widget/gtk/nsNativeThemeGTK.h
- widget/nsBaseDragService.cpp
- widget/nsIDragSession.idl
- widget/windows/nsFilePicker.cpp
- widget/windows/nsNativeThemeWin.cpp
- widget/windows/nsNativeThemeWin.h
- xpcom/base/CycleCollectedJSRuntime.cpp
- xpcom/string/nsTDependentString.h
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/dbef1a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/dbef1a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] 2 commits: fixup! [android] Modify build system
by Dan Ballard (@dan) 22 May '25
by Dan Ballard (@dan) 22 May '25
22 May '25
Dan Ballard pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
bac0c232 by Dan Ballard at 2025-05-22T15:49:17+02:00
fixup! [android] Modify build system
Bug 43809: allow tba-fetch-deps to download from nightlies
- - - - -
33b39bf7 by Dan Ballard at 2025-05-22T15:51:06+02:00
fixup! TB 42669: [android] Use custom no-op app-services
Bug 43809: allow tba-fetch-deps to download nightlies
- - - - -
1 changed file:
- mobile/android/fenix/tools/tba-fetch-deps.sh
Changes:
=====================================
mobile/android/fenix/tools/tba-fetch-deps.sh
=====================================
@@ -1,24 +1,55 @@
#!/bin/bash
+if [ $# -eq 0 ]; then
+ echo "Usage: ./tba-fetch-deps.sh --\$MODE"
+ echo " modes:"
+ echo " --nightly Downloads the needed assets from the nightlies build server. Use when local version matches nightly build server version."
+ echo " --tbb PATH Harvest most recently built assets from PATH assuming it points to a tor-browser-build dir. Use when local version does NOT match nightly build server version."
+ exit -1
+fi
+
+TBB_BUILD_06="https://tb-build-06.torproject.org/~tb-builder/tor-browser-build/out"
+
+if [[ $1 == "--tbb" && -z $2 ]]; then
+ echo "--tbb needs path to tor-browser-build dir"
+ exit -1
+fi
+TBB_PATH=$2
+
cd "$(dirname $(realpath "$0"))/.."
if [ -z "$TOR_BROWSER_BUILD" ]; then
TOR_BROWSER_BUILD=../../../../tor-browser-build
fi
-tor_expert_bundle_aar="$(ls -1td "$TOR_BROWSER_BUILD/out/tor-expert-bundle-aar/"tor-expert-bundle-aar-* | head -1)"
-if [ -z "tor_expert_bundle_aar" ]; then
+echo "Fetching tor-expert-bundle.aar..."
+
+if [[ $1 == "--tbb" ]]; then
+ tor_expert_bundle_aar="$(ls -1td "$TOR_BROWSER_BUILD/out/tor-expert-bundle-aar/"tor-expert-bundle-aar-* | head -1)"
+ cp "$tor_expert_bundle_aar"/* app/
+else
+ tor_expert_bundle_aar_dirname="$(curl -s $TBB_BUILD_06/tor-expert-bundle-aar/ | sed -nE 's/.*href=\"(tor-expert-bundle-aar-[0-9a-z\.\-]*).*/\1/p')"
+ curl -o app/tor-expert-bundle.aar $TBB_BUILD_06/tor-expert-bundle-aar/$tor_expert_bundle_aar_dirname/tor-expert-bundle.aar
+fi
+
+if [ -z app/tor_expert_bundle.aar ]; then
echo "Cannot find Tor Expert Bundle arr artifacts!"
exit 2
fi
+echo ""
-cp "$tor_expert_bundle_aar"/* app/
+echo "Fetching noscript..."
-noscript="$(find "$TOR_BROWSER_BUILD/out/browser" -name 'noscript*.xpi' -print | sort | tail -1)"
mkdir -p "app/src/main/assets/extensions"
-if [ -f "$noscript" ]; then
- cp "$noscript" "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
+
+if [[ $1 == "--tbb" ]]; then
+ noscript="$(find "$TOR_BROWSER_BUILD/out/browser" -name 'noscript*.xpi' -print | sort | tail -1)"
+ cp "$noscript" "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
+else
+ noscript_fname="$(curl -s $TBB_BUILD_06/browser/ | sed -nE 's/.*href=\"(noscript-[0-9a-z\.\-]*).*/\1/p')"
+ curl -o "app/src/main/assets/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi" $TBB_BUILD_06/browser/$noscript_fname
fi
+echo ""
if [ -z "$GRADLE_MAVEN_REPOSITORIES" ]; then
GRADLE_MAVEN_REPOSITORIES="$HOME/.m2/repository"
@@ -47,7 +78,18 @@ if [ "$os" = "unsupported" ] || [ "$arch" = "unsupported" ]; then
exit 2
fi
-app_services="$(ls -1t "$TOR_BROWSER_BUILD/out/application-services/"application-services*.tar.zst | head -1)"
+echo "Fetching application-services..."
+
+if [[ $1 == "--tbb" ]]; then
+ app_services="$(ls -1t "$TOR_BROWSER_BUILD/out/application-services/"application-services*.tar.zst | head -1)"
+ tar -C /tmp -xf "$app_services"
+else
+ app_services_fname="$(curl -s $TBB_BUILD_06/application-services/ | sed -nE 's/.*href=\"(application-services-[0-9a-z\.\-]*).*/\1/p')"
+ app_services=/tmp/$app_services_fname
+ curl -o $app_services $TBB_BUILD_06/application-services/$app_services_fname
+ tar -C /tmp -xf "$app_services"
+ rm "$app_services"
+fi
mkdir -p "$GRADLE_MAVEN_REPOSITORIES/org/mozilla"
if [ -f "$app_services" ]; then
tar -C /tmp -xf "$app_services"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cfd69f…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/cfd69f…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_115_24_0esr_BUILD1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new tag FIREFOX_115_24_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-115.24.0esr-13.5-1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new branch tor-browser-115.24.0esr-13.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-128.11.0esr-14.5-1-build1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new tag mullvad-browser-128.11.0esr-14.5-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser][mullvad-browser-128.11.0esr-14.5-1] 24 commits: MB 38: Mullvad Browser configuration
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed to branch mullvad-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
Commits:
58bcf52e by Pier Angelo Vendrame at 2025-05-22T14:01:54+02:00
MB 38: Mullvad Browser configuration
- - - - -
2e937abd by Pier Angelo Vendrame at 2025-05-22T14:01:55+02:00
MB 1: Mullvad Browser branding
See also:
mullvad-browser#5: Product name and directory customization
mullvad-browser#12: Create new branding directories and integrate Mullvad icons+branding
mullvad-browser#14: Remove Default Built-in bookmarks
mullvad-browser#35: Add custom PDF icons for Windows builds
mullvad-browser#48: Replace Mozilla copyright and legal trademarks in mullvadbrowser.exe metadata
mullvad-browser#51: Update trademark string
mullvad-browser#104: Update shipped dll metadata copyright/licensing info
mullvad-browser#107: Add alpha and nightly icons
- - - - -
21ba85de by Henry Wilkes at 2025-05-22T14:01:55+02:00
Mullvad Browser strings
This commit adds strings needed by the following Mullvad Browser
patches.
- - - - -
a55f9bbb by Henry Wilkes at 2025-05-22T14:01:56+02:00
Add CI for Mullvad Browser
- - - - -
868e91be by Pier Angelo Vendrame at 2025-05-22T14:01:57+02:00
MB 20: Allow packaged-addons in PBM.
We install a few addons from the distribution directory, but they are
not automatically enabled for PBM mode.
This commit modifies the code that installs them to also add the PBM
permission to the known ones.
- - - - -
9aafc086 by Pier Angelo Vendrame at 2025-05-22T14:01:57+02:00
MB 63: Customize some about pages for Mullvad Browser
Also:
mullvad-browser#57: Purge unneeded about: pages
- - - - -
dce23bd3 by Pier Angelo Vendrame at 2025-05-22T14:01:58+02:00
MB 37: Customization for the about dialog
- - - - -
d55ea80b by Henry Wilkes at 2025-05-22T14:01:59+02:00
MB 39: Add home page about:mullvad-browser
- - - - -
d15f04e6 by hackademix at 2025-05-22T14:01:59+02:00
MB 97: Remove UI cues to install new extensions.
- - - - -
08316422 by hackademix at 2025-05-22T14:02:00+02:00
MB 47: uBlock Origin customization
- - - - -
19c51043 by Pier Angelo Vendrame at 2025-05-22T14:02:01+02:00
MB 21: Disable the password manager
This commit disables the about:login page and removes the "Login and
Password" section of about:preferences.
We do not do anything to the real password manager of Firefox, that is
in toolkit: it contains C++ parts that make it difficult to actually
prevent it from being built..
Finally, we modify the the function that opens about:login to report an
error in the console so that we can quickly get a backtrace to the code
that tries to use it.
- - - - -
7218bf32 by Pier Angelo Vendrame at 2025-05-22T14:02:02+02:00
MB 112: Updater customization for Mullvad Browser
MB 71: Set the updater base URL to Mullvad domain
- - - - -
372c491a by Nicolas Vigier at 2025-05-22T14:02:02+02:00
MB 79: Add Mullvad Browser MAR signing keys
MB 256: Add mullvad-browser nightly mar signing key
- - - - -
b9795eb8 by Pier Angelo Vendrame at 2025-05-22T14:02:03+02:00
MB 34: Hide unsafe and unwanted preferences UI
about:preferences allow to override some of our defaults, that could
be fingeprintable or have some other unwanted consequences.
- - - - -
6a8493ac by Pier Angelo Vendrame at 2025-05-22T14:02:04+02:00
MB 160: Disable the cookie exceptions button
Besides disabling the "Delete on close checkbox", disable also the
"Manage Exceptions" button when always using PBM.
- - - - -
0c32b379 by hackademix at 2025-05-22T14:02:04+02:00
MB 163: prevent uBlock Origin from being uninstalled/disabled
- - - - -
54d6e137 by Morgan at 2025-05-22T14:02:05+02:00
MB 188: Customize Gitlab Issue and Merge templates
- - - - -
1deb9a3f by rui hildt at 2025-05-22T14:02:06+02:00
MB 213: Customize the search engines list
MB 328: Refactor the search engine patch.
Upstream switched to a completely different search engine configuration
between ESR 115 and ESR 128.
We moved our configuration to a couple of JSON files that do not follow
upstream's schemas, as they are overcomplicated for our needs.
Also, we keep the old search engine extensions for now, as upstream
also kept them, and planned of removing them with Bug 1885953.
- - - - -
bfb87868 by hackademix at 2025-05-22T14:02:06+02:00
MB 214: Enable cross-tab identity leak protection in "quiet" mode
- - - - -
78e3120b by Pier Angelo Vendrame at 2025-05-22T14:02:07+02:00
MB 80: Enable Mullvad Browser as a default browser
- - - - -
6adf746b by Pier Angelo Vendrame at 2025-05-22T14:02:08+02:00
MB 320: Temporarily disable WebRTC and WDBA on Windows.
WebRTC should be re-enabled when tor-browser#42758 is resolved, and and
the default browser agent when in general we make this feature work
again.
- - - - -
e29a50db by Henry Wilkes at 2025-05-22T14:02:09+02:00
MB 329: Customize toolbar for mullvad-browser.
- - - - -
cc34e412 by Henry Wilkes at 2025-05-22T14:02:09+02:00
MB 419: Mullvad Browser migration procedures.
This commit implements the the Mullvad Browser's version of _migrateUI.
- - - - -
6c234dd9 by Kershaw Chang at 2025-05-22T14:02:10+02:00
Bug 1910593 - Don't prefetch HTTPS RR if proxyDNS is enabled, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D219528
- - - - -
280 changed files:
- .gitlab/ci/jobs/update-translations.yml
- .gitlab/issue_templates/000 Bug Report.md
- .gitlab/issue_templates/010 Proposal.md
- .gitlab/issue_templates/020 Web Compatibility.md
- .gitlab/issue_templates/030 Test.md
- .gitlab/issue_templates/040 Feature.md
- .gitlab/issue_templates/060 Rebase - Alpha.md
- .gitlab/issue_templates/061 Rebase - Stable.md
- .gitlab/issue_templates/063 Rebase - Rapid.md
- .gitlab/issue_templates/090 Emergency Security Issue.md
- .gitlab/merge_request_templates/Default.md
- + .gitlab/merge_request_templates/Rebase.md
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/module.ver
- browser/app/firefox.exe.manifest → browser/app/mullvadbrowser.exe.manifest
- + browser/app/profile/000-mullvad-browser.js
- browser/app/profile/001-base-profile.js
- browser/base/content/aboutDialog.xhtml
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser.js
- browser/base/content/default-bookmarks.html
- browser/base/content/nsContextMenu.js
- browser/base/content/overrides/app-license.html
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/utilityOverlay.js
- browser/branding/branding-common.mozbuild
- + browser/branding/mb-alpha/VisualElements_150.png
- + browser/branding/mb-alpha/VisualElements_70.png
- + browser/branding/mb-alpha/configure.sh
- + browser/branding/mb-alpha/content/about-logo.png
- + browser/branding/mb-alpha/content/about-logo.svg
- + browser/branding/mb-alpha/content/about-logo(a)2x.png
- + browser/branding/mb-alpha/content/about-wordmark.svg
- + browser/branding/mb-alpha/content/about.png
- + browser/branding/mb-alpha/content/aboutDialog.css
- + browser/branding/mb-alpha/content/firefox-wordmark.svg
- + browser/branding/mb-alpha/content/icon128.png
- + browser/branding/mb-alpha/content/icon16.png
- + browser/branding/mb-alpha/content/icon256.png
- + browser/branding/mb-alpha/content/icon32.png
- + browser/branding/mb-alpha/content/icon48.png
- + browser/branding/mb-alpha/content/icon64.png
- + browser/branding/mb-alpha/content/jar.mn
- + browser/branding/mb-alpha/content/moz.build
- + browser/branding/mb-alpha/content/mullvad-branding.css
- + browser/branding/mb-alpha/default128.png
- + browser/branding/mb-alpha/default16.png
- + browser/branding/mb-alpha/default22.png
- + browser/branding/mb-alpha/default24.png
- + browser/branding/mb-alpha/default256.png
- + browser/branding/mb-alpha/default32.png
- + browser/branding/mb-alpha/default48.png
- + browser/branding/mb-alpha/default64.png
- + browser/branding/mb-alpha/document.icns
- + browser/branding/mb-alpha/document.ico
- + browser/branding/mb-alpha/document_pdf.ico
- + browser/branding/mb-alpha/firefox.icns
- + browser/branding/mb-alpha/firefox.ico
- + browser/branding/mb-alpha/firefox.svg
- + browser/branding/mb-alpha/locales/en-US/brand.ftl
- + browser/branding/mb-alpha/locales/en-US/brand.properties
- + browser/branding/mb-alpha/locales/jar.mn
- + browser/branding/mb-alpha/locales/moz.build
- + browser/branding/mb-alpha/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-alpha/moz.build
- + browser/branding/mb-alpha/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-alpha/newtab.ico
- + browser/branding/mb-alpha/newwindow.ico
- + browser/branding/mb-alpha/pbmode.ico
- + browser/branding/mb-alpha/pref/firefox-branding.js
- + browser/branding/mb-nightly/VisualElements_150.png
- + browser/branding/mb-nightly/VisualElements_70.png
- + browser/branding/mb-nightly/configure.sh
- + browser/branding/mb-nightly/content/about-logo.png
- + browser/branding/mb-nightly/content/about-logo.svg
- + browser/branding/mb-nightly/content/about-logo(a)2x.png
- + browser/branding/mb-nightly/content/about-wordmark.svg
- + browser/branding/mb-nightly/content/about.png
- + browser/branding/mb-nightly/content/aboutDialog.css
- + browser/branding/mb-nightly/content/firefox-wordmark.svg
- + browser/branding/mb-nightly/content/icon128.png
- + browser/branding/mb-nightly/content/icon16.png
- + browser/branding/mb-nightly/content/icon256.png
- + browser/branding/mb-nightly/content/icon32.png
- + browser/branding/mb-nightly/content/icon48.png
- + browser/branding/mb-nightly/content/icon64.png
- + browser/branding/mb-nightly/content/jar.mn
- + browser/branding/mb-nightly/content/moz.build
- + browser/branding/mb-nightly/content/mullvad-branding.css
- + browser/branding/mb-nightly/default128.png
- + browser/branding/mb-nightly/default16.png
- + browser/branding/mb-nightly/default22.png
- + browser/branding/mb-nightly/default24.png
- + browser/branding/mb-nightly/default256.png
- + browser/branding/mb-nightly/default32.png
- + browser/branding/mb-nightly/default48.png
- + browser/branding/mb-nightly/default64.png
- + browser/branding/mb-nightly/document.icns
- + browser/branding/mb-nightly/document.ico
- + browser/branding/mb-nightly/document_pdf.ico
- + browser/branding/mb-nightly/firefox.icns
- + browser/branding/mb-nightly/firefox.ico
- + browser/branding/mb-nightly/firefox.svg
- + browser/branding/mb-nightly/locales/en-US/brand.ftl
- + browser/branding/mb-nightly/locales/en-US/brand.properties
- + browser/branding/mb-nightly/locales/jar.mn
- + browser/branding/mb-nightly/locales/moz.build
- + browser/branding/mb-nightly/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-nightly/moz.build
- + browser/branding/mb-nightly/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-nightly/newtab.ico
- + browser/branding/mb-nightly/newwindow.ico
- + browser/branding/mb-nightly/pbmode.ico
- + browser/branding/mb-nightly/pref/firefox-branding.js
- + browser/branding/mb-release/VisualElements_150.png
- + browser/branding/mb-release/VisualElements_70.png
- + browser/branding/mb-release/configure.sh
- + browser/branding/mb-release/content/about-logo.png
- + browser/branding/mb-release/content/about-logo.svg
- + browser/branding/mb-release/content/about-logo(a)2x.png
- + browser/branding/mb-release/content/about-wordmark.svg
- + browser/branding/mb-release/content/about.png
- + browser/branding/mb-release/content/aboutDialog.css
- + browser/branding/mb-release/content/firefox-wordmark.svg
- + browser/branding/mb-release/content/icon128.png
- + browser/branding/mb-release/content/icon16.png
- + browser/branding/mb-release/content/icon256.png
- + browser/branding/mb-release/content/icon32.png
- + browser/branding/mb-release/content/icon48.png
- + browser/branding/mb-release/content/icon64.png
- + browser/branding/mb-release/content/jar.mn
- + browser/branding/mb-release/content/moz.build
- + browser/branding/mb-release/content/mullvad-branding.css
- + browser/branding/mb-release/default128.png
- + browser/branding/mb-release/default16.png
- + browser/branding/mb-release/default22.png
- + browser/branding/mb-release/default24.png
- + browser/branding/mb-release/default256.png
- + browser/branding/mb-release/default32.png
- + browser/branding/mb-release/default48.png
- + browser/branding/mb-release/default64.png
- + browser/branding/mb-release/document.icns
- + browser/branding/mb-release/document.ico
- + browser/branding/mb-release/document_pdf.ico
- + browser/branding/mb-release/firefox.icns
- + browser/branding/mb-release/firefox.ico
- + browser/branding/mb-release/firefox.svg
- + browser/branding/mb-release/locales/en-US/brand.ftl
- + browser/branding/mb-release/locales/en-US/brand.properties
- + browser/branding/mb-release/locales/jar.mn
- + browser/branding/mb-release/locales/moz.build
- + browser/branding/mb-release/locales/mullvad-about-wordmark-en.ftl
- + browser/branding/mb-release/moz.build
- + browser/branding/mb-release/mullvadbrowser.VisualElementsManifest.xml
- + browser/branding/mb-release/newtab.ico
- + browser/branding/mb-release/newwindow.ico
- + browser/branding/mb-release/pbmode.ico
- + browser/branding/mb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/moz.build
- + browser/components/mullvad-browser/AboutMullvadBrowserChild.sys.mjs
- + browser/components/mullvad-browser/AboutMullvadBrowserParent.sys.mjs
- + browser/components/mullvad-browser/content/2728-sparkles.svg
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.css
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.html
- + browser/components/mullvad-browser/content/aboutMullvadBrowser.js
- + browser/components/mullvad-browser/jar.mn
- + browser/components/mullvad-browser/moz.build
- browser/components/newtab/AboutNewTabService.sys.mjs
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/preferences/search.inc.xhtml
- + browser/components/search/extensions/brave/favicon.svg
- + browser/components/search/extensions/brave/manifest.json
- + browser/components/search/extensions/ddg-html/favicon.ico
- + browser/components/search/extensions/ddg-html/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/metager/favicon.ico
- + browser/components/search/extensions/metager/manifest.json
- + browser/components/search/extensions/mojeek/favicon.ico
- + browser/components/search/extensions/mojeek/manifest.json
- + browser/components/search/extensions/mullvad-leta/favicon.svg
- + browser/components/search/extensions/mullvad-leta/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- browser/components/shell/ShellService.sys.mjs
- browser/components/shell/WindowsDefaultBrowser.cpp
- browser/components/shell/nsWindowsShellService.cpp
- browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/mullvad-browser
- browser/confvars.sh
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/updater_append.ini
- browser/modules/HomePage.sys.mjs
- browser/moz.build
- config/create_rc.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/aboutdebugging/src/components/sidebar/Sidebar.js
- devtools/client/jar.mn
- devtools/client/themes/images/aboutdebugging-firefox-aurora.svg
- devtools/client/themes/images/aboutdebugging-firefox-beta.svg
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- devtools/client/themes/images/aboutdebugging-firefox-nightly.svg
- devtools/client/themes/images/aboutdebugging-firefox-release.svg
- + devtools/client/themes/images/aboutdebugging-mullvadbrowser-logo.svg
- docshell/base/nsAboutRedirector.cpp
- docshell/build/components.conf
- dom/chrome-webidl/NetDashboard.webidl
- moz.configure
- mozconfig-linux-aarch64
- mozconfig-linux-aarch64-dev
- mozconfig-linux-x86_64
- mozconfig-linux-x86_64-asan
- mozconfig-linux-x86_64-dev
- mozconfig-macos
- mozconfig-macos-dev
- mozconfig-windows-x86_64
- netwerk/base/Dashboard.cpp
- netwerk/base/DashboardTypes.h
- netwerk/dns/nsHostResolver.cpp
- netwerk/protocol/http/nsHttp.cpp
- netwerk/protocol/http/nsHttp.h
- netwerk/protocol/http/nsHttpChannel.cpp
- netwerk/protocol/http/nsHttpChannel.h
- netwerk/protocol/http/nsHttpConnectionInfo.h
- netwerk/protocol/http/nsHttpConnectionMgr.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpHandler.h
- + netwerk/test/unit/test_proxyDNS_leak.js
- netwerk/test/unit/xpcshell.toml
- + other-licenses/nsis/Contrib/ApplicationID/Makefile
- + other-licenses/nsis/Contrib/CityHash/Makefile
- toolkit/components/extensions/child/ext-storage.js
- toolkit/components/extensions/parent/ext-storage.js
- toolkit/components/passwordmgr/LoginHelper.sys.mjs
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/brave.svg
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/metager.ico
- + toolkit/components/search/content/mojeek.ico
- + toolkit/components/search/content/mullvad-leta.svg
- + toolkit/components/search/content/mullvadBrowserSearchEngineIcons.json
- + toolkit/components/search/content/mullvadBrowserSearchEngines.json
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- toolkit/components/securitylevel/SecurityLevel.sys.mjs
- toolkit/content/aboutNetworking.js
- + toolkit/content/aboutRightsMullvad.xhtml
- + toolkit/content/aboutTelemetryMullvad.xhtml
- toolkit/content/jar.mn
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- + toolkit/locales/en-US/toolkit/global/mullvad-browser.ftl
- toolkit/mozapps/defaultagent/EventLog.h
- toolkit/mozapps/defaultagent/SetDefaultBrowser.cpp
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/content/aboutaddons.css
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- + toolkit/themes/shared/icons/mullvadbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- toolkit/xre/nsAppRunner.cpp
- tools/lint/fluent-lint/exclusions.yml
- widget/windows/WinTaskbar.cpp
- widget/windows/moz.build
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/6a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-128.11.0esr-14.5-1-build1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new tag base-browser-128.11.0esr-14.5-1-build1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new branch mullvad-browser-128.11.0esr-14.5-1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new branch mullvad-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag base-browser-128.11.0esr-14.5-1-build1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new tag base-browser-128.11.0esr-14.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.11.0esr-14.5-1-build1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new tag tor-browser-128.11.0esr-14.5-1-build1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch base-browser-128.11.0esr-14.5-1
by ma1 (@ma1) 22 May '25
by ma1 (@ma1) 22 May '25
22 May '25
ma1 pushed new branch base-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/base-brow…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-128.11.0esr-14.5-1] 245 commits: Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load...
by brizental (@brizental) 21 May '25
by brizental (@brizental) 21 May '25
21 May '25
brizental pushed to branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
Commits:
45d4f27e by Timothy Nikkel at 2025-05-21T17:07:30+02:00
Bug 1899180. If a channel is not nsIPrivateBrowsingChannel and has no load context, use the private browsing field from it's origin attributes. r=necko-reviewers,anti-tracking-reviewers,valentin
If the channel is not a nsIPrivateBrowsingChannel, and it also has no load context (eg inside svg images) then we will over write a non-zero mPrivateBrowsingId on the OriginAttributes of the channel with 0, making NS_UsePrivateBrowsing return false for the channel.
Differential Revision: https://phabricator.services.mozilla.com/D212083
- - - - -
27fd5dfa by Jon Coppeard at 2025-05-21T17:07:31+02:00
Bug 1904011 - Ignore finalized scripts when iterating code covarage tables r=iain
Differential Revision: https://phabricator.services.mozilla.com/D214799
- - - - -
39014587 by Arturo Mejia at 2025-05-21T17:07:32+02:00
Bug 1908344 - Improve prompts showing a=dmeehan - BP, tor-browser#43005
Original Revision: https://phabricator.services.mozilla.com/D216996
Differential Revision: https://phabricator.services.mozilla.com/D217718
- - - - -
0075597b by Sam Foster at 2025-05-21T17:07:32+02:00
Bug 1909099 - Always clean up old session restore and sync log files. r=markh,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D217520
- - - - -
1d5d7b14 by pollymce at 2025-05-21T17:07:33+02:00
Bug 1902996 - Improve messaging for fullscreen notifications. r=android-reviewers,gl
Instead of explaining to users that they are in fullscreen mode, which may be obvious, we explain how to get out of it :)
Also use a Toast rather than a custom Dialog.
Update Focus too.
Fix lint errors.
Differential Revision: https://phabricator.services.mozilla.com/D215782
- - - - -
7e67bfcb by Roger Yang at 2025-05-21T17:07:34+02:00
Bug 1862537 - Do not try to go back when it's a initial load r=android-reviewers,harrisono, a=pascalc
Differential Revision: https://phabricator.services.mozilla.com/D219782
- - - - -
fed37052 by Henry Wilkes at 2025-05-21T17:07:35+02:00
Bug 1436462 - Use "Open in new private window" for bookmarks when in PBM. r=places-reviewers,mak
This makes the bookmark menu consistent with the "File" and context
menu when using private browsing mode.
We also share the same hide item logic for these "open" items in one
place in PlacesUIUtils so that they can be shared between the two
consumers (regular bookmarks and managed bookmarks). This ensures that
the "Open in container" item if hidden for managed bookmarks in a
private window.
Differential Revision: https://phabricator.services.mozilla.com/D220120
- - - - -
04420adf by Fatih at 2025-05-21T17:07:35+02:00
Bug 1834307: Change StaticPrefs::general_smoothScroll() calls with nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221363
- - - - -
0af59e1f by Fatih at 2025-05-21T17:07:36+02:00
Bug 1834307: Check RFPTarget::CSSPrefersReducedMotion in nsLayoutUtils::IsSmoothScrollingEnabled. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221364
- - - - -
b93ff35e by Henry Wilkes at 2025-05-21T17:07:37+02:00
Bug 1919363 - Only show one app menu "new window" item in permanent private browsing. r=mconley
We also update the browser_private_browsing_window.js test.
The previous test was limited because it was referring to non-existent
"appmenu_newNavigator" and "appmenu_newPrivateWindow".
Differential Revision: https://phabricator.services.mozilla.com/D222507
- - - - -
8cf4b639 by rahulsainani at 2025-05-21T17:07:37+02:00
Bug 1906024 - Format download file names better a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D220559
Differential Revision: https://phabricator.services.mozilla.com/D222254
- - - - -
df30bf3b by rahulsainani at 2025-05-21T17:07:38+02:00
Bug 1906024 - Format download file names a=diannaS
Original Revision: https://phabricator.services.mozilla.com/D221771
Differential Revision: https://phabricator.services.mozilla.com/D222259
- - - - -
35d6f53f by Nika Layzell at 2025-05-21T17:07:39+02:00
Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.
Differential Revision: https://phabricator.services.mozilla.com/D218860
- - - - -
b192374b by Pier Angelo Vendrame at 2025-05-21T17:07:40+02:00
Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
The spoofed value of the HTTP user-agent header is not consistent with
the value of navigator.userAgent on Windows, and this can lead to
compatibility issues.
Differential Revision: https://phabricator.services.mozilla.com/D223745
- - - - -
3120f972 by Fatih at 2025-05-21T17:07:40+02:00
Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr,geckoview-reviewers,owlish
Differential Revision: https://phabricator.services.mozilla.com/D220904
- - - - -
19e8483c by Fatih at 2025-05-21T17:07:41+02:00
Bug 1918202: Spoof orientation based on screen size. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D221863
- - - - -
7a62d59b by Fatih at 2025-05-21T17:07:42+02:00
Bug 1922204: fixup square spoofed orientation. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D224312
- - - - -
3f65915b by Pier Angelo Vendrame at 2025-05-21T17:07:42+02:00
Bug 1923264 - Discard unsupported updates in selectUpdate. r=bytesized,nalexander
UpdateService.#selectUpdate currently chooses always the most recent
update even when unsupported and an older but supported one is
available.
This commit makes #selectUpdate discard the unsupported update if a
supported alternative is found.
Differential Revision: https://phabricator.services.mozilla.com/D224905
- - - - -
fe925018 by stransky at 2025-05-21T17:07:43+02:00
Bug 1501744 [Linux] Fill PointerEvents on the Gtk backend r=emilio
Patch author is tpxp <tpxp(a)live.fr>
Differential Revision: https://phabricator.services.mozilla.com/D215201
- - - - -
355f03d9 by Fatih at 2025-05-21T17:07:44+02:00
Bug 1436226: Ignore user prefs and hardware support for media capabilities when RFPTarget::MediaCapabilities is enabled. r=tjr,media-playback-reviewers,padenot
This patch mostly targeted Android, as media.mediasource.vp9.enabled is disabled on only Android and HW support takes precedence over pref, hence leaking HW support for VP9. However, we ended up modifying the patch to ignore prefs or HW support, fixing both possible user pref leak and HW support leak.
Differential Revision: https://phabricator.services.mozilla.com/D221338
- - - - -
fab7baa2 by hackademix at 2025-05-21T17:07:45+02:00
Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D226598
- - - - -
25a709f6 by Arturo Mejia at 2025-05-21T17:07:45+02:00
Bug 1836921 - Improve dialogs a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D226961
Differential Revision: https://phabricator.services.mozilla.com/D228842
- - - - -
cf65b5fb by Makoto Kato at 2025-05-21T17:07:46+02:00
Bug 1776646 - Support EXTRA_IS_SENSITIVE for clipboard. r=geckoview-reviewers,owlish
When nsITransferable.isPrivateData is true, such as coping password or
private mode, we should set EXTRA_IS_SENSITIVE to ClipData.
AndroidJunit test runner doesn't often get `ClipDescription.extras`
from clipboard service in test runner. So we cannot write a unit test
using AndroidJUnit test runner.
Differential Revision: https://phabricator.services.mozilla.com/D225326
- - - - -
cba411f5 by Malte Juergens at 2025-05-21T17:07:47+02:00
Bug 1909396 - Remove HTTPS-Only exception button in iframes r=freddyb,fluent-reviewers
Rationale for this can be read in Bug 1909396, but the main reason is that the iframe will get blocked regardless by mixed content blocking.
Differential Revision: https://phabricator.services.mozilla.com/D220257
- - - - -
0130f32d by Cathy Lu at 2025-05-21T17:07:47+02:00
Bug 1914797 - Part 1 + 2 + partial backout (details below)
Bug 1914797 - Part 1 - Revert bug 1868469 r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226431
Bug 1914797 - Part 2 - Add url change during onPageStart for slow loading sites r=android-reviewers,jonalmeida, a=dmeehan
Differential Revision: https://phabricator.services.mozilla.com/D226432
Backed out 1 changesets (bug 1914797) for causing Bug 1929028
Backed out changeset a79554879d7b (bug 1914797)
- - - - -
f3be63f2 by Emilio Cobos Álvarez at 2025-05-21T17:07:48+02:00
Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman
The spec doesn't mention anything about applying them, and other
browsers don't, so let's just be consistent...
Differential Revision: https://phabricator.services.mozilla.com/D221709
- - - - -
01f1d420 by Emilio Cobos Álvarez at 2025-05-21T17:07:49+02:00
Bug 1918454 - Prevent divide by zero when inverting effective zoom. r=firefox-style-system-reviewers,layout-reviewers,boris
See comment.
Differential Revision: https://phabricator.services.mozilla.com/D222090
- - - - -
5a52f1a5 by Pier Angelo Vendrame at 2025-05-21T17:07:50+02:00
Bug 1840385 - Do not spoof the OS in HTTP User Agent. r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D234835
- - - - -
455f4be3 by Pier Angelo Vendrame at 2025-05-21T17:07:50+02:00
Bug 1923260 - Exempt Android resources from svg.disabled. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D224895
- - - - -
07fed9c6 by Julian Descottes at 2025-05-21T17:07:51+02:00
Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 r=webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D221448
- - - - -
d2a2fd8b by John Lin at 2025-05-21T17:07:52+02:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. r=media-playback-reviewers,alwu
In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -
94cb5008 by Tara at 2025-05-21T17:07:52+02:00
Bug 1908488 - Improve dialogs. r=android-reviewers,gmalekpour, a=dmeehan [bp]
Differential Revision: https://phabricator.services.mozilla.com/D236606
- - - - -
53ca7bda by John Schanck at 2025-05-21T17:07:53+02:00
Bug 1922357 - disallow the fido: URI scheme. a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D237313
Differential Revision: https://phabricator.services.mozilla.com/D238681
- - - - -
7e39709f by Jeff Boek at 2025-05-21T17:07:54+02:00
Bug 1928334 - Handles animating activities a=dmeehan
Original Revision: https://phabricator.services.mozilla.com/D238342
Differential Revision: https://phabricator.services.mozilla.com/D238845
- - - - -
0a7fca84 by Tom Schuster at 2025-05-21T17:07:54+02:00
Bug 1942022 - Improve the about:protections CSP. r=firefox-desktop-core-reviewers ,mossop
Differential Revision: https://phabricator.services.mozilla.com/D234507
- - - - -
469b2aca by Tom Schuster at 2025-05-21T17:07:55+02:00
Bug 1942025 - Improve the about:privatebrowsing CSP. r=firefox-desktop-core-reviewers ,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D234508
- - - - -
71e99dd9 by Ray Kraesig at 2025-05-21T17:07:56+02:00
Bug 1950056 - extend use of FOS_NODEREFERENCELINKS r=Gijs,win-reviewers,gstoll
In the modern era of user-customizable Quick Access sidebars on every
file dialog, navigating via `.lnk` files is rather less useful than it
was twenty years ago.
Disable link-following in file-open dialogs by default, to prevent any
of the usual security issues involving symlink smuggling. Allow
overriding this behavior via a pref, for users who don't care.
(File-save dialogs have a more nuanced guard against that sort of thing;
this patch doesn't affect that.)
Differential Revision: https://phabricator.services.mozilla.com/D239833
- - - - -
9ed3fafe by Henry Wilkes at 2025-05-21T17:07:57+02:00
BB 41454: Move focus after calling openPreferences for a sub-category.
Temporary fix until mozilla bug 1799153 gets a patch upstream.
- - - - -
2f964a58 by Henry Wilkes at 2025-05-21T17:07:57+02:00
BB 43072: Add aria label and description to moz-message-bar.
Ensures that moz-message-bar, including notifications, are announced on
Orca.
This addresses upstream bugzilla bug 1895857 and should likely be
replaced when it is fixed.
- - - - -
f916c43a by Henry Wilkes at 2025-05-21T17:07:58+02:00
BB 42739: Use the brand name for profile error messages.
Some messages in profileSelection.properties use gAppData->name as
variable inputs. However, gAppData->name is still "Firefox" for our
base-browser builds, rather than the user-facing browser name. We swap
these instances with the displayed brand name instead.
- - - - -
0ffab6e2 by hackademix at 2025-05-21T17:07:59+02:00
BB 42194: Fix blank net error page on failed DNS resolution with active proxy.
- - - - -
c8f34001 by Henry Wilkes at 2025-05-21T17:07:59+02:00
BB 41483: Remove the firefox override for appstrings.properties
Remove this patch after upstream bugzilla bug 1790187
- - - - -
1fac1156 by hackademix at 2025-05-21T17:08:00+02:00
BB 43101: Deep link to the startup security warning explanation.
- - - - -
5d0669d0 by Marco Simonelli at 2025-05-21T17:08:01+02:00
BB 41459: WebRTC fails to build under mingw (Part 1)
- properly define NOMINMAX for just MSVC builds
- - - - -
c02ad62c by Marco Simonelli at 2025-05-21T17:08:01+02:00
BB 41459: WebRTC fails to build under mingw (Part 2)
- fixes required to build third_party/libwebrtc
- - - - -
7c5e2932 by Marco Simonelli at 2025-05-21T17:08:02+02:00
BB 41459: WebRTC fails to build under mingw (Part 3)
- fixes required to build third_party/sipcc
- - - - -
516b13a2 by Marco Simonelli at 2025-05-21T17:08:03+02:00
BB 41459: WebRTC fails to build under mingw (Part 4)
- fixes requried to build netwerk/sctp
- - - - -
4ad53570 by Marco Simonelli at 2025-05-21T17:08:04+02:00
BB 41459: WebRTC fails to build under mingw (Part 5)
- fixes required to build dom/media/webrtc
- - - - -
e343f4c3 by Marco Simonelli at 2025-05-21T17:08:04+02:00
BB 41459: WebRTC fails to build under mingw (Part 6)
- fixes required to build dom/media/systemservices
- - - - -
70d9fb97 by june wilde at 2025-05-21T17:08:05+02:00
BB 42758: Fix WebRTC build errors.
- - - - -
b920b94b by Dan Ballard at 2025-05-21T17:08:06+02:00
BB 43544: DoH pane undefined error in Privacy and Security
From: Sarah Jamie Lewis <sarah(a)openprivacy.ca>
Date: Fri, 28 Feb 2025 09:30:45 -0800
Subject: [PATCH 1/1] DoH Settings: Check for nulll gParentalControlsService
When the parental controls service is disabled in a build, the DoH
settings now display the correct stauts when Increased or Max Protection
is enabled.
Previously, selecting either of these options would cause DoH to be
enabled, but the "Status" and "Provider" fields would not be properly
populated, due to a check on the gParentalControlsService causing an
error.
This check is now identical to the same check in DownloadIntegration.sys.mjs
Apply 1 suggestion(s) to 1 file(s)
Co-authored-by: ma1 <giorgio(a)maone.net>
- - - - -
e93ce2f7 by hackademix at 2025-05-21T17:08:06+02:00
BB 41854: Allow overriding download spam protection.
- - - - -
c1295384 by hackademix at 2025-05-21T17:08:07+02:00
BB 42832: Download spam prevention exemption for browser extensions.
- - - - -
acbf608a by Pier Angelo Vendrame at 2025-05-21T17:08:08+02:00
BB 42220: Allow for more file types to be forced-inline.
Firefox allows to open some files in the browser without any
confirmation, but this will result in a disk leak, because the file will
be downloaded to the temporary directory first (and not deleted, in some
cases).
A preference allows PDFs to be opened without being downloaded to disk.
So, we introduce a similar one to do the same for all the files that are
set to be opened automatically in the browser.
- - - - -
307f1368 by hackademix at 2025-05-21T17:08:08+02:00
BB 42835: Create an actor to filter file data transfers
- - - - -
c39076dd by Beatriz Rizental at 2025-05-21T17:08:09+02:00
BB 42728: Modify ./mach lint to skip unused linters
- - - - -
f3cbc540 by Morgan at 2025-05-21T17:08:10+02:00
BB 43615: Add Gitlab Issue and Merge Request templates
- - - - -
a03b5e7f by Richard Pospesel at 2025-05-21T17:08:10+02:00
BB 42683: Create script to generate issue triage csv file from bugzilla query and git logs
- - - - -
fca651f9 by Henry Wilkes at 2025-05-21T17:08:11+02:00
BB 42305: Add script to combine translation files across versions.
- - - - -
ac1fe601 by Beatriz Rizental at 2025-05-21T17:08:12+02:00
BB 43535: Enable tests
- - - - -
a224dc1a by Beatriz Rizental at 2025-05-21T17:16:18+02:00
Add CI for Base Browser
- - - - -
8059c913 by Pier Angelo Vendrame at 2025-05-21T17:16:19+02:00
Base Browser's .mozconfigs.
Bug 17858: Cannot create incremental MARs for hardened builds.
Define HOST_CFLAGS, etc. to avoid compiling programs such as mbsdiff
(which is part of mar-tools and is not distributed to end-users) with
ASan.
Bug 21849: Don't allow SSL key logging.
Bug 25741 - TBA: Disable features at compile-time
Define MOZ_ANDROID_NETWORK_STATE and MOZ_ANDROID_LOCATION
Bug 27623 - Export MOZILLA_OFFICIAL during desktop builds
This fixes a problem where some preferences had the wrong default value.
Also see bug 27472 where we made a similar fix for Android.
Bug 29859: Disable HLS support for now
Bug 30463: Explicitly disable MOZ_TELEMETRY_REPORTING
Bug 32493: Disable MOZ_SERVICES_HEALTHREPORT
Bug 33734: Set MOZ_NORMANDY to False
Bug 33851: Omit Parental Controls.
Bug 40252: Add --enable-rust-simd to our tor-browser mozconfig files
Bug 41584: Move some configuration options to base-browser level
- - - - -
6dc032c6 by Pier Angelo Vendrame at 2025-05-21T17:16:20+02:00
Tweaks to the build system
Bug 40857: Modified the fat .aar creation file
This is a workaround to build fat .aars with the compiling enviornment
disabled.
Mozilla does not use a similar configuration, but either runs a Firefox
build and discards its output, or uses artifacts build.
We might switch to artifact builds too, and drop this patch, or write a
better one to upstream. But until then we need this patch.
See also https://bugzilla.mozilla.org/show_bug.cgi?id=1763770.
Bug 41458: Prevent `mach package-multi-locale` from actually creating a package
macOS builds need some files to be moved around with
./mach package-multi-locale to create multi-locale packages.
The required command isn't exposed through any other mach command.
So, we patch package-multi-locale both to prevent it from failing when
doing official builds and to detect any future changes on it.
- - - - -
4396978a by Pier Angelo Vendrame at 2025-05-21T17:16:21+02:00
BB 29320: Replace the gnu target with gnullvm for Rust.
- - - - -
ce4d2d1b by Pier Angelo Vendrame at 2025-05-21T17:16:22+02:00
BB 42616: Remove VideoCaptureTest.kt.
This is a workaround to fix the GeckoView build with WebRTC disabled.
We should replace this workaround with a proper solution, that
excludes this test when MOZ_WEBRTC is undefined/False.
- - - - -
e6b568e8 by Pier Angelo Vendrame at 2025-05-21T17:16:23+02:00
BB 41108: Remove privileged macOS installation from 102
- - - - -
9e8b20b0 by Dan Ballard at 2025-05-21T17:16:23+02:00
BB 41149: Re-enable DLL injection protection in all builds not just nightlies
- - - - -
017b4102 by Henry Wilkes at 2025-05-21T17:16:24+02:00
BB 43092: Disable wayland by default in Base Browser.
- - - - -
e7e9a28d by Matthew Finkel at 2025-05-21T17:16:25+02:00
BB 24796: Comment out excess permissions from GeckoView
The GeckoView AndroidManifest.xml is not preprocessed unlike Fennec's
manifest, so we can't use the ifdef preprocessor guards around the
permissions we do not want. Commenting the permissions is the
next-best-thing.
- - - - -
4a7e6a43 by Matthew Finkel at 2025-05-21T17:16:25+02:00
BB 28125: Prevent non-Necko network connections
- - - - -
b5c99b79 by Mike Perry at 2025-05-21T17:16:26+02:00
BB 12974: Disable NTLM and Negotiate HTTP Auth
The Mozilla bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1046421,
https://bugzilla.mozilla.org/show_bug.cgi?id=1261591, tor-browser#27602
- - - - -
2c227d14 by cypherpunks1 at 2025-05-21T17:16:27+02:00
BB 40717: Hide Windows SSO in settings
- - - - -
c8435f02 by Georg Koppen at 2025-05-21T17:16:28+02:00
BB 16285: Exclude ClearKey system for now
In the past the ClearKey system had not been compiled when specifying
--disable-eme. But that changed and it is even bundled nowadays (see:
Mozilla's bug 1300654). We don't want to ship it right now as the use
case for it is not really visible while the code had security
vulnerabilities in the past.
- - - - -
d52d04ea by Kathy Brade at 2025-05-21T17:16:28+02:00
BB 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
- - - - -
4d03da7f by Henry Wilkes at 2025-05-21T17:16:29+02:00
BB 42831: Remove the shopping components.
- - - - -
ad6f4538 by Kathy Brade at 2025-05-21T17:16:30+02:00
BB 33852: Clean up about:logins (LockWise) to avoid mentioning sync, etc.
Hide elements on about:logins that mention sync, "Firefox LockWise", and
Mozilla's LockWise mobile apps.
Disable the "Create New Login" button when security.nocertdb is true.
- - - - -
7fa8745f by Alex Catarineu at 2025-05-21T17:16:30+02:00
BB 41457: Remove Mozilla permissions
Bug 40025: Remove Mozilla add-on install permissions
- - - - -
d87ef4f6 by Kathy Brade at 2025-05-21T17:16:31+02:00
BB 40002: Remove about:ion
Firefox Ion (previously Firefox Pioneer) is an opt-in program in which people
volunteer to participate in studies that collect detailed, sensitive data about
how they use their browser.
Bug 41662: Disable about:sync-logs
Even though we disable sync by default with
`identity.fxaccounts.enabled`, this about: page is still avilable.
We could throw an exception on the constructor of the related
component, but it would result only in an error in the console, without
a visible "this address does not look right" error page.
If we fix the issues with MOZ_SERVICES_SYNC, we can restore the
component.
- - - - -
7b4ed8f8 by Morgan at 2025-05-21T17:16:32+02:00
BB 42716: Disable unwanted about: pages
- - - - -
04b989b6 by Arthur Edelstein at 2025-05-21T17:16:33+02:00
BB 26353: Prevent speculative connect that violated FPI.
Connections were observed in the catch-all circuit when
the user entered an https or http URL in the URL bar, or
typed a search term.
- - - - -
d5dc769d by Alex Catarineu at 2025-05-21T17:16:33+02:00
BB 31740: Remove some unnecessary RemoteSettings instances
More concretely, SearchService.jsm 'hijack-blocklists' and
url-classifier-skip-urls.
Avoid creating instance for 'anti-tracking-url-decoration'.
If prefs are disabling their usage, avoid creating instances for
'cert-revocations' and 'intermediates'.
Do not ship JSON dumps for collections we do not expect to need. For
the ones in the 'main' bucket, this prevents them from being synced
unnecessarily (the code in remote-settings does so for collections
in the main bucket for which a dump or local data exists). For the
collections in the other buckets, we just save some size by not
shipping their dumps.
We also clear the collections database on the v2 -> v3 migration.
- - - - -
c4d96635 by cypherpunks1 at 2025-05-21T17:16:34+02:00
BB 41092: Add a RemoteSettings JSON dump for query-stripping
- - - - -
06f8f891 by cypherpunks1 at 2025-05-21T17:16:35+02:00
BB 42730: Patch RemoteSettings to use only local dumps as a data source
- - - - -
d518666f by Pier Angelo Vendrame at 2025-05-21T17:16:35+02:00
BB 41635: Disable the Normandy component
Do not include Normandy at all whenever MOZ_NORMANDY is False.
- - - - -
6087b5ad by Georg Koppen at 2025-05-21T17:16:36+02:00
BB 30541: Disable WebGL readPixel() for web content
Related Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1428034
- - - - -
11b5f1e8 by Alex Catarineu at 2025-05-21T17:16:37+02:00
BB 28369: Stop shipping pingsender executable
- - - - -
e52c604a by Henry Wilkes at 2025-05-21T17:16:37+02:00
BB 42630: Disable LaterRun module.
- - - - -
d081d0bc by Pier Angelo Vendrame at 2025-05-21T17:16:38+02:00
BB 41599: Always return an empty string as network ID
Firefox computes an internal network ID used to detect network changes
and act consequently (e.g., to improve WebSocket UX).
However, there are a few ways to get this internal network ID, so we
patch them out, to be sure any new code will not be able to use them and
possibly link users.
We also sent a patch to Mozilla to seed the internal network ID, to
prevent any accidental leak in the future.
Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1817756
- - - - -
65b00402 by Pier Angelo Vendrame at 2025-05-21T17:16:39+02:00
BB 43386: Use Firefox in the UA in RFP-exempt request.
XHR requests initiated by extensions are exempt from RFP.
Therefore, they report the actual app name, instead of Firefox, and the
actual Firefox minor version.
This happens whenever the app name has been customized and does not
match a hardcoded "Firefox".
- - - - -
c2059c57 by Richard Pospesel at 2025-05-21T17:16:40+02:00
BB 41327: Disable UrlbarProviderInterventions
- - - - -
dd078a9a by Richard Pospesel at 2025-05-21T17:16:40+02:00
BB 42037: Disable about:firefoxview page
- - - - -
6a61d0b7 by Mike Perry at 2025-05-21T17:17:06+02:00
Firefox preference overrides.
- - - - -
8cf292e9 by Pier Angelo Vendrame at 2025-05-21T17:17:12+02:00
BB 43140: Tighten up fonts on Linux.
We ship a fontconfig configuration to esnure all Linux users have the
same defaults and reduce the chances of fingerprinting.
We used to add this file in tor-browser-build, but some users might
skip it by using the browser executable without the wrapper script.
Therefore, we decided to activate the file with the FontConfig API
instead of the environment variables.
Bug 41043: Hardcode the UI font on Linux
The mechanism to choose the UI font does not play well with our
fontconfig configuration. As a result, the final criterion to choose
the font for the UI was its version.
Since we hardcode Arimo as a default sans-serif on preferences, we use
it also for the UI. FontConfig will fall back to some other font for
scripts Arimo does not cover as expected (we tested with Japanese).
Bug 43141: Hardcode system-ui to Arimo.
- - - - -
d140e580 by Pier Angelo Vendrame at 2025-05-21T17:17:17+02:00
BB 41901: Hardcode normalized FontSubstitutes.
Windows has a system to set font aliases through the registry.
This allows some customization that could be used as a fingerprinting
vector.
Moreover, this mechanism is used by Windows itself, and different SKUs
might have different default FontSubstitutes.
- - - - -
3af8e4e6 by Pier Angelo Vendrame at 2025-05-21T17:17:23+02:00
BB 43322: Customize the font visibility lists.
Customize the lists of fonts to assign base visibility to in
base browser and derivatives.
Also, rename the files with the upstream lists, to make sure we do not
use them by mistake.
- - - - -
edec448c by Alex Catarineu at 2025-05-21T17:17:29+02:00
BB 30605: Honor privacy.spoof_english in Android
This checks `privacy.spoof_english` whenever `setLocales` is
called from Fenix side and sets `intl.accept_languages`
accordingly.
Bug 40198: Expose privacy.spoof_english pref in GeckoView
- - - - -
ccfc22e0 by Pier Angelo Vendrame at 2025-05-21T17:17:34+02:00
BB 42562: Normalized the Accepted Languages on Android.
The OS language might be outside the list of actually supported
languages and it might leak the user's region.
Therefore, we force the locale reported in Accept-Language to match one
we support with translations, even when it means using a not exact
region tag.
- - - - -
f5c4a981 by Alex Catarineu at 2025-05-21T17:17:39+02:00
BB 40171: Make WebRequest and GeckoWebExecutor First-Party aware
- - - - -
3abd96de by Alex Catarineu at 2025-05-21T17:17:45+02:00
BB 26345: Hide tracking protection UI
- - - - -
5132cccd by Henry Wilkes at 2025-05-21T17:17:51+02:00
BB 43109: Hide Firefox Relay from settings.
This should remain disabled, see tor-browser#42814.
- - - - -
e00cc6b0 by Henry Wilkes at 2025-05-21T17:17:56+02:00
BB 42777: Hide Website Privacy Preferences.
We hide the Website Privacy Preferences section, which controls the
"global privacy control" (GPC) and "do not track" (DNT) settings.
- - - - -
5df7ebe3 by Morgan at 2025-05-21T17:18:02+02:00
BB 42070: Hide "Use smooth scrolling" from settings
- - - - -
8d582c60 by Arthur Edelstein at 2025-05-21T17:18:07+02:00
BB 18905: Hide unwanted items from help menu
Bug 25660: Remove the "New Private Window" option
- - - - -
89a63683 by Pier Angelo Vendrame at 2025-05-21T17:18:13+02:00
BB 41739: Remove "Website appearance" from about:preferences.
It is ignored because of RFP and it is confusing for users.
- - - - -
7c94376a by Henry Wilkes at 2025-05-21T17:18:18+02:00
BB 43117: Hide "Always underline links" from settings.
- - - - -
538140b5 by Pier Angelo Vendrame at 2025-05-21T17:18:24+02:00
BB 42774: Always hide the third-pary certs UI.
- - - - -
0c876c17 by Henry Wilkes at 2025-05-21T17:18:29+02:00
BB 43118: Hide feature recommendation (CFR) settings.
- - - - -
a2d78ef1 by Pier Angelo Vendrame at 2025-05-21T17:18:35+02:00
BB 9173: Change the default Firefox profile directory to be relative.
This commit makes Firefox look for the default profile directory in a
directory relative to the binary path.
The directory can be specified through the --with-relative-data-dir.
This is relative to the same directory as the firefox main binary for
Linux and Windows.
On macOS, we remove Contents/MacOS from it.
Or, in other words, the directory is relative to the application
bundle.
This behavior can be overriden at runtime, by placing a file called
system-install adjacent to the firefox main binary (also on macOS).
- - - - -
1f3d2079 by Pier Angelo Vendrame at 2025-05-21T17:18:40+02:00
BB 42773: Replace ~ with the original home.
In Bug 93141, Mozilla started sending users to their home when they type
~ in the URL bar.
On Linux, we change $HOME for various reason, therefore you would be
redirected to the spoofed home directory when typing ~.
So, we check if the original home directory is known, and use that,
instead.
- - - - -
13d1d289 by Alex Catarineu at 2025-05-21T17:18:46+02:00
BB 27604: Fix addon issues when moving the profile directory
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1429838
- - - - -
fe561158 by Mike Perry at 2025-05-21T17:18:51+02:00
BB 13028: Prevent potential proxy bypass cases.
It looks like these cases should only be invoked in the NSS command line
tools, and not the browser, but I decided to patch them anyway because there
literally is a maze of network function pointers being passed around, and it's
very hard to tell if some random code might not pass in the proper proxied
versions of the networking code here by accident.
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1433509
- - - - -
284076c4 by Pier Angelo Vendrame at 2025-05-21T17:18:57+02:00
BB 40309: Avoid using regional OS locales
Avoid regional OS locales if the pref
`intl.regional_prefs.use_os_locales` is false but RFP is enabled.
- - - - -
541bef05 by Matthew Finkel at 2025-05-21T17:19:02+02:00
BB 40432: Prevent probing installed applications
Bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1711084
- - - - -
22385b70 by Henry Wilkes at 2025-05-21T17:19:08+02:00
BB 29745: Limit remote access to content accessible resources
- - - - -
25ee82fe by cypherpunks1 at 2025-05-21T17:19:13+02:00
BB 33955: When copying an image only copy the image contents to the clipboard
- - - - -
7c4b8ccb by cypherpunks1 at 2025-05-21T17:19:19+02:00
BB 41791: Omit the source URL when copying page contents to the clipboard
- - - - -
12cbebe4 by hackademix at 2025-05-21T17:19:24+02:00
BB 42288: Allow language spoofing in status messages.
- - - - -
208cd994 by Pier Angelo Vendrame at 2025-05-21T17:19:30+02:00
BB 43196: Remove the vendor name from media notifications on Linux.
Firefox shows "vendor remoteName" as a title of the "... is playing
media" notification on Linux.
However, for our browser the remote name is enough, and prepending the
vendor to it creates a string users usually never see.
- - - - -
e734588a by Pier Angelo Vendrame at 2025-05-21T17:19:35+02:00
Base Browser strings
This commit adds all the strings needed by following Base Browser
patches.
- - - - -
4e94f95c by Henry Wilkes at 2025-05-21T17:20:14+02:00
BB 42583: Modify moz-support-link for Base Browser.
- - - - -
dcbed01f by Pier Angelo Vendrame at 2025-05-21T17:20:42+02:00
BB 41369: Improve Firefox language settings for multi-lingual packages
Change the language selector to be sorted by language code, rather than
name, and to display the language code to the user.
Bug 41372: Handle Japanese as a special case in preferences on macOS
Japanese is treated in a special way on macOS. However, seeing the
Japanese language tag could be confusing for users, and moreover the
language name is not localized correctly like other langs.
Bug 41378: Tell users that they can change their language at the first start
With multi-lingual builds, Tor Browser matches the user's system
language, but some users might want to change it.
So, we tell them that it is possible, but only once.
- - - - -
4216d2bb by p13dz at 2025-05-21T17:20:43+02:00
BB 40283: Workaround for the file upload bug
- - - - -
48bf9658 by hackademix at 2025-05-21T17:20:43+02:00
BB 42019: Empty browser's clipboard on browser shutdown
- - - - -
90bce4fd by hackademix at 2025-05-21T17:20:44+02:00
BB 42084: Ensure English spoofing works even if preferences are set out of order.
- - - - -
c283cc12 by Pier Angelo Vendrame at 2025-05-21T17:20:45+02:00
BB 41930: Remove the UI to customize accept_languages.
- - - - -
77d03e19 by hackademix at 2025-05-21T17:20:46+02:00
BB 41434: Letterboxing, improve logging.
- - - - -
6368b5b5 by hackademix at 2025-05-21T17:20:46+02:00
BB 41434: Letterboxing, preemptively apply margins in a global CSS rule to mitigate race conditions on newly created windows and tabs.
- - - - -
0cacc64f by hackademix at 2025-05-21T17:20:47+02:00
BB 31064: Letterboxing, exempt browser extensions.
- - - - -
9a0bc80c by hackademix at 2025-05-21T17:20:48+02:00
BB 32411: Letterboxing, exempt view-source: URIs.
- - - - -
a5934b0f by hackademix at 2025-05-21T17:20:49+02:00
BB 42574: Letterboxing, exempt pdf.js.
- - - - -
61ec59aa by hackademix at 2025-05-21T17:20:49+02:00
BB 32308: Use direct browser sizing for letterboxing.
Bug 30556: align letterboxing with 200x100 new win width stepping
- - - - -
54ebbd73 by hackademix at 2025-05-21T17:21:00+02:00
BB 41631: Prevent weird initial window dimensions caused by subpixel computations
- - - - -
987d089c by hackademix at 2025-05-21T17:21:05+02:00
BB 41918: Option to reuse last window size when letterboxing is enabled.
- - - - -
7a811443 by hackademix at 2025-05-21T17:21:06+02:00
BB 41916: Letterboxing preferences UI
- - - - -
dfe3bf8c by hackademix at 2025-05-21T17:21:07+02:00
BB 41919: Letterboxing, add temporarily visible web content-size indicator on window resizing.
- - - - -
9430f555 by hackademix at 2025-05-21T17:21:08+02:00
BB 41695: Warn on window maximization without letterboxing in RFPHelper module
- - - - -
460e98e7 by hackademix at 2025-05-21T17:21:08+02:00
BB 42443: Shrink window to match letterboxing size when the emtpy area is clicked.
- - - - -
06d61ffc by Henry Wilkes at 2025-05-21T17:21:09+02:00
BB 42528: Don't leak system scrollbar size on windows.
- - - - -
44c37675 by Henry Wilkes at 2025-05-21T17:21:10+02:00
BB 31575: Disable Firefox Home (Activity Stream)
Treat about:blank as the default home page and new tab page.
Avoid loading AboutNewTab in BrowserGlue.sys.mjs in order
to avoid several network requests that we do not need.
Bug 41624: Disable about:pocket-* pages.
Bug 40144: Redirect about:privatebrowsing to the user's home
- - - - -
25d942b1 by Kathy Brade at 2025-05-21T17:21:11+02:00
BB 4234: Use the Firefox Update Process for Base Browser.
Windows: disable "runas" code path in updater (15201).
Windows: avoid writing to the registry (16236).
Also includes fixes for tickets 13047, 13301, 13356, 13594, 15406,
16014, 16909, 24476, and 25909.
Also fix bug 27221: purge the startup cache if the Base Browser
version changed (even if the Firefox version and build ID did
not change), e.g., after a minor Base Browser update.
Also fix 32616: Disable GetSecureOutputDirectoryPath() functionality.
Bug 26048: potentially confusing "restart to update" message
Within the update doorhanger, remove the misleading message that mentions
that windows will be restored after an update is applied, and replace the
"Restart and Restore" button label with an existing
"Restart to update Tor Browser" string.
Bug 28885: notify users that update is downloading
Add a "Downloading Base Browser update" item which appears in the
hamburger (app) menu while the update service is downloading a MAR
file. Before this change, the browser did not indicate to the user
that an update was in progress, which is especially confusing in
Tor Browser because downloads often take some time. If the user
clicks on the new menu item, the about dialog is opened to allow
the user to see download progress.
As part of this fix, the update service was changed to always show
update-related messages in the hamburger menu, even if the update
was started in the foreground via the about dialog or via the
"Check for Tor Browser Update" toolbar menu item. This change is
consistent with the Tor Browser goal of making sure users are
informed about the update process.
Removed #28885 parts of this patch which have been uplifted to Firefox.
- - - - -
9f54b22e by Pier Angelo Vendrame at 2025-05-21T17:21:12+02:00
BB 42061: Create an alpha update channel.
- - - - -
f82fafd3 by Nicolas Vigier at 2025-05-21T17:21:12+02:00
BB 41682: Add base-browser nightly mar signing key
- - - - -
f7903d73 by Pier Angelo Vendrame at 2025-05-21T17:21:13+02:00
BB 41603: Customize the creation of MOZ_SOURCE_URL
MOZ_SOURCE_URL is created by combining MOZ_SOURCE_REPO and
MOZ_SOURCE_CHANGESET.
But the code takes for granted that it refers to a Hg instance, so it
combines them as `$MOZ_SOURCE_REPO/rev/$MOZ_SOURCE_CHANGESET`.
With this commit, we change this logic to combine them to create a URL
that is valid for GitLab.
$MOZ_SOURCE_CHANGESET needs to be a commit hash, not a branch or a tag.
If that is needed, we could use /-/tree/, instead of /-/commit/.
- - - - -
03afa566 by Pier Angelo Vendrame at 2025-05-21T17:21:14+02:00
BB 41698: Reword the recommendation badges in about:addons
Firefox strings use { -brand-product-name }.
As a result, it seems that the fork is recommending extensions, whereas
AMO curators are doing that.
So, we replace the strings with custom ones that clarify that Mozilla is
recommending them.
We assign the strings with JS because our translation backend does not
support Fluent attributes, yet, but once it does, we should switch to
them, instead.
Upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1825033
- - - - -
df8aed39 by Pier Angelo Vendrame at 2025-05-21T17:21:15+02:00
BB 42438: Tweaks to the migration wizard.
Remove the items not compatible with our features (such as history) from
the migration wizard.
On Linux, allow to specify an alternative home directory, since we
usually change $HOME in our startup script.
- - - - -
efd594da by Alex Catarineu at 2025-05-21T17:21:16+02:00
BB 40069: Add helpers for message passing with extensions
- - - - -
8a93c8c7 by Matthew Finkel at 2025-05-21T17:21:16+02:00
BB 41598: Prevent NoScript from being removed/disabled.
Bug 40253: Explicitly allow NoScript in Private Browsing mode.
- - - - -
244bda0b by Henry Wilkes at 2025-05-21T17:21:17+02:00
BB 41581: Hide NoScript extension's toolbar button by default.
This hides it from both the toolbar and the unified extensions panel.
We also hide the unified-extension-button if the panel would be empty:
not including the NoScript button when it is hidden. As a result, this
will be hidden by default until a user installs another extension (or
shows the NoScript button and unpins it).
- - - - -
7640299d by hackademix at 2025-05-21T17:21:18+02:00
BB 41834: Hide "Can't Be Removed - learn more" menu line for uninstallable add-ons
- - - - -
d5bf84b5 by Pier Angelo Vendrame at 2025-05-21T17:21:19+02:00
BB 40925: Implemented the Security Level component
This component adds a new Security Level toolbar button which visually
indicates the current global security level via icon (as defined by the
extensions.torbutton.security_slider pref), a drop-down hanger with a
short description of the current security level, and a new section in
the about:preferences#privacy page where users can change their current
security level. In addition, the hanger and the preferences page will
show a visual warning when the user has modified prefs associated with
the security level and provide a one-click 'Restore Defaults' button to
get the user back on recommended settings.
Bug 40125: Expose Security Level pref in GeckoView
- - - - -
ed0c703d by Pier Angelo Vendrame at 2025-05-21T17:21:19+02:00
BB 40926: Implemented the New Identity feature
- - - - -
be1fc48b by Henry Wilkes at 2025-05-21T17:21:20+02:00
BB 41736: Customize toolbar for base-browser.
- - - - -
55b65e52 by Pier Angelo Vendrame at 2025-05-21T17:21:21+02:00
BB 42027: Base Browser migration procedures.
This commit implmenents the the Base Browser's version of _migrateUI.
- - - - -
37e8f931 by gela at 2025-05-21T17:21:22+02:00
Bug 1929478 - Update log statement r=skhan
Differential Revision: https://phabricator.services.mozilla.com/D242094
- - - - -
60b572a7 by Titouan Thibaud at 2025-05-21T17:21:23+02:00
Bug 1945705 - Fix malformed download filename extracted from contentDisposition r=android-reviewers,rsainani
Differential Revision: https://phabricator.services.mozilla.com/D241072
- - - - -
ee9f185d by Pier Angelo Vendrame at 2025-05-21T17:21:24+02:00
Revert "BB 43101: Deep link to the startup security warning explanation."
This reverts commit 6ec44aafb11c09d54eff7636bcf052685840cc76.
- - - - -
6a2fa02e by Alexandre Lissy at 2025-05-21T17:21:24+02:00
Bug 1947157 - Use In-Product link for dedicated usernamespaces fix page r=jld
Differential Revision: https://phabricator.services.mozilla.com/D237599
- - - - -
a292908b by Henry Wilkes at 2025-05-21T17:21:25+02:00
TB 42308: Create README for tor-browser.
We drop the README.txt that comes from Mozilla Firefox and add README.md
for tor-browser.
- - - - -
d9d95fec by Beatriz Rizental at 2025-05-21T17:21:26+02:00
Add CI for Tor Browser
- - - - -
5e3079f0 by Richard Pospesel at 2025-05-21T17:21:27+02:00
TB 41089: Add tor-browser build scripts + Makefile to tor-browser
- - - - -
28b7f955 by Henry Wilkes at 2025-05-21T17:21:28+02:00
TB 41803: Add some developer tools for working on tor-browser.
- - - - -
54884eeb by Kathy Brade at 2025-05-21T17:21:29+02:00
TB 11641: Disable remoting by default.
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
- - - - -
195cd719 by Alex Catarineu at 2025-05-21T17:21:29+02:00
Add TorStrings module for localization
- - - - -
753e9477 by Henry Wilkes at 2025-05-21T17:21:30+02:00
Tor Browser strings
This commit adds all the strings needed for Tor Browser patches.
- - - - -
c2518ae6 by Henry Wilkes at 2025-05-21T17:21:31+02:00
Tor Browser localization migration scripts.
- - - - -
b978cfbe by Mike Perry at 2025-05-21T17:21:32+02:00
TB 2176: Rebrand Firefox to TorBrowser
See also Bugs #5194, #7187, #8115, #8219.
This patch does some basic renaming of Firefox to TorBrowser. The rest of the
branding is done by images and icons.
Also fix bug 27905.
Bug 25702: Update Tor Browser icon to follow design guidelines
- Updated all of the branding in /browser/branding/official with new 'stable'
icon series.
- Updated /extensions/onboarding/content/img/tor-watermark.png with new icon and
add the source svg in the same directory
- Copied /browser/branding/official over /browser/branding/nightly and the new
/browser/branding/alpha directories. Replaced content with 'nightly' and
'alpha' icon series.
Updated VisualElements_70.png and VisualElements_150.png with updated icons in
each branding directory (fixes #22654)
- Updated firefox.VisualElementsManfiest.xml with updated colors in each
branding directory
- Added firefox.svg to each branding directory from which all the other icons
are derived (apart from document.icns and document.ico)
- Added default256.png and default512.png icons
- Updated aboutTBUpdate.css to point to branding-aware icon128.png and removed
original icon
- Use the Tor Browser icon within devtools/client/themes/images/.
Bug 30631: Blurry Tor Browser icon on macOS app switcher
It would seem the png2icns tool does not generate correct icns files and
so on macOS the larger icons were missing resulting in blurry icons in
the OS chrome. Regenerated the padded icons in a macOS VM using
iconutil.
Bug 28196: preparations for using torbutton tor-browser-brand.ftl
A small change to Fluent FileSource class is required so that we
can register a new source without its supported locales being
counted as available locales for the browser.
Bug 31803: Replaced about:debugging logo with flat version
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
Bug 32092: Fix Tor Browser Support link in preferences
For bug 40562, we moved onionPattern* from bug 27476 to here, as
about:tor needs these files but it is included earlier.
Bug 41278: Create Tor Browser styled pdf logo similar to the vanilla Firefox one
Bug 42088: New application icons (used in-app and on linux).
Bug 42087: New application icons (windows).
- - - - -
d79887fe by Henry Wilkes at 2025-05-21T17:21:33+02:00
Customize moz-toggle for tor-browser.
- - - - -
8b01d968 by Henry Wilkes at 2025-05-21T17:21:33+02:00
TB 43087: Add onion-pattern to be used on Tor pages.
- - - - -
2fb25f8c by hackademix at 2025-05-21T17:21:34+02:00
TB 41917: Tor brand-specific styles.
- - - - -
2fdb5742 by Henry Wilkes at 2025-05-21T17:21:35+02:00
TB 41817: tor-browser semantic colors.
- - - - -
f7efe6a2 by Henry Wilkes at 2025-05-21T17:21:36+02:00
TB 42110: Add TorUIUtils module for common tor component methods.
- - - - -
e9040447 by Henry Wilkes at 2025-05-21T17:21:36+02:00
Add purple tor version of the loading APNG.
- - - - -
5c166a10 by Henry Wilkes at 2025-05-21T17:21:37+02:00
TB 42583: Modify moz-support-link for Tor Browser.
- - - - -
714ff10b by sanketh at 2025-05-21T17:21:38+02:00
TB 40209: Implement Basic Crypto Safety
Adds a CryptoSafety actor which detects when you've copied a crypto
address from a HTTP webpage and shows a warning.
Closes #40209.
Bug 40428: Fix string attribute names
- - - - -
fc0ea72c by Mike Perry at 2025-05-21T17:21:39+02:00
TB3: Tor Browser's official .mozconfigs.
Also:
Add an --enable-tor-browser-data-outside-app-dir configure option
Add --with-tor-browser-version configure option
Bug 31457: disable per-installation profiles
The dedicated profiles (per-installation) feature does not interact
well with our bundled profiles on Linux and Windows, and it also causes
multiple profiles to be created on macOS under TorBrowser-Data.
Bug 31935: Disable profile downgrade protection.
Since Tor Browser does not support more than one profile, disable
the prompt and associated code that offers to create one when a
version downgrade situation is detected.
Add --enable-tor-browser-update build option
Bug 40793: moved Tor configuration options from old-configure.in to moz.configure
Bug 41584: Move some configuration options to base-browser level
- - - - -
7e3a7747 by Henry Wilkes at 2025-05-21T17:21:40+02:00
TB 41340: Enable TOR_BROWSER_NIGHTLY_BUILD features for dev and nightly builds
tor-browser#41285: Enable fluent warnings.
- - - - -
9a961f8f by Pier Angelo Vendrame at 2025-05-21T17:21:40+02:00
TB 40562: Added Tor Browser preferences to 000-tor-browser.js
Before reordering patches, we used to keep the Tor-related patches
(torbutton and tor-launcher) at the beginning.
After that issue, we decided to move them towards the end.
In addition to that, we have decided to move Tor Browser-only
preferences there, too, to make Base Browser-only fixups easier to
apply.
- - - - -
ead724db by Pier Angelo Vendrame at 2025-05-21T17:21:41+02:00
TB 13252: Customize profile management on macOS
On macOS we allow both portable mode and system installation.
However, in the latter case, we customize Firefox's directories to
match the hierarchy we use for the portable mode.
Also, display an informative error message if the TorBrowser-Data
directory cannot be created due to an "access denied" or a
"read only volume" error.
- - - - -
7724fe13 by Pier Angelo Vendrame at 2025-05-21T17:21:42+02:00
TB 40933: Add tor-launcher functionality
Bug 41926: Reimplement the control port
- - - - -
1e0da857 by Cecylia Bocovich at 2025-05-21T17:21:43+02:00
Lox integration
- - - - -
27bd0e39 by Richard Pospesel at 2025-05-21T17:21:44+02:00
TB 40597: Implement TorSettings module
- migrated in-page settings read/write implementation from about:preferences#tor
to the TorSettings module
- TorSettings initially loads settings from the tor daemon, and saves them to
firefox prefs
- TorSettings notifies observers when a setting has changed; currently only
QuickStart notification is implemented for parity with previous preference
notify logic in about:torconnect and about:preferences#tor
- about:preferences#tor, and about:torconnect now read and write settings
thorugh the TorSettings module
- all tor settings live in the torbrowser.settings.* preference branch
- removed unused pref modify permission for about:torconnect content page from
AsyncPrefs.jsm
Bug 40645: Migrate Moat APIs to Moat.jsm module
- - - - -
897ab685 by Arthur Edelstein at 2025-05-21T17:21:45+02:00
TB 3455: Add DomainIsolator, for isolating circuit by domain.
Add an XPCOM component that registers a ProtocolProxyChannelFilter
which sets the username/password for each web request according to
url bar domain.
Bug 9442: Add New Circuit button
Bug 13766: Set a 10 minute circuit dirty timeout for the catch-all circ.
Bug 19206: Include a 128 bit random tag as part of the domain isolator nonce.
Bug 19206: Clear out the domain isolator state on `New Identity`.
Bug 21201.2: Isolate by firstPartyDomain from OriginAttributes
Bug 21745: Fix handling of catch-all circuit
Bug 41741: Refactor the domain isolator and new circuit
- - - - -
a9a71de1 by Henry Wilkes at 2025-05-21T17:21:46+02:00
TB 41600: Add a tor circuit display panel.
- - - - -
5fa97f1d by Pier Angelo Vendrame at 2025-05-21T17:21:46+02:00
TB 42247: Android helpers for the TorProvider
GeckoView is missing some API we use on desktop for the integration
with the tor daemon, such as subprocess.
Therefore, we need to implement them in Java and plumb the data
back and forth between JS and Java.
- - - - -
f0bb2bfc by hackademix at 2025-05-21T17:21:47+02:00
TB 8324: Prevent DNS proxy bypasses caused by Drag&Drop
Bug 41613: Skip Drang & Drop filtering for DNS-safe URLs
- - - - -
f429724d by Matthew Finkel at 2025-05-21T17:21:48+02:00
TB 25741: TBA: Disable GeckoNetworkManager
The browser should not need information related to the network
interface or network state, tor should take care of that.
- - - - -
56cf6216 by Pier Angelo Vendrame at 2025-05-21T17:21:49+02:00
TB 40807: Added QRCode.js to toolkit/modules
- - - - -
4d15c5ea by Richard Pospesel at 2025-05-21T17:21:50+02:00
TB 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection
This patch adds a new about:preferences#connection page which allows
modifying bridge, proxy, and firewall settings from within Tor Browser.
All of the functionality present in tor-launcher's Network
Configuration panel is present:
- Setting built-in bridges
- Requesting bridges from BridgeDB via moat
- Using user-provided bridges
- Configuring SOCKS4, SOCKS5, and HTTP/HTTPS proxies
- Setting firewall ports
- Viewing and Copying Tor's logs
- The Networking Settings in General preferences has been removed
Bug 40774: Update about:preferences page to match new UI designs
- - - - -
415ba7a9 by Richard Pospesel at 2025-05-21T17:21:50+02:00
TB 27476: Implement about:torconnect captive portal within Tor Browser
- implements new about:torconnect page as tor-launcher replacement
- adds new torconnect component to browser
- tor process management functionality remains implemented in tor-launcher through the TorProtocolService module
- adds warning/error box to about:preferences#tor when not connected to tor
Bug 40773: Update the about:torconnect frontend page to match additional UI flows.
Bug 41608: Add a toolbar status button and a urlbar "Connect" button.
- - - - -
6a79eb12 by Pier Angelo Vendrame at 2025-05-21T17:21:51+02:00
Temporary changes to about:torconnect for Android.
We are planning of tempoorarily using about:torconnect on Android, until
the native UX is ready.
- - - - -
55d349ec by Henry Wilkes at 2025-05-21T17:21:52+02:00
TB 43405: Show a prompt whenever we fail to apply Tor settings.
- - - - -
8fafcb94 by Henry Wilkes at 2025-05-21T17:21:53+02:00
TB 7494: Create local home page for TBB.
Bug 41333: Update about:tor to new design. Including:
+ make the favicon match the branding icon.
+ make the location bar show a search icon.
- - - - -
1c217172 by Pier Angelo Vendrame at 2025-05-21T17:21:54+02:00
TB 41668: Tweaks to the Base Browser updater for Tor Browser
This commit was once part of "Bug 4234: Use the Firefox Update Process
for Tor Browser.".
However, some parts of it were not needed for Base Browser and some
derivative browsers.
Therefore, we extracted from that commit the parts for Tor Browser
legacy, and we add them back to the patch set with this commit.
- - - - -
d5b1f210 by Kathy Brade at 2025-05-21T17:21:54+02:00
TB 12647: Support symlinks in the updater.
- - - - -
01f20244 by Georg Koppen at 2025-05-21T17:21:55+02:00
TB 32658: Create a new MAR signing key
It's time for our rotation again: Move the backup key in the front
position and add a new backup key.
Bug 33803: Move our primary nightly MAR signing key to tor-browser
Bug 33803: Add a secondary nightly MAR signing key
- - - - -
8bd61672 by Pier Angelo Vendrame at 2025-05-21T17:21:56+02:00
TB 42891: Set the bundled search engine for Tor Browser.
After upstream changes between Firefox 115 and 128, we had to
completely rework the way in which we define our search engines.
This commit replaces the old "Omnibox: Add DDG, Startpage, Disconnect,
Youtube, Twitter; remove Amazon, eBay, bing".
With that commit, we customized a list of addons IDs to ship as
built-in search engines, but then upsteam moved to using only
RemoteSettings.
The configuration has many more fields, and it would be quite long to
include it in the source code. Therefore, we use some local JSON files
and load the settings from them.
- - - - -
615c6448 by Alex Catarineu at 2025-05-21T17:21:57+02:00
TB 40073: Disable remote Public Suffix List fetching
In https://bugzilla.mozilla.org/show_bug.cgi?id=1563246 Firefox implemented
fetching the Public Suffix List via RemoteSettings and replacing the default
one at runtime, which we do not want.
- - - - -
00c35cd6 by Henry Wilkes at 2025-05-21T17:21:57+02:00
TB 41906: Hide DNS over HTTPS preferences.
- - - - -
799af960 by Richard Pospesel at 2025-05-21T17:21:58+02:00
TB 23247: Communicating security expectations for .onion
Encrypting pages hosted on Onion Services with SSL/TLS is redundant
(in terms of hiding content) as all traffic within the Tor network is
already fully encrypted. Therefore, serving HTTP pages from an Onion
Service is more or less fine.
Prior to this patch, Tor Browser would mostly treat pages delivered
via Onion Services as well as pages delivered in the ordinary fashion
over the internet in the same way. This created some inconsistencies
in behaviour and misinformation presented to the user relating to the
security of pages delivered via Onion Services:
- HTTP Onion Service pages did not have any 'lock' icon indicating
the site was secure
- HTTP Onion Service pages would be marked as unencrypted in the Page
Info screen
- Mixed-mode content restrictions did not apply to HTTP Onion Service
pages embedding Non-Onion HTTP content
This patch fixes the above issues, and also adds several new 'Onion'
icons to the mix to indicate all of the various permutations of Onion
Services hosted HTTP or HTTPS pages with HTTP or HTTPS content.
Strings for Onion Service Page Info page are pulled from Torbutton's
localization strings.
- - - - -
8902037a by Kathy Brade at 2025-05-21T17:21:59+02:00
TB 30237: Add v3 onion services client authentication prompt
When Tor informs the browser that client authentication is needed,
temporarily load about:blank instead of about:neterror and prompt
for the user's key.
If a correctly formatted key is entered, use Tor's ONION_CLIENT_AUTH_ADD
control port command to add the key (via Torbutton's control port
module) and reload the page.
If the user cancels the prompt, display the standard about:neterror
"Unable to connect" page. This requires a small change to
browser/actors/NetErrorChild.jsm to account for the fact that the
docShell no longer has the failedChannel information. The failedChannel
is used to extract TLS-related error info, which is not applicable
in the case of a canceled .onion authentication prompt.
Add a leaveOpen option to PopupNotifications.show so we can display
error messages within the popup notification doorhanger without
closing the prompt.
Add support for onion services strings to the TorStrings module.
Add support for Tor extended SOCKS errors (Tor proposal 304) to the
socket transport and SOCKS layers. Improved display of all of these
errors will be implemented as part of bug 30025.
Also fixes bug 19757:
Add a "Remember this key" checkbox to the client auth prompt.
Add an "Onion Services Authentication" section within the
about:preferences "Privacy & Security section" to allow
viewing and removal of v3 onion client auth keys that have
been stored on disk.
Also fixes bug 19251: use enhanced error pages for onion service errors.
- - - - -
0220bf31 by Alex Catarineu at 2025-05-21T17:22:00+02:00
TB 21952: Implement Onion-Location
Whenever a valid Onion-Location HTTP header (or corresponding HTML
<meta> http-equiv attribute) is found in a document load, we either
redirect to it (if the user opted-in via preference) or notify the
presence of an onionsite alternative with a badge in the urlbar.
- - - - -
4de725a9 by Pier Angelo Vendrame at 2025-05-21T17:22:01+02:00
TB 40458: Implement .tor.onion aliases
We have enabled HTTPS-Only mode, therefore we do not need
HTTPS-Everywhere anymore.
However, we want to keep supporting .tor.onion aliases (especially for
securedrop).
Therefore, in this patch we implemented the parsing of HTTPS-Everywhere
rulesets, and the redirect of .tor.onion domains.
Actually, Tor Browser believes they are actual domains. We change them
on the fly on the SOCKS proxy requests to resolve the domain, and on
the code that verifies HTTPS certificates.
- - - - -
fd08cbbc by Pier Angelo Vendrame at 2025-05-21T17:22:01+02:00
TB 11698: Incorporate Tor Browser Manual pages into Tor Browser
This patch associates the about:manual page to a translated page that
must be injected to browser/omni.ja after the build.
The content must be placed in chrome/browser/content/browser/manual/, so
that is then available at chrome://browser/content/manual/.
We preferred giving absolute freedom to the web team, rather than having
to change the patch in case of changes on the documentation.
- - - - -
c9af2551 by Pier Angelo Vendrame at 2025-05-21T17:22:02+02:00
TB 41435: Add a Tor Browser migration function
For now this function only deletes old language packs for which we are
already packaging the strings with the application.
- - - - -
07072a70 by Dan Ballard at 2025-05-21T17:22:03+02:00
TB 40701: Add security warning when downloading a file
Shown in the downloads panel, about:downloads and places.xhtml.
- - - - -
ab2cbe18 by Henry Wilkes at 2025-05-21T17:22:04+02:00
TB 41736: Customize toolbar for tor-browser.
- - - - -
e5cbeaa5 by hackademix at 2025-05-21T17:22:04+02:00
TB 41728: Pin bridges.torproject.org domains to Let's Encrypt's root cert public key
- - - - -
80034cf7 by Richard Pospesel at 2025-05-21T17:22:05+02:00
TB 41822: Unconditionally disable default browser UX in about:preferences
- - - - -
197f86fd by Cecylia Bocovich at 2025-05-21T17:22:06+02:00
Temporary commit: manually place generated wasm files
These files are built reproducibly using tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/merge_re…
We're manually adding them here while working on the interface, but
eventually these should be placed in the right location using
tor-browser-build.
- - - - -
2e56b89e by Pier Angelo Vendrame at 2025-05-21T17:22:07+02:00
[android] TBA strings
- - - - -
45e77e42 by Dan Ballard at 2025-05-21T17:22:07+02:00
TB 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport
- - - - -
f19da14f by Dan Ballard at 2025-05-21T17:22:08+02:00
TB 43006: Disable RFP for Font Visibility on Android
- - - - -
90b6d9fa by Matthew Finkel at 2025-05-21T17:22:09+02:00
TB 40005: [android] Modify Default toolbar menu
Originally android-components#40005.
- - - - -
50faa535 by Alex Catarineu at 2025-05-21T17:22:10+02:00
TB 34378: [android] Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Originally, android-components#40007 and fenix#34378.
- - - - -
79e9be8f by Alex Catarineu at 2025-05-21T17:22:10+02:00
TB 40002: [android] Ensure system download manager is not used
Originally, android-components#40002.
android-components#40075: Support scoped storage to enable downloads on API < 29
- in android-components!7, we blocked all usage of Scoped
Storage in an attempt to block usage of Android's
DownloadManager, which is known to cause proxy bypasses
- as of Android API 29, downloads will not work without Scoped Storage,
causing all downlaods to fail (see: fenix##40192)
- here, we enable usage of scoped storage for API >= 29, but block
calls to DownloadManager on API < 29
- - - - -
89de7b75 by Alex Catarineu at 2025-05-21T17:22:11+02:00
TB 40009: [android] Change the default search engines
Originally, android-components#40009.
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
android-components#40062: Update DuckDuckGo onion search plugin
- - - - -
63c6deb5 by hackademix at 2025-05-21T17:22:12+02:00
TB 42191: [android] Temporary StrictMode relaxation to clear the thumbnail cache.
- - - - -
011324b7 by hackademix at 2025-05-21T17:22:13+02:00
[android] Modify add-on support
Bug 41160: One-time ultimate switch Tor Browser Android to HTTPS-Only.
Bug 41159: Remove HTTPS-Everywhere extension from Tor Browser Android.
Bug 41094: Enable HTTPS-Only Mode by default in Tor Browser Android.
Turn shouldUseHttpsOnly's default to true.
Bug 40225: Bundled extensions don't get updated with Android Tor
Browser updates.
Bug 40030: Install NoScript addon on startup.
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
16ad5aeb by Alex Catarineu at 2025-05-21T17:22:14+02:00
[android] Modify Addon support
android-components#40011: Hide option for disallowing addons in private mode
android-components#40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
5b1c7441 by Alex Catarineu at 2025-05-21T17:22:15+02:00
TB 40015: [android] Port padlock states for .onion services
Originally, android-components#40015.
- - - - -
e140877e by Matthew Finkel at 2025-05-21T17:22:15+02:00
[android] Modify Tracking Protection configuration
android-components#40020: Disable third-party cookies
android-components#40024: Disable tracking protection by default
- - - - -
dd85b6c6 by Matthew Finkel at 2025-05-21T17:22:16+02:00
TB 40023: [android] Stop PrivateNotificationService
Originally, android-components#40023.
- - - - -
a1889091 by Alex Catarineu at 2025-05-21T17:22:17+02:00
TB 34439 [android]: Isolate Icon loader on Android.
Originally, android-components#34439.
- - - - -
667cb477 by Matthew Finkel at 2025-05-21T17:22:18+02:00
[android] Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
Bug 40109: Reduce requested permissions
Exclude LOCATION and NETWORK_STATE
- - - - -
4c36e388 by Matthew Finkel at 2025-05-21T17:22:18+02:00
TB 40032 [android]: Set usesCleartextTraffic as false
Originally, fenix#40032.
- - - - -
795c7161 by Matthew Finkel at 2025-05-21T17:22:19+02:00
[android] Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
ce0e2893 by Georg Koppen at 2025-05-21T17:22:20+02:00
[android] Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
Bug 40143: Use deterministic date in Test apk
The build config was using Date() when generating the Test apk's
versionName.
- - - - -
95a32f24 by Beatriz Rizental at 2025-05-21T17:22:21+02:00
TB 42669: [android] Use custom no-op app-services
Fetch the custom built no-op application services library
from tor-browser-build when building for Android.
- - - - -
a1a5326e by Matthew Finkel at 2025-05-21T17:22:22+02:00
TB 40185: [android] Use NimbusDisabled
Originally, fenix#40185.
- - - - -
a77ae06e by Alex Catarineu at 2025-05-21T17:22:22+02:00
TB 40087 [android]: Implement a switch for spoof English.
Originally, fenix#40087 and android-components#40019.
- - - - -
0f3a3048 by Matthew Finkel at 2025-05-21T17:22:23+02:00
TB 34403 [android]: Disable Normal mode by default.
Originally, fenix#34403.
- - - - -
33fd8933 by Matthew Finkel at 2025-05-21T17:22:24+02:00
TB 40016 [android]: Don't install WebCompat webext.
Originally, fenix#40016.
- - - - -
100026d6 by Matthew Finkel at 2025-05-21T17:22:25+02:00
[android] Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40063: Do not sort search engines alphabetically
Bug 40141: Hide EME site permission
Bug 40166: Hide "Normal" tab (again) and Sync tab in TabTray
Bug 40167: Hide "Save to Collection" in menu
Bug 40172: Find the Quit button
Bug 40186: Hide Credit Cards in Settings
Bug 40198: Spoof English toggle now overlaps with locale list
- - - - -
8cea1456 by Matthew Finkel at 2025-05-21T17:22:26+02:00
TB 40026 [android]: Implement Security Level settings on Android.
Originally, fenix#40026.
- - - - -
422b44d8 by Dan Ballard at 2025-05-21T17:22:26+02:00
TB 41972: [android] Disable Mozilla onboarding
- - - - -
f8824a51 by Dan Ballard at 2025-05-21T17:22:27+02:00
TB 41878: [android] Add standalone Tor Bootstrap
- - - - -
2d4837e7 by Matthew Finkel at 2025-05-21T17:22:28+02:00
TB 40041 [android]: Implement Tor Network Settings
Originally, fenix#40041.
- - - - -
92adeb0f by clairehurst at 2025-05-21T17:22:29+02:00
[android] Implement Android-native Connection Assist UI
- - - - -
b0c08224 by clairehurst at 2025-05-21T17:22:29+02:00
TB 42655 [android]: Implement "New circuit for this site" on Android
- - - - -
ea7ce441 by clairehurst at 2025-05-21T17:22:30+02:00
TB 42089: [android] Remove ability to submit site support requests
- - - - -
66fa1183 by clairehurst at 2025-05-21T17:22:31+02:00
[android] Delete unused media
- - - - -
44d33970 by clairehurst at 2025-05-21T17:22:32+02:00
[android] TB 43351: Add function to disable forcing ALL CAPS for the fenix snackbar action button text
This is needed because the default snackbar will force all caps, which can cause problems in some languages. See tor-browser#43351 and bugzilla bug 1935387.
TODO: Remove once the forced all caps is removed by mozilla.
- - - - -
bf845abc by Beatriz Rizental at 2025-05-21T17:22:32+02:00
TB 43243: [android] Implement Android launch test
Also remove exit call from terminate function.
It causes all espresso tests to crash on exit and otherwise doesn't do anything.
- - - - -
f74284c2 by Dan Ballard at 2025-05-21T17:22:33+02:00
TB 43505 [android]: Add 2025 UX Survey Campaign
- - - - -
cfd69fcb by Morgan at 2025-05-21T17:22:34+02:00
TB 43616: Customize Gitlab Issue and Merge Request templates
- - - - -
2007 changed files:
- .eslintignore
- .gitignore
- + .gitlab-ci.yml
- + .gitlab/ci/containers/base/Containerfile
- + .gitlab/ci/jobs/lint/helpers.py
- + .gitlab/ci/jobs/lint/lint.yml
- + .gitlab/ci/jobs/startup-test/startup-test-android.py
- + .gitlab/ci/jobs/startup-test/startup-test.py
- + .gitlab/ci/jobs/startup-test/startup-test.yml
- + .gitlab/ci/jobs/update-containers.yml
- + .gitlab/ci/jobs/update-translations.yml
- + .gitlab/ci/mixins.yml
- + .gitlab/issue_templates/000 Bug Report.md
- + .gitlab/issue_templates/010 Proposal.md
- + .gitlab/issue_templates/020 Web Compatibility.md
- + .gitlab/issue_templates/030 Test.md
- + .gitlab/issue_templates/040 Feature.md
- + .gitlab/issue_templates/050 Backport.md
- + .gitlab/issue_templates/060 Rebase - Alpha.md
- + .gitlab/issue_templates/061 Rebase - Stable.md
- + .gitlab/issue_templates/062 Rebase - Legacy.md
- + .gitlab/issue_templates/063 Rebase - Rapid.md
- + .gitlab/issue_templates/070 Uplift.md
- + .gitlab/issue_templates/080 Security Backports.md
- + .gitlab/issue_templates/090 Emergency Security Issue.md
- + .gitlab/issue_templates/100 Release QA - Desktop.md
- + .gitlab/issue_templates/101 Release QA - Android.md
- + .gitlab/issue_templates/110 Bugzilla Triage.md
- + .gitlab/issue_templates/120 Bugzilla Audit.md
- + .gitlab/issue_templates/Default.md
- + .gitlab/merge_request_templates/Default.md
- .prettierignore
- + README.md
- − README.txt
- + browser/actors/CryptoSafetyChild.sys.mjs
- + browser/actors/CryptoSafetyParent.sys.mjs
- − browser/actors/RFPHelperChild.sys.mjs
- − browser/actors/RFPHelperParent.sys.mjs
- browser/actors/moz.build
- browser/app/Makefile.in
- browser/app/macbuild/Contents/Info.plist.in
- browser/app/macbuild/Contents/MacOS-files.in
- browser/app/moz.build
- browser/app/permissions
- + browser/app/profile/000-tor-browser.js
- + browser/app/profile/001-base-profile.js
- browser/app/profile/firefox.js
- browser/base/content/aboutDialog-appUpdater.js
- browser/base/content/aboutDialog.js
- browser/base/content/aboutDialog.xhtml
- + browser/base/content/aboutDialogTor.css
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-context.inc
- browser/base/content/browser-init.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-places.js
- browser/base/content/browser-safebrowsing.js
- browser/base/content/browser-sets.inc
- browser/base/content/browser-siteIdentity.js
- browser/base/content/browser.css
- browser/base/content/browser.js
- browser/base/content/browser.js.globals
- browser/base/content/browser.xhtml
- browser/base/content/default-bookmarks.html
- + browser/base/content/languageNotification.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/navigator-toolbox.inc.xhtml
- browser/base/content/pageinfo/pageInfo.xhtml
- browser/base/content/pageinfo/security.js
- browser/base/content/popup-notifications.inc
- browser/base/content/test/general/browser_private_browsing_window.js
- browser/base/content/utilityOverlay.js
- browser/base/jar.mn
- browser/base/moz.build
- browser/branding/branding-common.mozbuild
- + browser/branding/tb-alpha/VisualElements_150.png
- + browser/branding/tb-alpha/VisualElements_70.png
- + browser/branding/tb-alpha/configure.sh
- + browser/branding/tb-alpha/content/about-logo.png
- + browser/branding/tb-alpha/content/about-logo.svg
- + browser/branding/tb-alpha/content/about-logo(a)2x.png
- + browser/branding/tb-alpha/content/about-wordmark.svg
- + browser/branding/tb-alpha/content/about.png
- + browser/branding/tb-alpha/content/aboutDialog.css
- + browser/branding/tb-alpha/content/firefox-wordmark.svg
- + browser/branding/tb-alpha/content/jar.mn
- + browser/branding/tb-alpha/content/moz.build
- + browser/branding/tb-alpha/default128.png
- + browser/branding/tb-alpha/default16.png
- + browser/branding/tb-alpha/default22.png
- + browser/branding/tb-alpha/default24.png
- + browser/branding/tb-alpha/default256.png
- + browser/branding/tb-alpha/default32.png
- + browser/branding/tb-alpha/default48.png
- + browser/branding/tb-alpha/default64.png
- + browser/branding/tb-alpha/document.icns
- + browser/branding/tb-alpha/document.ico
- + browser/branding/tb-alpha/document_pdf.ico
- + browser/branding/tb-alpha/firefox.VisualElementsManifest.xml
- + browser/branding/tb-alpha/firefox.icns
- + browser/branding/tb-alpha/firefox.ico
- + browser/branding/tb-alpha/locales/en-US/brand.ftl
- + browser/branding/tb-alpha/locales/en-US/brand.properties
- + browser/branding/tb-alpha/locales/jar.mn
- + browser/branding/tb-alpha/locales/moz.build
- + browser/branding/tb-alpha/moz.build
- + browser/branding/tb-alpha/newtab.ico
- + browser/branding/tb-alpha/newwindow.ico
- + browser/branding/tb-alpha/pbmode.ico
- + browser/branding/tb-alpha/pref/firefox-branding.js
- + browser/branding/tb-nightly/VisualElements_150.png
- + browser/branding/tb-nightly/VisualElements_70.png
- + browser/branding/tb-nightly/configure.sh
- + browser/branding/tb-nightly/content/about-logo.png
- + browser/branding/tb-nightly/content/about-logo.svg
- + browser/branding/tb-nightly/content/about-logo(a)2x.png
- + browser/branding/tb-nightly/content/about-wordmark.svg
- + browser/branding/tb-nightly/content/about.png
- + browser/branding/tb-nightly/content/aboutDialog.css
- + browser/branding/tb-nightly/content/firefox-wordmark.svg
- + browser/branding/tb-nightly/content/jar.mn
- + browser/branding/tb-nightly/content/moz.build
- + browser/branding/tb-nightly/default128.png
- + browser/branding/tb-nightly/default16.png
- + browser/branding/tb-nightly/default22.png
- + browser/branding/tb-nightly/default24.png
- + browser/branding/tb-nightly/default256.png
- + browser/branding/tb-nightly/default32.png
- + browser/branding/tb-nightly/default48.png
- + browser/branding/tb-nightly/default64.png
- + browser/branding/tb-nightly/document.icns
- + browser/branding/tb-nightly/document.ico
- + browser/branding/tb-nightly/document_pdf.ico
- + browser/branding/tb-nightly/firefox.VisualElementsManifest.xml
- + browser/branding/tb-nightly/firefox.icns
- + browser/branding/tb-nightly/firefox.ico
- + browser/branding/tb-nightly/locales/en-US/brand.ftl
- + browser/branding/tb-nightly/locales/en-US/brand.properties
- + browser/branding/tb-nightly/locales/jar.mn
- + browser/branding/tb-nightly/locales/moz.build
- + browser/branding/tb-nightly/moz.build
- + browser/branding/tb-nightly/newtab.ico
- + browser/branding/tb-nightly/newwindow.ico
- + browser/branding/tb-nightly/pbmode.ico
- + browser/branding/tb-nightly/pref/firefox-branding.js
- + browser/branding/tb-release/VisualElements_150.png
- + browser/branding/tb-release/VisualElements_70.png
- + browser/branding/tb-release/configure.sh
- + browser/branding/tb-release/content/about-logo.png
- + browser/branding/tb-release/content/about-logo.svg
- + browser/branding/tb-release/content/about-logo(a)2x.png
- + browser/branding/tb-release/content/about-wordmark.svg
- + browser/branding/tb-release/content/about.png
- + browser/branding/tb-release/content/aboutDialog.css
- + browser/branding/tb-release/content/firefox-wordmark.svg
- + browser/branding/tb-release/content/jar.mn
- + browser/branding/tb-release/content/moz.build
- + browser/branding/tb-release/default128.png
- + browser/branding/tb-release/default16.png
- + browser/branding/tb-release/default22.png
- + browser/branding/tb-release/default24.png
- + browser/branding/tb-release/default256.png
- + browser/branding/tb-release/default32.png
- + browser/branding/tb-release/default48.png
- + browser/branding/tb-release/default64.png
- + browser/branding/tb-release/document.icns
- + browser/branding/tb-release/document.ico
- + browser/branding/tb-release/document_pdf.ico
- + browser/branding/tb-release/firefox.VisualElementsManifest.xml
- + browser/branding/tb-release/firefox.icns
- + browser/branding/tb-release/firefox.ico
- + browser/branding/tb-release/locales/en-US/brand.ftl
- + browser/branding/tb-release/locales/en-US/brand.properties
- + browser/branding/tb-release/locales/jar.mn
- + browser/branding/tb-release/locales/moz.build
- + browser/branding/tb-release/moz.build
- + browser/branding/tb-release/newtab.ico
- + browser/branding/tb-release/newwindow.ico
- + browser/branding/tb-release/pbmode.ico
- + browser/branding/tb-release/pref/firefox-branding.js
- browser/components/BrowserContentHandler.sys.mjs
- browser/components/BrowserGlue.sys.mjs
- browser/components/about/AboutRedirector.cpp
- browser/components/about/components.conf
- browser/components/aboutlogins/AboutLoginsParent.sys.mjs
- browser/components/aboutlogins/content/aboutLogins.css
- browser/components/aboutlogins/content/aboutLogins.mjs
- browser/components/aboutlogins/content/components/fxaccounts-button.css
- + browser/components/abouttor/AboutTorChild.sys.mjs
- + browser/components/abouttor/AboutTorMessage.sys.mjs
- + browser/components/abouttor/AboutTorParent.sys.mjs
- + browser/components/abouttor/HomepageOverride.sys.mjs
- + browser/components/abouttor/content/1f44b-waving-hand.svg
- + browser/components/abouttor/content/1f4e3-megaphone.svg
- + browser/components/abouttor/content/26a1-high-voltage.svg
- + browser/components/abouttor/content/2728-sparkles.svg
- + browser/components/abouttor/content/2764-red-heart.svg
- + browser/components/abouttor/content/aboutTor.css
- + browser/components/abouttor/content/aboutTor.html
- + browser/components/abouttor/content/aboutTor.js
- + browser/components/abouttor/content/dax-logo.svg
- + browser/components/abouttor/jar.mn
- + browser/components/abouttor/moz.build
- browser/components/customizableui/CustomizableUI.sys.mjs
- browser/components/customizableui/content/panelUI.inc.xhtml
- browser/components/downloads/DownloadSpamProtection.sys.mjs
- + browser/components/downloads/DownloadsTorWarning.sys.mjs
- browser/components/downloads/content/contentAreaDownloadsView.js
- browser/components/downloads/content/contentAreaDownloadsView.xhtml
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloads.js
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- browser/components/downloads/moz.build
- browser/components/extensions/parent/ext-browserAction.js
- browser/components/extensions/schemas/chrome_settings_overrides.json
- browser/components/migration/ChromeMigrationUtils.sys.mjs
- browser/components/migration/content/migration-wizard.mjs
- browser/components/moz.build
- + browser/components/newidentity/content/newIdentityDialog.css
- + browser/components/newidentity/content/newIdentityDialog.js
- + browser/components/newidentity/content/newIdentityDialog.xhtml
- + browser/components/newidentity/content/newidentity.js
- + browser/components/newidentity/jar.mn
- + browser/components/newidentity/moz.build
- browser/components/newtab/AboutNewTabService.sys.mjs
- + browser/components/onionservices/OnionAliasStore.sys.mjs
- + browser/components/onionservices/OnionLocationChild.sys.mjs
- + browser/components/onionservices/OnionLocationParent.sys.mjs
- + browser/components/onionservices/TorRequestWatch.sys.mjs
- + browser/components/onionservices/content/authNotificationIcon.inc.xhtml
- + browser/components/onionservices/content/authPopup.inc.xhtml
- + browser/components/onionservices/content/authPreferences.css
- + browser/components/onionservices/content/authPreferences.inc.xhtml
- + browser/components/onionservices/content/authPreferences.js
- + browser/components/onionservices/content/authPrompt.js
- + browser/components/onionservices/content/onionlocation-urlbar.inc.xhtml
- + browser/components/onionservices/content/onionlocation.css
- + browser/components/onionservices/content/onionservices.css
- + browser/components/onionservices/content/savedKeysDialog.js
- + browser/components/onionservices/content/savedKeysDialog.xhtml
- + browser/components/onionservices/jar.mn
- + browser/components/onionservices/moz.build
- browser/components/places/PlacesUIUtils.sys.mjs
- browser/components/places/content/controller.js
- browser/components/places/content/places.css
- browser/components/places/content/places.js
- browser/components/places/content/places.xhtml
- browser/components/places/content/placesContextMenu.inc.xhtml
- browser/components/places/tests/browser/browser_bookmark_context_menu_contents.js
- browser/components/places/tests/browser/head.js
- browser/components/preferences/home.inc.xhtml
- browser/components/preferences/home.js
- browser/components/preferences/jar.mn
- + browser/components/preferences/letterboxing-middle-dark.svg
- + browser/components/preferences/letterboxing-middle-light.svg
- + browser/components/preferences/letterboxing-top-dark.svg
- + browser/components/preferences/letterboxing-top-light.svg
- + browser/components/preferences/letterboxing.css
- + browser/components/preferences/letterboxing.inc.xhtml
- + browser/components/preferences/letterboxing.js
- browser/components/preferences/main.inc.xhtml
- browser/components/preferences/main.js
- browser/components/preferences/preferences.js
- browser/components/preferences/preferences.xhtml
- browser/components/preferences/privacy.inc.xhtml
- browser/components/preferences/privacy.js
- browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
- browser/components/protections/content/protections.html
- browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js
- browser/components/resistfingerprinting/test/browser/browser_navigator.js
- browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js
- browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js
- browser/components/resistfingerprinting/test/browser/head.js
- + browser/components/rulesets/RulesetsChild.sys.mjs
- + browser/components/rulesets/RulesetsParent.sys.mjs
- + browser/components/rulesets/content/aboutRulesets.css
- + browser/components/rulesets/content/aboutRulesets.html
- + browser/components/rulesets/content/aboutRulesets.js
- + browser/components/rulesets/content/securedrop.svg
- + browser/components/rulesets/jar.mn
- + browser/components/rulesets/moz.build
- browser/components/search/SearchSERPTelemetry.sys.mjs
- + browser/components/search/extensions/ddg-onion/favicon.ico
- + browser/components/search/extensions/ddg-onion/manifest.json
- browser/components/search/extensions/ddg/manifest.json
- + browser/components/search/extensions/startpage-onion/favicon.png
- + browser/components/search/extensions/startpage-onion/manifest.json
- + browser/components/search/extensions/startpage/favicon.png
- + browser/components/search/extensions/startpage/manifest.json
- + browser/components/securitylevel/content/securityLevel.js
- + browser/components/securitylevel/content/securityLevelButton.css
- + browser/components/securitylevel/content/securityLevelButton.inc.xhtml
- + browser/components/securitylevel/content/securityLevelIcon.svg
- + browser/components/securitylevel/content/securityLevelPanel.css
- + browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
- + browser/components/securitylevel/content/securityLevelPreferences.css
- + browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
- + browser/components/securitylevel/jar.mn
- + browser/components/securitylevel/moz.build
- browser/components/shopping/jar.mn
- browser/components/shopping/moz.build
- browser/components/tabbrowser/content/tabbrowser.js
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e6-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e7-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1e9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ea-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1eb-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ec-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ed-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ee-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ef-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f0-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f1-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f2-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f5.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f3-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f4-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f5-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f6-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f7-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fd.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f8-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1e9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ed.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ef.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f1.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f4.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f7.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1f9-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1fe.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fa-1f1ff.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1e8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ec.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1ee.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1f3.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fb-1f1fa.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1eb.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fc-1f1f8.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fd-1f1f0.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1ea.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1fe-1f1f9.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1e6.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1f2.svg
- + browser/components/torcircuit/content/tor-circuit-flags/1f1ff-1f1fc.svg
- + browser/components/torcircuit/content/tor-circuit-flags/README.txt
- + browser/components/torcircuit/content/tor-circuit-icon-mask.svg
- + browser/components/torcircuit/content/tor-circuit-node-end.svg
- + browser/components/torcircuit/content/tor-circuit-node-middle.svg
- + browser/components/torcircuit/content/tor-circuit-node-relays.svg
- + browser/components/torcircuit/content/tor-circuit-node-start.svg
- + browser/components/torcircuit/content/tor-circuit-redirect.svg
- + browser/components/torcircuit/content/torCircuitPanel.css
- + browser/components/torcircuit/content/torCircuitPanel.inc.xhtml
- + browser/components/torcircuit/content/torCircuitPanel.js
- + browser/components/torcircuit/jar.mn
- + browser/components/torcircuit/moz.build
- + browser/components/torpreferences/content/bridge-bot.svg
- + browser/components/torpreferences/content/bridge-qr.svg
- + browser/components/torpreferences/content/bridge.svg
- + browser/components/torpreferences/content/bridgeQrDialog.js
- + browser/components/torpreferences/content/bridgeQrDialog.xhtml
- + browser/components/torpreferences/content/bridgemoji/BridgeEmoji.js
- + browser/components/torpreferences/content/bridgemoji/annotations.json
- + browser/components/torpreferences/content/bridgemoji/bridge-emojis.json
- + browser/components/torpreferences/content/bridgemoji/svgs/1f300.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f308.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f30b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f319.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f31f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f321.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f32e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f332.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f333.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f334.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f335.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f336.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f337.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f339.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f33f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f341.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f344.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f345.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f346.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f347.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f348.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f349.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f34f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f350.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f351.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f352.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f353.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f354.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f355.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f368.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f369.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f36d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f37f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f380.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f381.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f382.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f383.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f388.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f389.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f38f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f392.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f399.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f39f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3a8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ac.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3af.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3b8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ba.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3bb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3be.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3c8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3dd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f3f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f40d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f417.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f418.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f419.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f41f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f420.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f422.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f425.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f426.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f428.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f42f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f430.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f431.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f432.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f433.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f434.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f435.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f436.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f437.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f43f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f441.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f451.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f455.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f457.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f45f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f47d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f484.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f488.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f48e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f490.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4b3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4bf.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4cc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4ce.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4d5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f4fb.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f50b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f511.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f525.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f526.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f52e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f54a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f58d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f5ff.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f680.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f681.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f686.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f68d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f695.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f697.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f69c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f8.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fa.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f6fc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f916.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f93f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f941.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f94f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f950.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f951.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f955.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f956.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f95e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f965.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f966.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f968.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f96f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f980.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f981.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f984.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f986.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f987.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f988.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f989.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98b.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f98f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f992.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f993.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f994.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f995.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f998.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f999.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99a.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99c.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99d.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f99e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a4.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9a9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ad.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c1.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c3.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c7.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9c9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9d9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9da.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9dc.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9e9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ea.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ec.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ed.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9ee.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1f9f9.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa73.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa80.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa81.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa83.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa90.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa91.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa95.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fa97.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fab6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/1fad6.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/23f0.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2600.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2602.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2604.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/260e.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2693.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2696.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26bd.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f2.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/26f5.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2708.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/270f.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2728.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/2744.svg
- + browser/components/torpreferences/content/bridgemoji/svgs/README.txt
- + browser/components/torpreferences/content/builtinBridgeDialog.js
- + browser/components/torpreferences/content/builtinBridgeDialog.xhtml
- + browser/components/torpreferences/content/connectionCategory.inc.xhtml
- + browser/components/torpreferences/content/connectionPane.js
- + browser/components/torpreferences/content/connectionPane.xhtml
- + browser/components/torpreferences/content/connectionSettingsDialog.js
- + browser/components/torpreferences/content/connectionSettingsDialog.xhtml
- + browser/components/torpreferences/content/lox-bridge-icon.svg
- + browser/components/torpreferences/content/lox-bridge-pass.svg
- + browser/components/torpreferences/content/lox-complete-ring.svg
- + browser/components/torpreferences/content/lox-invite-icon.svg
- + browser/components/torpreferences/content/lox-progress-ring.svg
- + browser/components/torpreferences/content/lox-success.svg
- + browser/components/torpreferences/content/loxInviteDialog.js
- + browser/components/torpreferences/content/loxInviteDialog.xhtml
- + browser/components/torpreferences/content/mail.svg
- + browser/components/torpreferences/content/network-broken.svg
- + browser/components/torpreferences/content/network.svg
- + browser/components/torpreferences/content/provideBridgeDialog.js
- + browser/components/torpreferences/content/provideBridgeDialog.xhtml
- + browser/components/torpreferences/content/requestBridgeDialog.js
- + browser/components/torpreferences/content/requestBridgeDialog.xhtml
- + browser/components/torpreferences/content/telegram-logo.svg
- + browser/components/torpreferences/content/torLogDialog.js
- + browser/components/torpreferences/content/torLogDialog.xhtml
- + browser/components/torpreferences/content/torPreferences.css
- + browser/components/torpreferences/jar.mn
- + browser/components/torpreferences/moz.build
- browser/components/urlbar/UrlbarProvidersManager.sys.mjs
- browser/components/urlbar/UrlbarUtils.sys.mjs
- browser/components/urlbar/moz.build
- + browser/config/mozconfigs/base-browser
- + browser/config/mozconfigs/base-browser-android
- + browser/config/mozconfigs/tor-browser
- + browser/config/mozconfigs/tor-browser-android
- browser/confvars.sh
- browser/extensions/moz.build
- + browser/fonts/fonts.conf
- browser/fonts/moz.build
- browser/installer/Makefile.in
- browser/installer/package-manifest.in
- browser/installer/windows/nsis/shared.nsh
- browser/locales/Makefile.in
- − browser/locales/en-US/chrome/overrides/appstrings.properties
- browser/locales/jar.mn
- browser/modules/BrowserWindowTracker.sys.mjs
- browser/modules/HomePage.sys.mjs
- browser/modules/LaterRun.sys.mjs
- + browser/modules/TorSettingsNotification.sys.mjs
- + browser/modules/TorUIUtils.sys.mjs
- browser/modules/URILoadingHelper.sys.mjs
- browser/modules/moz.build
- browser/moz.build
- browser/moz.configure
- browser/themes/shared/addons/unified-extensions.css
- browser/themes/shared/browser-shared.css
- browser/themes/shared/controlcenter/panel.css
- browser/themes/shared/downloads/contentAreaDownloadsView.css
- + browser/themes/shared/icons/new_circuit.svg
- + browser/themes/shared/icons/new_identity.svg
- browser/themes/shared/identity-block/identity-block.css
- browser/themes/shared/jar.inc.mn
- browser/themes/shared/notification-icons.css
- browser/themes/shared/preferences/preferences.css
- browser/themes/shared/tabbrowser/content-area.css
- browser/themes/shared/tabbrowser/tabs.css
- browser/themes/shared/toolbarbutton-icons.css
- + browser/themes/shared/tor-branding.css
- + browser/themes/shared/tor-urlbar-button.css
- build.gradle
- build/application.ini.in
- build/moz.build
- build/moz.configure/init.configure
- build/moz.configure/rust.configure
- build/moz.configure/update-programs.configure
- build/variables.py
- caps/nsScriptSecurityManager.cpp
- config/createprecomplete.py
- devtools/client/aboutdebugging/src/actions/runtimes.js
- devtools/client/netmonitor/src/components/SecurityState.js
- devtools/client/themes/images/aboutdebugging-firefox-logo.svg
- docshell/base/BrowsingContext.cpp
- docshell/base/BrowsingContext.h
- docshell/base/URIFixup.sys.mjs
- docshell/base/nsAboutRedirector.cpp
- docshell/base/nsDocShell.cpp
- docshell/build/components.conf
- dom/base/ContentAreaDropListener.sys.mjs
- dom/base/Document.cpp
- dom/base/Document.h
- dom/base/Navigator.cpp
- dom/base/ScreenOrientation.cpp
- dom/base/nsContentUtils.cpp
- dom/base/nsContentUtils.h
- dom/base/nsCopySupport.cpp
- dom/base/nsGlobalWindowInner.cpp
- dom/base/nsGlobalWindowOuter.cpp
- dom/base/nsNodeInfoManager.cpp
- dom/base/test/chrome/bug418986-1.js
- dom/canvas/CanvasRenderingContext2D.cpp
- dom/canvas/ClientWebGLContext.cpp
- dom/ipc/BrowserParent.cpp
- dom/ipc/BrowserParent.h
- dom/ipc/PBrowser.ipdl
- dom/ipc/WindowGlobalActor.cpp
- dom/ipc/WindowGlobalChild.cpp
- dom/ipc/WindowGlobalParent.cpp
- dom/locales/moz.build
- dom/media/eme/MediaKeySystemAccess.cpp
- dom/media/mediacapabilities/MediaCapabilities.cpp
- dom/media/mediasource/MediaSource.cpp
- dom/media/mediasource/MediaSource.h
- dom/media/mediasource/SourceBuffer.cpp
- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- dom/media/systemservices/video_engine/desktop_device_info.cc
- dom/media/webrtc/libwebrtcglue/VideoConduit.cpp
- dom/media/webrtc/sdp/RsdparsaSdpAttributeList.cpp
- dom/media/webrtc/transport/nrinterfaceprioritizer.cpp
- dom/media/webrtc/transport/sigslot.h
- dom/media/webrtc/transport/test/ice_unittest.cpp
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.c
- dom/media/webrtc/transport/third_party/nICEr/src/net/local_addr.h
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-win32.c
- dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs.c
- dom/media/webrtc/transport/third_party/nrappkit/src/log/r_log.c
- dom/media/webrtc/transport/third_party/nrappkit/src/registry/registry.c
- dom/security/nsContentSecurityUtils.cpp
- dom/security/nsMixedContentBlocker.cpp
- dom/security/test/https-only/browser.toml
- + dom/security/test/https-only/browser_iframe_buttons.js
- + dom/security/test/https-only/file_iframe_buttons.html
- dom/webidl/Document.webidl
- dom/websocket/WebSocket.cpp
- dom/xslt/xslt/txMozillaXSLTProcessor.cpp
- dom/xslt/xslt/txXSLTMsgsURL.h
- extensions/auth/nsHttpNegotiateAuth.cpp
- gfx/layers/apz/src/APZInputBridge.cpp
- gfx/layers/apz/src/APZPublicUtils.cpp
- gfx/layers/apz/src/GenericScrollAnimation.cpp
- gfx/layers/apz/src/WheelScrollAnimation.cpp
- gfx/thebes/StandardFonts-linux.inc → gfx/thebes/StandardFonts-linux-upstream.inc
- + gfx/thebes/StandardFonts-macos-bb.inc
- gfx/thebes/StandardFonts-macos.inc → gfx/thebes/StandardFonts-macos-upstream.inc
- + gfx/thebes/StandardFonts-win10-bb.inc
- gfx/thebes/StandardFonts-win10.inc → gfx/thebes/StandardFonts-win10-upstream.inc
- gfx/thebes/gfxDWriteFontList.cpp
- gfx/thebes/gfxDWriteFontList.h
- gfx/thebes/gfxFcPlatformFontList.cpp
- gfx/thebes/gfxGDIFontList.cpp
- gfx/thebes/gfxMacPlatformFontList.mm
- gfx/thebes/gfxPlatformFontList.cpp
- hal/android/AndroidHal.cpp
- image/test/browser/browser.toml
- + image/test/browser/browser_bug1899180.js
- + image/test/browser/helper1899180.html
- intl/l10n/Localization.h
- intl/locale/LocaleService.cpp
- intl/strres/nsIStringBundle.idl
- intl/strres/nsStringBundle.cpp
- js/src/gc/Zone.cpp
- + js/src/jit-test/tests/debug/bug-1904011.js
- js/src/old-configure.in
- js/xpconnect/src/xpc.msg
- layout/base/nsLayoutUtils.cpp
- layout/xul/nsSliderFrame.cpp
- mobile/android/android-components/components/browser/engine-gecko/build.gradle
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorage.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepository.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/webextension/GeckoWebExtension.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/GeckoCookieBannersStorageTest.kt
- mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/cookiebanners/ReportSiteDomainsRepositoryTest.kt
- mobile/android/android-components/components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- mobile/android/android-components/components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- mobile/android/android-components/components/browser/thumbnails/src/main/java/mozilla/components/browser/thumbnails/utils/ThumbnailDiskCache.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteSecurityIconView.kt
- mobile/android/android-components/components/browser/toolbar/src/main/res/drawable/mozac_ic_site_security.xml
- mobile/android/android-components/components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/browser/toolbar2/src/main/java/mozilla/components/browser/toolbar2/display/DisplayToolbar.kt
- mobile/android/android-components/components/browser/toolbar2/src/main/java/mozilla/components/browser/toolbar2/display/SiteSecurityIconView.kt
- mobile/android/android-components/components/browser/toolbar2/src/main/res/drawable/mozac_ic_site_security.xml
- mobile/android/android-components/components/browser/toolbar2/src/main/res/values/attrs_browser_toolbar.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/cookiehandling/CookieBannersStorage.kt
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/webextension/WebExtension.kt
- mobile/android/android-components/components/concept/engine/src/test/java/mozilla/components/concept/engine/SettingsTest.kt
- mobile/android/android-components/components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- mobile/android/android-components/components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- mobile/android/android-components/components/feature/accounts/build.gradle
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/AddonManager.kt
- mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
- mobile/android/android-components/components/feature/addons/src/main/res/layout/mozac_feature_addons_fragment_dialog_addon_installed.xml
- mobile/android/android-components/components/feature/app-links/build.gradle
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- mobile/android/android-components/components/feature/app-links/src/main/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragment.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/AppLinksUseCasesTest.kt
- mobile/android/android-components/components/feature/app-links/src/test/java/mozilla/components/feature/app/links/SimpleRedirectDialogFragmentTest.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionAutocompleteProvider.kt
- mobile/android/android-components/components/feature/awesomebar/src/main/java/mozilla/components/feature/awesomebar/provider/SessionSuggestionProvider.kt
- mobile/android/android-components/components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- mobile/android/android-components/components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- mobile/android/android-components/components/feature/downloads/src/test/java/mozilla/components/feature/downloads/DownloadsFeatureTest.kt
- mobile/android/android-components/components/feature/fxsuggest/build.gradle
- mobile/android/android-components/components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
- mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/PromptFeature.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotification.kt
- − mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationDialog.kt
- + mobile/android/android-components/components/feature/prompts/src/main/java/mozilla/components/feature/prompts/dialog/GestureNavUtils.kt
- + mobile/android/android-components/components/feature/prompts/src/test/java/mozilla/components/feature/prompts/dialog/FullScreenNotificationTest.kt
- mobile/android/android-components/components/feature/search/build.gradle
- mobile/android/android-components/components/feature/search/src/main/assets/search/list.json
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg-onion.xml
- mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/ddg.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage-onion.xml
- + mobile/android/android-components/components/feature/search/src/main/assets/searchplugins/startpage.xml
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/SearchUseCases.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/ext/SearchEngine.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/internal/SearchUrlBuilder.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/storage/SearchEngineReader.kt
- mobile/android/android-components/components/feature/search/src/main/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepository.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/BaseSearchTelemetryTest.kt
- mobile/android/android-components/components/feature/search/src/test/java/mozilla/components/feature/search/telemetry/SerpTelemetryRepositoryTest.kt
- mobile/android/android-components/components/feature/session/src/main/java/mozilla/components/feature/session/SessionUseCases.kt
- mobile/android/android-components/components/feature/session/src/test/java/mozilla/components/feature/session/SessionUseCasesTest.kt
- mobile/android/android-components/components/feature/toolbar/src/main/java/mozilla/components/feature/toolbar/ToolbarPresenter.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/Types.kt
- mobile/android/android-components/components/service/firefox-accounts/src/main/java/mozilla/components/service/fxa/sync/WorkManagerSyncManager.kt
- mobile/android/android-components/components/service/glean/src/main/java/mozilla/components/service/glean/private/MetricAliases.kt
- mobile/android/android-components/components/service/nimbus/build.gradle
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingController.kt
- mobile/android/android-components/components/service/nimbus/src/main/java/mozilla/components/service/nimbus/messaging/NimbusMessagingStorage.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/android/content/Context.kt
- mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt
- mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt
- mobile/android/android-components/components/support/remotesettings/src/main/java/mozilla/components/support/remotesettings/RemoteSettingsClient.kt
- mobile/android/android-components/components/support/rustlog/src/main/java/mozilla/components/support/rustlog/RustLog.kt
- mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/DownloadUtils.kt
- + mobile/android/android-components/components/support/utils/src/main/java/mozilla/components/support/utils/TorUtils.kt
- mobile/android/android-components/components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt
- + mobile/android/android-components/components/ui/icons/src/main/res/drawable/mozac_ic_onion.xml
- mobile/android/android-components/docs/changelog.md
- mobile/android/android-components/plugins/config/src/main/java/ConfigPlugin.kt
- mobile/android/android-components/plugins/dependencies/src/main/java/ApplicationServices.kt
- mobile/android/android-components/samples/browser/src/main/res/layout/activity_installed_add_on_details.xml
- + mobile/android/app/000-tor-browser-android.js
- mobile/android/app/geckoview-prefs.js
- mobile/android/app/moz.build
- + mobile/android/basebrowser.configure
- + mobile/android/branding/tb-alpha/configure.sh
- + mobile/android/branding/tb-alpha/content/favicon32.png
- + mobile/android/branding/tb-alpha/content/favicon64.png
- + mobile/android/branding/tb-alpha/content/jar.mn
- + mobile/android/branding/tb-alpha/content/moz.build
- + mobile/android/branding/tb-alpha/locales/en-US/brand.ftl
- + mobile/android/branding/tb-alpha/locales/en-US/brand.properties
- + mobile/android/branding/tb-alpha/locales/jar.mn
- + mobile/android/branding/tb-alpha/locales/moz.build
- + mobile/android/branding/tb-alpha/moz.build
- + mobile/android/branding/tb-nightly/configure.sh
- + mobile/android/branding/tb-nightly/content/favicon32.png
- + mobile/android/branding/tb-nightly/content/favicon64.png
- + mobile/android/branding/tb-nightly/content/jar.mn
- + mobile/android/branding/tb-nightly/content/moz.build
- + mobile/android/branding/tb-nightly/locales/en-US/brand.ftl
- + mobile/android/branding/tb-nightly/locales/en-US/brand.properties
- + mobile/android/branding/tb-nightly/locales/jar.mn
- + mobile/android/branding/tb-nightly/locales/moz.build
- + mobile/android/branding/tb-nightly/moz.build
- + mobile/android/branding/tb-release/configure.sh
- + mobile/android/branding/tb-release/content/favicon32.png
- + mobile/android/branding/tb-release/content/favicon64.png
- + mobile/android/branding/tb-release/content/jar.mn
- + mobile/android/branding/tb-release/content/moz.build
- + mobile/android/branding/tb-release/locales/en-US/brand.ftl
- + mobile/android/branding/tb-release/locales/en-US/brand.properties
- + mobile/android/branding/tb-release/locales/jar.mn
- + mobile/android/branding/tb-release/locales/moz.build
- + mobile/android/branding/tb-release/moz.build
- mobile/android/confvars.sh
- mobile/android/exoplayer2/src/main/java/org/mozilla/thirdparty/com/google/android/exoplayer2/upstream/DefaultHttpDataSource.java
- mobile/android/fenix/.buildconfig.yml
- mobile/android/fenix/app/build.gradle
- mobile/android/fenix/app/lint-baseline.xml
- mobile/android/fenix/app/onboarding.fml.yaml
- mobile/android/fenix/app/proguard-rules.pro
- + mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/AppStartupTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/CrashReportingTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/BrowserRobot.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- + mobile/android/fenix/app/src/beta/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/beta/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/beta/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/beta/res/drawable/ic_launcher_monochrome_foreground.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml → mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/beta/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/beta/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/beta/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/beta/res/values/static_strings.xml
- mobile/android/fenix/app/src/beta/res/xml/shortcuts.xml
- − mobile/android/fenix/app/src/debug/ic_launcher-web.webp
- + mobile/android/fenix/app/src/debug/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/debug/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/debug/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/debug/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/debug/res/values/colors.xml
- + mobile/android/fenix/app/src/debug/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/debug/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/AndroidManifest.xml
- + mobile/android/fenix/app/src/main/assets/common/torrc-defaults
- − mobile/android/fenix/app/src/main/assets/searchplugins/reddit.xml
- − mobile/android/fenix/app/src/main/assets/searchplugins/youtube.xml
- − mobile/android/fenix/app/src/main/ic_launcher-web.webp
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/BrowserDirection.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/IntentReceiverActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Components.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/FenixSnackbar.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NimbusComponents.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/NotificationManager.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/UseCases.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/middleware/MenuNavigationMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserMenuSignIn.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMenuController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabToolbarMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserActivity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/customtabs/PoweredByNotification.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/experiments/view/ResearchSurfaceSurvey.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/ext/Activity.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/gecko/GeckoProvider.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeMenuView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/intent/HomeDeepLinkIntentProcessor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/PocketStoriesComposables.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/recentsyncedtabs/view/RecentSyncedTab.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/PrivateBrowsingDescriptionViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/PagerIndicator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSiteItemViewHolder.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/topsites/TopSites.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkItemMenu.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicroSurveyHeader.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyCompleted.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/microsurvey/ui/MicrosurveyRequestPrompt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/ReEngagementNotificationWorker.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingPage.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingScreen.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/UpgradeOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HttpsOnlyFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/PhoneFeature.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorBridgeConfigFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/TorSecurityLevelFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/account/AccountUiView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/DefaultLocaleSettingsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/advanced/LocaleSettingsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/ProtectionsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerDetailsInteractor.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsView.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannersStorageExt.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/search/SearchEngineFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/SaveToPDFMiddleware.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareController.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shopping/ui/NoAnalysis.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shopping/ui/ReviewQualityCheckContextualOnboarding.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/shortcut/PwaOnboardingObserver.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabLayoutMediator.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/syncedtabs/SyncedTabsList.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/CampaignStrings.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/ConnectAssistUiState.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/QuickstartViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/SecurityLevel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBootstrapProgressViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorBridgeTransports.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorController.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLog.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsComposeFragment.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorLogsViewModel.kt
- + mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/UrlQuickLoadViewModel.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/trackingprotection/ProtectionsStore.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/NotificationBase.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/gecko/search/SearchWidgetProvider.kt
- + mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-hdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-mdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-hdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-hdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-mdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-mdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-night-xxxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-night/onboarding_ctd_default_browser.xml
- mobile/android/fenix/app/src/main/res/drawable-v23/splash_screen.xml
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/shopping_no_analysis.webp
- − mobile/android/fenix/app/src/main/res/drawable-xxxhdpi/shopping_onboarding.webp
- − mobile/android/fenix/app/src/main/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/main/res/drawable/browser_location.xml
- + mobile/android/fenix/app/src/main/res/drawable/campaign_hand.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect.xml
- + mobile/android/fenix/app/src/main/res/drawable/connect_broken.xml
- + mobile/android/fenix/app/src/main/res/drawable/globe_broken.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_account_warning.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_favorite.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_fx_accounts_avatar.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_launcher_foreground.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_launcher_monochrome.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_notification_permission.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_key_features_icons_only.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_search_widget.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_onboarding_welcome.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_onion_pattern.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_pocket.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_scan.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_screenshot.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sign_in.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_signed_out.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_status_logo.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_sync_disconnected.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_synced_tabs.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_config_bridge.xml
- + mobile/android/fenix/app/src/main/res/drawable/ic_tor_network_settings.xml
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/main/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/main/res/drawable/microsurvey_success.xml
- + mobile/android/fenix/app/src/main/res/drawable/new_circuit.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_default_browser.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_notification.xml
- − mobile/android/fenix/app/src/main/res/drawable/onboarding_ctd_sync.xml
- − mobile/android/fenix/app/src/main/res/drawable/pocket_vector.xml
- mobile/android/fenix/app/src/main/res/drawable/progress_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/pager_dot.xml → mobile/android/fenix/app/src/main/res/drawable/rounded_corners.xml
- mobile/android/fenix/app/src/main/res/drawable-night/ic_logo_wordmark_normal.xml → mobile/android/fenix/app/src/main/res/drawable/tor_bootstrap_background_gradient.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_gradient.xml
- mobile/android/fenix/app/src/main/res/drawable/onboarding_popup_shape.xml → mobile/android/fenix/app/src/main/res/drawable/tor_onboarding_donate_rounded_corners.xml
- mobile/android/fenix/app/src/main/res/layout/component_cookie_banner_details_panel.xml
- mobile/android/fenix/app/src/main/res/layout/component_tabstray2.xml
- mobile/android/fenix/app/src/main/res/layout/fenix_snackbar.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_about.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_create_shortcut.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_home.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_locale_settings.xml
- + mobile/android/fenix/app/src/main/res/layout/fragment_tor_connection_assist.xml
- mobile/android/fenix/app/src/main/res/layout/fragment_turn_on_sync.xml
- − mobile/android/fenix/app/src/main/res/layout/full_screen_notification_dialog.xml
- mobile/android/fenix/app/src/main/res/layout/onboarding_inactive_tabs_cfr.xml
- mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private.xml → mobile/android/fenix/app/src/main/res/layout/preference_quick_start.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_permissions.xml
- mobile/android/fenix/app/src/main/res/layout/quicksettings_protections_panel.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v1.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_extra_small_v2.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_large.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_medium.xml
- mobile/android/fenix/app/src/main/res/layout/search_widget_small.xml
- mobile/android/fenix/app/src/main/res/layout/sign_in_preference.xml
- − mobile/android/fenix/app/src/main/res/mipmap-anydpi-v26/ic_launcher_private_round.xml
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
- − mobile/android/fenix/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml
- mobile/android/fenix/app/src/main/res/values-be/strings.xml
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bs/strings.xml
- mobile/android/fenix/app/src/main/res/values-ca/strings.xml
- mobile/android/fenix/app/src/main/res/values-co/strings.xml
- mobile/android/fenix/app/src/main/res/values-cs/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-da/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-el/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/fenix/app/src/main/res/values-eu/strings.xml
- mobile/android/fenix/app/src/main/res/values-fi/strings.xml
- mobile/android/fenix/app/src/main/res/values-fr/strings.xml
- mobile/android/fenix/app/src/main/res/values-fur/strings.xml
- mobile/android/fenix/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/fenix/app/src/main/res/values-ia/strings.xml
- mobile/android/fenix/app/src/main/res/values-is/strings.xml
- mobile/android/fenix/app/src/main/res/values-it/strings.xml
- mobile/android/fenix/app/src/main/res/values-iw/strings.xml
- mobile/android/fenix/app/src/main/res/values-ja/strings.xml
- mobile/android/fenix/app/src/main/res/values-kab/strings.xml
- mobile/android/fenix/app/src/main/res/values-kk/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-night-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-night/styles.xml
- mobile/android/fenix/app/src/main/res/values-nl/strings.xml
- mobile/android/fenix/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/fenix/app/src/main/res/values-oc/strings.xml
- mobile/android/fenix/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/fenix/app/src/main/res/values-pl/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-rm/strings.xml
- mobile/android/fenix/app/src/main/res/values-ru/strings.xml
- mobile/android/fenix/app/src/main/res/values-sat/strings.xml
- mobile/android/fenix/app/src/main/res/values-si/strings.xml
- mobile/android/fenix/app/src/main/res/values-sk/strings.xml
- mobile/android/fenix/app/src/main/res/values-sl/strings.xml
- mobile/android/fenix/app/src/main/res/values-sq/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-th/strings.xml
- mobile/android/fenix/app/src/main/res/values-tr/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- mobile/android/fenix/app/src/main/res/values-v24/styles.xml
- mobile/android/fenix/app/src/main/res/values-v27/styles.xml
- mobile/android/fenix/app/src/main/res/values-vi/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/fenix/app/src/main/res/values-zh-rTW/strings.xml
- mobile/android/fenix/app/src/main/res/values/attrs.xml
- mobile/android/fenix/app/src/main/res/values/colors.xml
- + mobile/android/fenix/app/src/main/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/main/res/values/preference_keys.xml
- mobile/android/fenix/app/src/main/res/values/static_strings.xml
- mobile/android/fenix/app/src/main/res/values/strings.xml
- mobile/android/fenix/app/src/main/res/values/styles.xml
- + mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml
- mobile/android/fenix/app/src/main/res/xml/logins_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/preferences.xml
- mobile/android/fenix/app/src/main/res/xml/private_browsing_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_details_exceptions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/site_permissions_preferences.xml
- mobile/android/fenix/app/src/main/res/xml/sync_problem.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_bridge_config_preferences.xml
- + mobile/android/fenix/app/src/main/res/xml/tor_security_level_preferences.xml
- + mobile/android/fenix/app/src/nightly/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-mdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable-xxxhdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/nightly/res/drawable/ic_launcher_monochrome_foreground.xml
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_logo.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_normal.webp
- − mobile/android/fenix/app/src/nightly/res/drawable/ic_wordmark_text_private.webp
- − mobile/android/fenix/app/src/nightly/res/ic_launcher-web.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/nightly/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/nightly/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/nightly/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/nightly/res/values/static_strings.xml
- mobile/android/fenix/app/src/nightly/res/xml/shortcuts.xml
- + mobile/android/fenix/app/src/release/ic_launcher-playstore.png
- + mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.png
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/fenix_search_widget.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_normal.webp
- − mobile/android/fenix/app/src/release/res/drawable-hdpi/ic_logo_wordmark_private.webp
- − mobile/android/fenix/app/src/release/res/drawable/animated_splash_screen.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_background.xml
- − mobile/android/fenix/app/src/release/res/drawable/ic_launcher_foreground.xml
- + mobile/android/fenix/app/src/release/res/drawable/ic_launcher_monochrome_foreground.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_monochrome_round.xml
- + mobile/android/fenix/app/src/release/res/mipmap-anydpi-v26/ic_launcher_round.xml
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-hdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-mdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxhdpi/ic_launcher_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp
- + mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_monochrome_round.webp
- mobile/android/fenix/app/src/release/res/mipmap-xxxhdpi/ic_launcher_round.webp
- + mobile/android/fenix/app/src/release/res/values/ic_launcher_monochrome_background.xml
- mobile/android/fenix/app/src/release/res/values/static_strings.xml
- mobile/android/fenix/app/src/release/res/xml/shortcuts.xml
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/menu/MenuNavigationMiddlewareTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/metrics/MetricsUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/ext/ContextTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/HomeMenuViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingMapperTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/onboarding/view/OnboardingPageUiDataTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/SupportUtilsTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/ProtectionsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/QuickSettingsSheetDialogFragmentTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/CookieBannerHandlingDetailsViewTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/settings/quicksettings/protections/cookiebanners/DefaultCookieBannerDetailsControllerTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/share/viewholders/AppViewHolderTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/trackingprotection/ProtectionsStoreTest.kt
- mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
- mobile/android/fenix/build.gradle
- mobile/android/fenix/plugins/fenixdependencies/src/main/java/FenixDependenciesPlugin.kt
- + mobile/android/fenix/tools/tba-fetch-deps.sh
- + mobile/android/fenix/tools/tba-sign-devbuilds.sh
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/browser/integration/FullScreenIntegration.kt
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/fragment/BrowserFragment.kt
- − mobile/android/focus-android/app/src/main/res/layout/dialog_full_screen_notification.xml
- mobile/android/focus-android/app/src/main/res/values/strings.xml
- mobile/android/focus-android/app/src/test/java/org/mozilla/focus/browser/integration/FullScreenIntegrationTest.kt
- mobile/android/geckoview/api.txt
- mobile/android/geckoview/build.gradle
- − mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/VideoCaptureTest.kt
- mobile/android/geckoview/src/main/AndroidManifest.xml
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/Clipboard.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/media/GeckoMediaDrmBridgeV21.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/mozglue/GeckoLoader.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/IntentUtils.java
- mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoInputConnection.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntime.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoRuntimeSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorAndroidIntegration.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorBootstrappingStatus.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStage.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorConnectStageName.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorSettings.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebExtensionController.java
- mobile/android/geckoview/src/main/java/org/mozilla/geckoview/WebRequest.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/Prefs.java
- + mobile/android/geckoview/src/main/java/org/mozilla/geckoview/androidlegacysettings/TorLegacyAndroidSettings.java
- mobile/android/geckoview/src/test/java/org/mozilla/gecko/util/IntentUtilsTest.java
- mobile/android/gradle/with_gecko_binaries.gradle
- mobile/android/installer/package-manifest.in
- mobile/android/locales/filter.py
- mobile/android/locales/jar.mn
- mobile/android/locales/l10n.toml
- mobile/android/moz.configure
- mobile/android/shared-settings.gradle
- mobile/locales/filter.py
- mobile/shared/chrome/geckoview/geckoview.js
- mobile/shared/components/geckoview/GeckoViewStartup.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewContent.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewProgress.sys.mjs
- mobile/shared/modules/geckoview/GeckoViewWebExtension.sys.mjs
- modules/libpref/Preferences.cpp
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.configure
- + mozconfig-android-aarch64
- + mozconfig-android-all
- + mozconfig-android-armv7
- + mozconfig-android-x86
- + mozconfig-android-x86_64
- + mozconfig-linux-aarch64
- + mozconfig-linux-aarch64-dev
- + mozconfig-linux-arm
- + mozconfig-linux-i686
- + mozconfig-linux-x86_64
- + mozconfig-linux-x86_64-asan
- + mozconfig-linux-x86_64-dev
- + mozconfig-macos
- + mozconfig-macos-dev
- + mozconfig-windows-i686
- + mozconfig-windows-x86_64
- netwerk/base/nsNetUtil.cpp
- netwerk/base/nsSocketTransport2.cpp
- netwerk/build/components.conf
- netwerk/build/nsNetCID.h
- + netwerk/dns/IOnionAliasService.idl
- + netwerk/dns/OnionAliasService.cpp
- + netwerk/dns/OnionAliasService.h
- netwerk/dns/effective_tld_names.dat
- netwerk/dns/moz.build
- netwerk/protocol/http/HttpBaseChannel.cpp
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpNTLMAuth.cpp
- netwerk/sctp/src/moz.build
- netwerk/sctp/src/netinet/sctp_cc_functions.c
- netwerk/sctp/src/netinet/sctp_indata.c
- netwerk/sctp/src/netinet/sctp_input.c
- netwerk/sctp/src/netinet/sctp_output.c
- netwerk/sctp/src/netinet/sctp_usrreq.c
- netwerk/sctp/src/netinet/sctputil.c
- netwerk/sctp/src/user_mbuf.c
- netwerk/sctp/src/user_socket.c
- netwerk/socket/nsSOCKSIOLayer.cpp
- netwerk/system/android/nsAndroidNetworkLinkService.cpp
- netwerk/system/linux/nsNetworkLinkService.cpp
- netwerk/system/mac/nsNetworkLinkService.mm
- netwerk/system/netlink/NetlinkService.cpp
- netwerk/system/win32/nsNotifyAddrListener.cpp
- netwerk/url-classifier/UrlClassifierFeatureBase.cpp
- netwerk/url-classifier/components.conf
- old-configure.in
- python/mach/mach/telemetry.py
- python/mozbuild/mozbuild/artifacts.py
- python/mozbuild/mozbuild/mach_commands.py
- python/mozlint/mozlint/cli.py
- python/sites/mach.txt
- security/certverifier/CertVerifier.cpp
- security/manager/ssl/NSSSocketControl.cpp
- security/manager/ssl/RemoteSecuritySettings.sys.mjs
- security/manager/ssl/SSLServerCertVerification.cpp
- security/manager/ssl/SSLServerCertVerification.h
- security/manager/ssl/StaticHPKPins.h
- security/manager/ssl/nsSecureBrowserUI.cpp
- security/moz.build
- security/nss/lib/certhigh/ocsp.c
- security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_socket.c
- security/nss/lib/mozpkix/include/pkix/Result.h
- security/nss/lib/mozpkix/include/pkix/pkixnss.h
- security/nss/lib/ssl/Makefile
- security/sandbox/common/SandboxUtils.sys.mjs
- services/settings/Attachments.sys.mjs
- services/settings/IDBHelpers.sys.mjs
- services/settings/RemoteSettingsClient.sys.mjs
- services/settings/dumps/gen_last_modified.py
- services/settings/dumps/main/moz.build
- services/settings/remote-settings.sys.mjs
- services/settings/servicesSettings.manifest
- services/settings/static-dumps/main/moz.build
- + services/settings/static-dumps/main/query-stripping.json
- services/sync/components.conf
- servo/components/style/properties/cascade.rs
- servo/components/style/properties/properties.mako.rs
- servo/components/style/values/computed/box.rs
- servo/components/style/values/specified/length.rs
- servo/ports/geckolib/glue.rs
- testing/marionette/harness/marionette_harness/runner/base.py
- testing/mozbase/mozinstall/mozinstall/mozinstall.py
- testing/mozbase/setup_development.py
- testing/mozharness/scripts/does_it_crash.py
- testing/specialpowers/api.js
- + testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html
- + testing/web-platform/tests/css/css-viewport/zoom/canvas.html
- + testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html
- third_party/libwebrtc/modules/audio_coding/codecs/isac/main/source/os_specific_inline.h
- third_party/libwebrtc/modules/desktop_capture/desktop_capture_types.h
- third_party/libwebrtc/modules/desktop_capture/win/desktop_capture_utils.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc
- third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h
- third_party/libwebrtc/modules/video_capture/windows/device_info_ds.h
- third_party/libwebrtc/rtc_base/platform_thread_types.cc
- third_party/libwebrtc/rtc_base/socket.h
- third_party/libwebrtc/rtc_base/system/file_wrapper.cc
- third_party/libwebrtc/rtc_base/win/create_direct3d_device.h
- third_party/sipcc/cpr_win_types.h
- third_party/sipcc/sdp_token.c
- toolkit/.eslintrc.js
- toolkit/actors/AboutHttpsOnlyErrorParent.sys.mjs
- + toolkit/actors/FilesFilterChild.sys.mjs
- + toolkit/actors/FilesFilterParent.sys.mjs
- toolkit/actors/NetErrorChild.sys.mjs
- toolkit/actors/NetErrorParent.sys.mjs
- toolkit/actors/moz.build
- toolkit/components/antitracking/StoragePrincipalHelper.cpp
- toolkit/components/antitracking/antitracking.manifest
- toolkit/components/antitracking/components.conf
- toolkit/components/downloads/DownloadCore.sys.mjs
- toolkit/components/downloads/DownloadIntegration.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/ExtensionParent.sys.mjs
- toolkit/components/httpsonlyerror/content/errorpage.html
- toolkit/components/httpsonlyerror/content/errorpage.js
- + toolkit/components/lox/Lox.sys.mjs
- + toolkit/components/lox/content/lox_wasm_bg.wasm
- + toolkit/components/lox/jar.mn
- + toolkit/components/lox/lox_wasm.jsm
- + toolkit/components/lox/moz.build
- toolkit/components/moz.build
- toolkit/components/places/PlacesUtils.sys.mjs
- toolkit/components/remotebrowserutils/RemoteWebNavigation.sys.mjs
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
- toolkit/components/resistfingerprinting/nsRFPService.cpp
- toolkit/components/resistfingerprinting/nsRFPService.h
- toolkit/components/search/AppProvidedSearchEngine.sys.mjs
- toolkit/components/search/SearchEngine.sys.mjs
- toolkit/components/search/SearchService.sys.mjs
- + toolkit/components/search/content/duckduckgo.ico
- + toolkit/components/search/content/startpage.png
- + toolkit/components/search/content/torBrowserSearchEngineIcons.json
- + toolkit/components/search/content/torBrowserSearchEngines.json
- + toolkit/components/search/content/wikipedia.ico
- + toolkit/components/search/jar.mn
- toolkit/components/search/moz.build
- + toolkit/components/securitylevel/SecurityLevel.manifest
- + toolkit/components/securitylevel/SecurityLevel.sys.mjs
- + toolkit/components/securitylevel/components.conf
- + toolkit/components/securitylevel/moz.build
- toolkit/components/shopping/jar.mn
- toolkit/components/telemetry/app/TelemetrySend.sys.mjs
- toolkit/components/telemetry/moz.build
- + toolkit/components/tor-launcher/TorBootstrapRequest.sys.mjs
- + toolkit/components/tor-launcher/TorControlPort.sys.mjs
- + toolkit/components/tor-launcher/TorDomainIsolator.sys.mjs
- + toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- + toolkit/components/tor-launcher/TorParsers.sys.mjs
- + toolkit/components/tor-launcher/TorProcess.sys.mjs
- + toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs
- + toolkit/components/tor-launcher/TorProvider.sys.mjs
- + toolkit/components/tor-launcher/TorProviderBuilder.sys.mjs
- + toolkit/components/tor-launcher/TorStartupService.sys.mjs
- + toolkit/components/tor-launcher/components.conf
- + toolkit/components/tor-launcher/moz.build
- + toolkit/components/tor-launcher/tor-launcher.manifest
- + toolkit/components/torconnect/TorConnectChild.sys.mjs
- + toolkit/components/torconnect/TorConnectParent.sys.mjs
- + toolkit/components/torconnect/content/aboutTorConnect.css
- + toolkit/components/torconnect/content/aboutTorConnect.html
- + toolkit/components/torconnect/content/aboutTorConnect.js
- + toolkit/components/torconnect/content/arrow-right.svg
- + toolkit/components/torconnect/content/bridge.svg
- + toolkit/components/torconnect/content/connection-failure.svg
- + toolkit/components/torconnect/content/connection-location.svg
- + toolkit/components/torconnect/content/tor-connect-broken.svg
- + toolkit/components/torconnect/content/tor-connect.svg
- + toolkit/components/torconnect/content/tor-not-connected-to-connected-animated.svg
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.css
- + toolkit/components/torconnect/content/torConnectTitlebarStatus.js
- + toolkit/components/torconnect/content/torConnectUrlbarButton.js
- + toolkit/components/torconnect/jar.mn
- + toolkit/components/torconnect/moz.build
- toolkit/components/urlformatter/URLFormatter.sys.mjs
- toolkit/components/windowwatcher/nsWindowWatcher.cpp
- toolkit/content/.eslintrc.js
- toolkit/content/aboutNetError.html
- toolkit/content/aboutNetError.mjs
- toolkit/content/aboutSupport.js
- toolkit/content/jar.mn
- toolkit/content/license.html
- + toolkit/content/moat_countries_dev_build.json
- + toolkit/content/pt_config.json
- toolkit/content/widgets/infobar.css
- toolkit/content/widgets/moz-message-bar/moz-message-bar.mjs
- toolkit/content/widgets/moz-support-link/moz-support-link.mjs
- toolkit/content/widgets/moz-toggle/moz-toggle.mjs
- toolkit/content/widgets/notificationbox.js
- + toolkit/locales-preview/base-browser-no-translate.ftl
- + toolkit/locales-preview/tor-browser-no-translate.ftl
- toolkit/locales/en-US/toolkit/about/aboutHttpsOnlyError.ftl
- + toolkit/locales/en-US/toolkit/global/base-browser.ftl
- + toolkit/locales/en-US/toolkit/global/tor-browser.ftl
- toolkit/locales/jar.mn
- toolkit/modules/ActorManagerParent.sys.mjs
- toolkit/modules/AppConstants.sys.mjs
- + toolkit/modules/Bech32Decode.sys.mjs
- + toolkit/modules/BridgeDB.sys.mjs
- + toolkit/modules/DomainFrontedRequests.sys.mjs
- + toolkit/modules/DragDropFilter.sys.mjs
- toolkit/modules/FinderParent.sys.mjs
- toolkit/modules/LogManager.sys.mjs
- + toolkit/modules/Moat.sys.mjs
- toolkit/modules/PopupNotifications.sys.mjs
- + toolkit/modules/QRCode.sys.mjs
- toolkit/modules/RemotePageAccessManager.sys.mjs
- + toolkit/modules/TorAndroidIntegration.sys.mjs
- + toolkit/modules/TorConnect.sys.mjs
- + toolkit/modules/TorSettings.sys.mjs
- + toolkit/modules/TorStrings.sys.mjs
- toolkit/modules/UpdateUtils.sys.mjs
- toolkit/modules/moz.build
- toolkit/moz.build
- toolkit/mozapps/extensions/AddonManager.sys.mjs
- toolkit/mozapps/extensions/components.conf
- toolkit/mozapps/extensions/content/aboutaddons.html
- toolkit/mozapps/extensions/content/aboutaddons.js
- toolkit/mozapps/extensions/internal/XPIDatabase.sys.mjs
- toolkit/mozapps/extensions/internal/XPIInstall.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/browser/head.js
- toolkit/mozapps/extensions/test/xpcshell/head_addons.js
- toolkit/mozapps/update/UpdateService.sys.mjs
- toolkit/mozapps/update/UpdateServiceStub.sys.mjs
- toolkit/mozapps/update/common/updatehelper.cpp
- toolkit/mozapps/update/tests/data/sharedUpdateXML.js
- + toolkit/mozapps/update/tests/unit_aus_update/mixedUnsupported.js
- toolkit/mozapps/update/tests/unit_aus_update/xpcshell.toml
- toolkit/mozapps/update/updater/launchchild_osx.mm
- toolkit/mozapps/update/updater/moz.build
- toolkit/mozapps/update/updater/nightly_aurora_level3_primary.der
- toolkit/mozapps/update/updater/nightly_aurora_level3_secondary.der
- toolkit/mozapps/update/updater/release_primary.der
- toolkit/mozapps/update/updater/release_secondary.der
- toolkit/mozapps/update/updater/updater.cpp
- toolkit/themes/shared/aboutNetError.css
- toolkit/themes/shared/desktop-jar.inc.mn
- toolkit/themes/shared/findbar.css
- + toolkit/themes/shared/icons/onion-site.svg
- + toolkit/themes/shared/icons/onion-slash.svg
- + toolkit/themes/shared/icons/onion-warning.svg
- + toolkit/themes/shared/icons/tor-dark-loading.png
- + toolkit/themes/shared/icons/tor-dark-loading(a)2x.png
- + toolkit/themes/shared/icons/tor-light-loading.png
- + toolkit/themes/shared/icons/tor-light-loading(a)2x.png
- + toolkit/themes/shared/icons/torbrowser.png
- toolkit/themes/shared/minimal-toolkit.jar.inc.mn
- + toolkit/themes/shared/onion-pattern.css
- + toolkit/themes/shared/onion-pattern.svg
- + toolkit/themes/shared/tor-colors.css
- + toolkit/torbutton/chrome/locale/en-US/onionLocation.properties
- + toolkit/torbutton/chrome/locale/en-US/settings.properties
- + toolkit/torbutton/chrome/locale/en-US/torConnect.properties
- + toolkit/torbutton/chrome/locale/en-US/torlauncher.properties
- + toolkit/torbutton/jar.mn
- + toolkit/torbutton/moz.build
- toolkit/xre/LauncherRegistryInfo.cpp
- toolkit/xre/MacLaunchHelper.h
- toolkit/xre/MacLaunchHelper.mm
- toolkit/xre/MacRunFromDmgUtils.mm
- toolkit/xre/ProfileReset.cpp
- toolkit/xre/dllservices/mozglue/WindowsDllBlocklist.cpp
- toolkit/xre/nsAppRunner.cpp
- toolkit/xre/nsIXREDirProvider.idl
- toolkit/xre/nsUpdateDriver.cpp
- toolkit/xre/nsXREDirProvider.cpp
- toolkit/xre/nsXREDirProvider.h
- + tools/base-browser/git-rebase-fixup-preprocessor
- + tools/base-browser/l10n/combine-translation-versions.py
- + tools/base-browser/l10n/combine/__init__.py
- + tools/base-browser/l10n/combine/combine.py
- + tools/base-browser/l10n/combine/tests/README
- + tools/base-browser/l10n/combine/tests/__init__.py
- + tools/base-browser/l10n/combine/tests/test_android.py
- + tools/base-browser/l10n/combine/tests/test_dtd.py
- + tools/base-browser/l10n/combine/tests/test_fluent.py
- + tools/base-browser/l10n/combine/tests/test_properties.py
- + tools/base-browser/tb-dev
- + tools/geckoview/.gitignore
- + tools/geckoview/Makefile
- + tools/geckoview/android-env-linux-template.sh
- + tools/geckoview/android-env-macos-template.sh
- + tools/geckoview/build-fenix.sh
- + tools/geckoview/build-geckoview.sh
- + tools/geckoview/clobber.sh
- + tools/geckoview/config.sh
- + tools/geckoview/jslint.sh
- tools/lint/fluent-lint/exclusions.yml
- + tools/torbrowser/Makefile
- + tools/torbrowser/browser-self-sign-macos.sh
- + tools/torbrowser/build.sh
- + tools/torbrowser/clobber.sh
- + tools/torbrowser/config.sh
- + tools/torbrowser/deploy.sh
- + tools/torbrowser/fetch.sh
- + tools/torbrowser/generate-bugzilla-triage-csv.sh
- + tools/torbrowser/generate_tor_loading_png.py
- + tools/torbrowser/ide.sh
- + tools/torbrowser/jslint.sh
- + tools/torbrowser/l10n/migrate.py
- + tools/torbrowser/l10n/migrations/__init__.py
- + tools/torbrowser/l10n/migrations/bug-41333-new-about-tor.py
- + tools/torbrowser/l10n/migrations/bug-41622-neterror.py
- + tools/torbrowser/l10n/migrations/bug-41820-moz-message-bar-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42202-crypto-safety.py
- + tools/torbrowser/l10n/migrations/bug-42203-about-dialog.py
- + tools/torbrowser/l10n/migrations/bug-42206-rulesets.py
- + tools/torbrowser/l10n/migrations/bug-42207-settings.py
- + tools/torbrowser/l10n/migrations/bug-42209-tor-circuit.py
- + tools/torbrowser/l10n/migrations/bug-42210-download-warning.py
- + tools/torbrowser/l10n/migrations/bug-42211-new-identity.py
- + tools/torbrowser/l10n/migrations/bug-42212-onion-services.py
- + tools/torbrowser/l10n/migrations/bug-42214-security-level.py
- + tools/torbrowser/l10n/migrations/bug-43531-bridge-dialog-buttons.py
- + tools/torbrowser/prepare-tests.sh
- + tools/torbrowser/update_emojis.py
- tools/update-packaging/common.sh
- tools/update-packaging/make_full_update.sh
- tools/update-packaging/make_incremental_update.sh
- uriloader/base/nsDocLoader.cpp
- uriloader/base/nsURILoader.cpp
- uriloader/exthandler/nsExternalHelperAppService.cpp
- widget/ScrollbarDrawingWin.cpp
- widget/ScrollbarDrawingWin11.cpp
- widget/android/WebExecutorSupport.cpp
- widget/android/nsClipboard.cpp
- widget/cocoa/nsChildView.mm
- widget/gtk/MPRISServiceHandler.cpp
- widget/gtk/WidgetUtilsGtk.cpp
- widget/gtk/nsWindow.cpp
- widget/windows/WinTaskbar.cpp
- widget/windows/nsDataObj.cpp
- widget/windows/nsFilePicker.cpp
- xpcom/base/ErrorList.py
- xpcom/ds/StaticAtoms.py
- xpcom/io/CocoaFileUtils.mm
- xpcom/io/nsAppFileLocationProvider.cpp
- xpfe/appshell/AppWindow.cpp
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/db326a…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/db326a…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_128_11_0esr_BUILD1
by Pier Angelo Vendrame (@pierov) 21 May '25
by Pier Angelo Vendrame (@pierov) 21 May '25
21 May '25
Pier Angelo Vendrame pushed new tag FIREFOX_128_11_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Deleted tag FIREFOX_128_11_0esr_BUILD1
by Pier Angelo Vendrame (@pierov) 21 May '25
by Pier Angelo Vendrame (@pierov) 21 May '25
21 May '25
Pier Angelo Vendrame deleted tag FIREFOX_128_11_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-128.11.0esr-14.5-1
by brizental (@brizental) 21 May '25
by brizental (@brizental) 21 May '25
21 May '25
brizental pushed new branch tor-browser-128.11.0esr-14.5-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/mullvad-browser] Pushed new tag FIREFOX_128_11_0esr_BUILD1
by Pier Angelo Vendrame (@pierov) 21 May '25
by Pier Angelo Vendrame (@pierov) 21 May '25
21 May '25
Pier Angelo Vendrame pushed new tag FIREFOX_128_11_0esr_BUILD1 at The Tor Project / Applications / Mullvad Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/FIREF…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new tag FIREFOX_128_11_0esr_BUILD1
by Pier Angelo Vendrame (@pierov) 21 May '25
by Pier Angelo Vendrame (@pierov) 21 May '25
21 May '25
Pier Angelo Vendrame pushed new tag FIREFOX_128_11_0esr_BUILD1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/FIREFOX_1…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-140.0a1-15.0-1] 207 commits: Bug 1964408 - Scan application scopes early on startup if app-builtin-addons...
by Pier Angelo Vendrame (@pierov) 21 May '25
by Pier Angelo Vendrame (@pierov) 21 May '25
21 May '25
Pier Angelo Vendrame pushed to branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
0ef4e5e1 by Luca Greco at 2025-05-19T19:30:06+00:00
Bug 1964408 - Scan application scopes early on startup if app-builtin-addons location is missing from addonStartup.json.lz4 data. r=baku,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248116
- - - - -
c482bdc8 by Luca Greco at 2025-05-19T19:30:09+00:00
Bug 1964408 - Scan application scopes early on startup if expected app-system-builtins entries are missing from the addonStartup.json.lz4 data. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248117
- - - - -
9865b6fc by Luca Greco at 2025-05-19T19:30:13+00:00
Bug 1964408 - Add additional test coverage for stale/missing xpistate with system-signed updates installed. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249652
- - - - -
7da44451 by Luca Greco at 2025-05-19T19:30:17+00:00
Bug 1967273 - Reject clearCacheForExtensionPrincipal when application shutdown is already initiated. r=willdurand
Depends on D249652
Differential Revision: https://phabricator.services.mozilla.com/D250051
- - - - -
59ddfbe1 by Beth Rennie at 2025-05-19T19:33:52+00:00
Bug 1907633 - Add ExperimentAPI.optInToExperiment API r=nalexander,nimbus-reviewers,relud,omc-reviewers,aminomancer
Instead of calling this function on the `RemoteSettingsExperimentLoader`
from `RemoteSettingsExperimentLoader.sys.mjs`, we instead provide the
public API on the `ExperimentAPI`, which will delegate to its current
`RemoteSettingsExperimentLoader`.
Differential Revision: https://phabricator.services.mozilla.com/D248073
- - - - -
8569fe50 by Beth Rennie at 2025-05-19T19:33:56+00:00
Bug 1907633 - Use ExperimentAPI._rsLoader in browser_asrouter_experimentsAPILoader.js r=omc-reviewers,aminomancer
Differential Revision: https://phabricator.services.mozilla.com/D249869
- - - - -
3d003989 by Drew Willcoxon at 2025-05-19T19:43:24+00:00
Bug 1966811 - Enable Suggest in the UK and disable most suggestion types outside the US. r=daisuke,nanj
Differential Revision: https://phabricator.services.mozilla.com/D249706
- - - - -
a7777f31 by Dão Gottwald at 2025-05-19T19:48:54+00:00
Bug 1966912 - Remove addTab's `index` alias for the `tabIndex` parameter. r=extension-reviewers,sessionstore-reviewers,tabbrowser-reviewers,robwu,dwalker
Differential Revision: https://phabricator.services.mozilla.com/D249783
- - - - -
605278e1 by Nina Pypchenko at 2025-05-19T19:53:25+00:00
Bug 1916856 - Remove wallpapers v1 r=home-newtab-reviewers,frontend-codestyle-reviewers,maxx
Differential Revision: https://phabricator.services.mozilla.com/D249933
- - - - -
b95c5cac by Sandor Molnar at 2025-05-19T21:07:58+00:00
Revert "Bug 1966912 - Remove addTab's `index` alias for the `tabIndex` parameter. r=extension-reviewers,sessionstore-reviewers,tabbrowser-reviewers,robwu,dwalker" for causing remote failures @ browser_TabManager.js
This reverts commit 38a0034022f0602263ad168e168273a4d4f7893b.
- - - - -
a73aebbc by Moritz Beier at 2025-05-19T21:08:36+00:00
Bug 1965866 - Make onAccept synchronous to fix intermittent browser_search_userEngineDialog.js failures. r=search-reviewers,Standard8
The failures were caused by onAccept in addEngine.js being asynchronous. Since promise reactions are not called if the window the promise was created in is closing, onAccept will not finish intermittently. See Bug 1663090.
Differential Revision: https://phabricator.services.mozilla.com/D249964
- - - - -
39aa46d1 by Moritz Beier at 2025-05-19T21:08:39+00:00
Bug 1967237 - Add tests for UserSearchEngine favicons. r=search-reviewers,Standard8,settings-reviewers,mossop
Differential Revision: https://phabricator.services.mozilla.com/D247575
- - - - -
216d66b9 by Tarek Ziadé at 2025-05-19T21:09:19+00:00
Bug 1955060 - Add onnx-native to Firefox AI Runtime r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D243696
- - - - -
68692c03 by Beth Rennie at 2025-05-19T21:58:12+00:00
Bug 1907633 - Do not instantiate the RemoteSettingsExperimentLoader on import r=nimbus-reviewers,relud
Instead of creating the `RemoteSettingsExperimentLoader` by importing
`RemoteSettingsExperimentLoader.sys.mjs`, we instead create it the first
time we access the `ExperimentAPI._rsLoader` property.
The `RemoteSettingsExperimentLoader` is considered internal to Nimbus
and as such it is only exposed on the `_rsLoader` property so that other
Nimbus library code (such as `FirefoxLabs`) can access it.
Additionally, the `manager` argument to the
`RemoteSettingsExperimentLoader` is now required.
Differential Revision: https://phabricator.services.mozilla.com/D248074
- - - - -
475fbb58 by Emilio Cobos Álvarez at 2025-05-19T22:14:42+00:00
Bug 1964256 - Remove hard-coded workaround for dialog sizing. r=emz
80vw is not enough with a sidebar. Dialogs seem to collapse fine without
this now, I think the missing bit was the min-width: 0 added in
bug 1963168.
Differential Revision: https://phabricator.services.mozilla.com/D249542
- - - - -
ed65b0f7 by Simon Friedberger at 2025-05-19T22:19:57+00:00
Bug 1897136 - Fix HTTPS first downgrades for proxies r=maltejur,valentin,extension-reviewers,robwu
For HTTPS first we want to treat NS_ERROR_UNKNOWN_HOST as an HTTPS
related error because it might be a 404 returned by a proxy (see
HttpProxyResponseToErrorCode). For the HTTPS-only case we don't want
that because it almost always is an unrelated error and the users would
have to confirm the interstitial every time to find out.
Differential Revision: https://phabricator.services.mozilla.com/D209247
- - - - -
528f5552 by Ed Lee at 2025-05-19T22:51:36+00:00
Bug 1967131 - Using Shift while typing unexpectly triggers Link Preview on Windows r=txia,firefox-ai-ml-reviewers
Track recent typing and ignore shortcut if within pref controlled 1000ms.
Differential Revision: https://phabricator.services.mozilla.com/D249911
- - - - -
02823d3e by iulian moraru at 2025-05-19T23:28:14+00:00
Revert "Bug 1950636 - Implement MarionetteWebExtensionsProtocolPart r=whimboo,jgraham,webdriver-reviewers" for causing linting errors in the wpt repo after syncing.
This reverts commit 27594c2ac5aef73dce8ab68e2e03825d30667d08.
- - - - -
e9fadcbe by iulian moraru at 2025-05-19T23:28:18+00:00
Revert "Bug 1907633 - Do not instantiate the RemoteSettingsExperimentLoader on import r=nimbus-reviewers,relud" for causing bc failures on browser_trigger_messagesLoaded.js.
This reverts commit 002d90f4f0abed223cbcb03553ac3600d0d1cf4f.
- - - - -
21396139 by Updatebot at 2025-05-19T23:34:40+00:00
Bug 1967307 - Update NSS to 091af6a9930bd41ada8694bb4487cb8dac62e9c1 r=jschanck
Differential Revision: https://phabricator.services.mozilla.com/D250068
- - - - -
64b5eea8 by John M. Schanck at 2025-05-19T23:34:44+00:00
Bug 1966733 - disable the SSL_DB_LOAD_CERTIFICATE_CHAIN option. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D249643
- - - - -
2e6d8159 by Joel Maher at 2025-05-19T23:35:28+00:00
Bug 1917594 - ensure resolution and refresh rate for macosx. r=bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250079
- - - - -
ea18d60a by Rolf Rando at 2025-05-19T23:35:54+00:00
Bug 1967352 - Fix incorrect cache key name for inferred local model r=home-newtab-reviewers,reemhamz
Differential Revision: https://phabricator.services.mozilla.com/D250094
- - - - -
2fc86ccc by Steve Fink at 2025-05-19T23:36:27+00:00
Bug 1962882 - Rename get_branch_nodes -> get_commits r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D246860
- - - - -
efef5875 by Steve Fink at 2025-05-19T23:36:31+00:00
Bug 1962882 - Make mozversioncontrol.repo.Repository into a real abstract base class r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D246861
- - - - -
02887be1 by Release Engineering Landoscript at 2025-05-20T00:18:34+00:00
No Bug - Import translations from https://github.com/mozilla-l10n/android-l10n CLOSED TREE
- - - - -
0d43637d by Sandor Molnar at 2025-05-20T00:55:28+00:00
Revert "Bug 1967273 - Reject clearCacheForExtensionPrincipal when application shutdown is already initiated. r=willdurand" for causing Mn failures.
This reverts commit a56c3cd30be8f09a69e24c6a724d1a836d5fe3c8.
Revert "Bug 1964408 - Add additional test coverage for stale/missing xpistate with system-signed updates installed. r=willdurand"
This reverts commit 6c7851b741c6134df6bd1751d3ccceeac418c277.
Revert "Bug 1964408 - Scan application scopes early on startup if expected app-system-builtins entries are missing from the addonStartup.json.lz4 data. r=willdurand"
This reverts commit 6121e746674b7dd9ef5d695498534483eb78133a.
Revert "Bug 1964408 - Scan application scopes early on startup if app-builtin-addons location is missing from addonStartup.json.lz4 data. r=baku,willdurand"
This reverts commit e799258ba7ad7038139a22281761da76c7079779.
- - - - -
aa39e919 by Byron Campen [:bwc] at 2025-05-20T00:58:56+00:00
Bug 1954423: Make sure we finish checking peer nominated pairs. r=mjf
This contains three changes.
1. When nomination happens, do not cancel higher priority pairs that have been
peer nominated but not fully nominated yet (because our own checks have not
succeeded). If our response to the peer nomination on a pair like this has been
received, the other end is already using it.
2. Allow CANCELED pairs to be revived by the triggered check code, similar
to IN_PROGRESS pairs.
3. Allow the triggered check code to run again on a pair if that pair just
received a peer nomination, and has a priority high enough that it could end up
being selected.
Differential Revision: https://phabricator.services.mozilla.com/D242720
- - - - -
2be527d3 by Byron Campen [:bwc] at 2025-05-20T00:58:59+00:00
Bug 1954423: Test-case fixes r=mjf
1. In our relay/prflx test, account for some testers having extra interfaces that the test TURN server isn't running on.
2. In our stats checking, temper our expectations on bytesSent/Received if we're using one-way media.
Differential Revision: https://phabricator.services.mozilla.com/D243373
- - - - -
82ef87e7 by Hiroyuki Ikezoe at 2025-05-20T00:59:39+00:00
Bug 1967357 - Run the mochitest for bug 422132 in a new tab. r=masayuki
With that we can avoid a bunch of floating point calculation errors
in the scaled down content.
Differential Revision: https://phabricator.services.mozilla.com/D250102
- - - - -
f5144335 by Hiroyuki Ikezoe at 2025-05-20T01:00:05+00:00
Bug 1967343 - Disable smooth scrolling in test_bug795785.html. r=masayuki
Thus each scroll operation finishes within a short snap of time.
Differential Revision: https://phabricator.services.mozilla.com/D250090
- - - - -
8cb6c403 by Mike Hommey at 2025-05-20T02:00:23+00:00
Bug 1966833 - Disable new character-conversion warning in clang 21 for now. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D249725
- - - - -
c2ec3050 by Lee Salzman at 2025-05-20T03:53:59+00:00
Bug 1938053 - Allow WebGLContext to generate backbuffer snapshots within GPU process. r=gfx-reviewers,aosmond
CanvasTranslator needs to generate backbuffer snapshots for usage within the GPU process,
and thus it can't use the normal ClientWebGLContext interfaces for generating such.
This adds the necessary hook inside WebGLContext to do so.
Differential Revision: https://phabricator.services.mozilla.com/D243398
- - - - -
cc8ba978 by Alexandru Marc at 2025-05-20T04:59:39+00:00
Revert "Bug 1955060 - Add onnx-native to Firefox AI Runtime r=padenot" for causing multiple perftest failures complaining about the ML Engine
This reverts commit 47f92726bb0c071f17afa4bb9618ecd4a3ae9359.
- - - - -
3342fb9f by alexandra.virvara at 2025-05-20T05:37:58+00:00
Bug 1952024: composify logins list r=android-reviewers,android-l10n-reviewers,sfamisa,delphine
TRY link:: https://treeherder.mozilla.org/jobs?repo=try&revision=1ea6cd5812e4e0daa7319…
ACCEPTED patch on before git migration:: https://phabricator.services.mozilla.com/D246556
Differential Revision: https://phabricator.services.mozilla.com/D249986
- - - - -
2303f14d by Paul Bone at 2025-05-20T05:56:48+00:00
Bug 1967195 - Remove the chunk_assert_zero check r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D249941
- - - - -
666dba33 by Hiroyuki Ikezoe at 2025-05-20T06:30:51+00:00
Bug 1967340 - Allow 1px difference in test_bug717878_input_scroll.html. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D250087
- - - - -
abd4911d by Rolf Rando at 2025-05-20T06:31:47+00:00
Bug 1966796 - Audit new tab content telemetry, add support for interest vector r=home-newtab-reviewers,nbarrett
Differential Revision: https://phabricator.services.mozilla.com/D249864
- - - - -
f12fb277 by Release Engineering Landoscript at 2025-05-20T06:52:20+00:00
No Bug - Bumping Firefox l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a09b31aa94430fbf8ee4d05079638f3c27f71018
af -> a09b31aa94430fbf8ee4d05079638f3c27f71018
an -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ar -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ast -> a09b31aa94430fbf8ee4d05079638f3c27f71018
az -> a09b31aa94430fbf8ee4d05079638f3c27f71018
be -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bg -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
br -> a09b31aa94430fbf8ee4d05079638f3c27f71018
brx -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ca -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ca-valencia -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cak -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ckb -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cy -> a09b31aa94430fbf8ee4d05079638f3c27f71018
da -> a09b31aa94430fbf8ee4d05079638f3c27f71018
de -> a09b31aa94430fbf8ee4d05079638f3c27f71018
dsb -> a09b31aa94430fbf8ee4d05079638f3c27f71018
el -> a09b31aa94430fbf8ee4d05079638f3c27f71018
en-CA -> a09b31aa94430fbf8ee4d05079638f3c27f71018
en-GB -> a09b31aa94430fbf8ee4d05079638f3c27f71018
eo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-AR -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-CL -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-ES -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-MX -> a09b31aa94430fbf8ee4d05079638f3c27f71018
et -> a09b31aa94430fbf8ee4d05079638f3c27f71018
eu -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fa -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ff -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fi -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fur -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fy-NL -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ga-IE -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gd -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gu-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
he -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hi-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hsb -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hu -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hy-AM -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hye -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ia -> a09b31aa94430fbf8ee4d05079638f3c27f71018
id -> a09b31aa94430fbf8ee4d05079638f3c27f71018
is -> a09b31aa94430fbf8ee4d05079638f3c27f71018
it -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ja -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ja-JP-mac -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ka -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kab -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
km -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ko -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lij -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lt -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ltg -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lv -> a09b31aa94430fbf8ee4d05079638f3c27f71018
meh -> a09b31aa94430fbf8ee4d05079638f3c27f71018
mk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ml -> a09b31aa94430fbf8ee4d05079638f3c27f71018
mr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ms -> a09b31aa94430fbf8ee4d05079638f3c27f71018
my -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nb-NO -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ne-NP -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nn-NO -> a09b31aa94430fbf8ee4d05079638f3c27f71018
oc -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pa-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pt-BR -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pt-PT -> a09b31aa94430fbf8ee4d05079638f3c27f71018
rm -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ro -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ru -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sat -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sc -> a09b31aa94430fbf8ee4d05079638f3c27f71018
scn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sco -> a09b31aa94430fbf8ee4d05079638f3c27f71018
si -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
skr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
son -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sq -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sv-SE -> a09b31aa94430fbf8ee4d05079638f3c27f71018
szl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ta -> a09b31aa94430fbf8ee4d05079638f3c27f71018
te -> a09b31aa94430fbf8ee4d05079638f3c27f71018
tg -> a09b31aa94430fbf8ee4d05079638f3c27f71018
th -> a09b31aa94430fbf8ee4d05079638f3c27f71018
tl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
tr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
trs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
uk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ur -> a09b31aa94430fbf8ee4d05079638f3c27f71018
uz -> a09b31aa94430fbf8ee4d05079638f3c27f71018
vi -> a09b31aa94430fbf8ee4d05079638f3c27f71018
wo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
xh -> a09b31aa94430fbf8ee4d05079638f3c27f71018
zh-CN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
zh-TW -> a09b31aa94430fbf8ee4d05079638f3c27f71018
- - - - -
72be1537 by Release Engineering Landoscript at 2025-05-20T06:52:23+00:00
No Bug - Bumping Mobile l10n changesets r=release a=l10n-bump DONTBUILD CLOSED TREE
ach -> a09b31aa94430fbf8ee4d05079638f3c27f71018
an -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ar -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ast -> a09b31aa94430fbf8ee4d05079638f3c27f71018
az -> a09b31aa94430fbf8ee4d05079638f3c27f71018
be -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bg -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
br -> a09b31aa94430fbf8ee4d05079638f3c27f71018
bs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ca -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cak -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
cy -> a09b31aa94430fbf8ee4d05079638f3c27f71018
da -> a09b31aa94430fbf8ee4d05079638f3c27f71018
de -> a09b31aa94430fbf8ee4d05079638f3c27f71018
dsb -> a09b31aa94430fbf8ee4d05079638f3c27f71018
el -> a09b31aa94430fbf8ee4d05079638f3c27f71018
en-CA -> a09b31aa94430fbf8ee4d05079638f3c27f71018
en-GB -> a09b31aa94430fbf8ee4d05079638f3c27f71018
eo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-AR -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-CL -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-ES -> a09b31aa94430fbf8ee4d05079638f3c27f71018
es-MX -> a09b31aa94430fbf8ee4d05079638f3c27f71018
et -> a09b31aa94430fbf8ee4d05079638f3c27f71018
eu -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fa -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ff -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fi -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
fy-NL -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ga-IE -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gd -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
gu-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
he -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hi-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hsb -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hu -> a09b31aa94430fbf8ee4d05079638f3c27f71018
hy-AM -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ia -> a09b31aa94430fbf8ee4d05079638f3c27f71018
id -> a09b31aa94430fbf8ee4d05079638f3c27f71018
is -> a09b31aa94430fbf8ee4d05079638f3c27f71018
it -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ja -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ka -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kab -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
km -> a09b31aa94430fbf8ee4d05079638f3c27f71018
kn -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ko -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lij -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lt -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ltg -> a09b31aa94430fbf8ee4d05079638f3c27f71018
lv -> a09b31aa94430fbf8ee4d05079638f3c27f71018
meh -> a09b31aa94430fbf8ee4d05079638f3c27f71018
mix -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ml -> a09b31aa94430fbf8ee4d05079638f3c27f71018
mr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ms -> a09b31aa94430fbf8ee4d05079638f3c27f71018
my -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nb-NO -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ne-NP -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
nn-NO -> a09b31aa94430fbf8ee4d05079638f3c27f71018
oc -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pa-IN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pt-BR -> a09b31aa94430fbf8ee4d05079638f3c27f71018
pt-PT -> a09b31aa94430fbf8ee4d05079638f3c27f71018
rm -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ro -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ru -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
son -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sq -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
sv-SE -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ta -> a09b31aa94430fbf8ee4d05079638f3c27f71018
te -> a09b31aa94430fbf8ee4d05079638f3c27f71018
th -> a09b31aa94430fbf8ee4d05079638f3c27f71018
tl -> a09b31aa94430fbf8ee4d05079638f3c27f71018
tr -> a09b31aa94430fbf8ee4d05079638f3c27f71018
trs -> a09b31aa94430fbf8ee4d05079638f3c27f71018
uk -> a09b31aa94430fbf8ee4d05079638f3c27f71018
ur -> a09b31aa94430fbf8ee4d05079638f3c27f71018
uz -> a09b31aa94430fbf8ee4d05079638f3c27f71018
vi -> a09b31aa94430fbf8ee4d05079638f3c27f71018
wo -> a09b31aa94430fbf8ee4d05079638f3c27f71018
xh -> a09b31aa94430fbf8ee4d05079638f3c27f71018
zam -> a09b31aa94430fbf8ee4d05079638f3c27f71018
zh-CN -> a09b31aa94430fbf8ee4d05079638f3c27f71018
zh-TW -> a09b31aa94430fbf8ee4d05079638f3c27f71018
- - - - -
98a59c02 by Bob Owen at 2025-05-20T07:21:49+00:00
Bug 1966153: Guard the mtransport_process check for USER_RESTRICTED with MOZ_WEBRTC. r=handyman,darktrojan
We don't need the webrtc media transport check if WEBRTC is not compiled in.
Also, Thunderbird still compiles with webrtc but doesn't use it, so exclude that
as well.
Differential Revision: https://phabricator.services.mozilla.com/D249451
- - - - -
3f094fa7 by Tarek Ziadé at 2025-05-20T07:22:24+00:00
Bug 1955060 - Add onnx-native to Firefox AI Runtime r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D243696
- - - - -
83061dbd by Cristian Tuns at 2025-05-20T07:28:47+00:00
Revert "Bug 1952024: composify logins list r=android-reviewers,android-l10n-reviewers,sfamisa,delphine" for causing fenix failures
This reverts commit 3d536b8bfefa6bf8a611e8d0e6ab86463ca77d52.
- - - - -
3f4b6a18 by Titouan Thibaud at 2025-05-20T07:32:21+00:00
Bug 1924533: Run macrobenchmark test on CI to measure Baseline Profile impact on performance r=releng-reviewers,android-reviewers,bhearsum,calu
This patch adds a job called `run-macrobenchmark-firebase-fenix` that runs a macrobenchmark on a physical device on Firebase Test lab to benchmark the impact of the baseline profile on app startup.
Differential Revision: https://phabricator.services.mozilla.com/D229019
- - - - -
576074a5 by Andrea Marchesini at 2025-05-20T08:01:55+00:00
Bug 1955685 - Improve cookie validation - part 1 - nsICookieValidation, r=edgul,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D244894
- - - - -
d7e4b389 by Andrea Marchesini at 2025-05-20T08:01:59+00:00
Bug 1955685 - Improve cookie validation - part 2 - nsICookieValidation in cookieManager.addNative, r=edgul,cookie-reviewers,geckoview-reviewers,nalexander,glandium
Differential Revision: https://phabricator.services.mozilla.com/D244895
- - - - -
d69a542a by Andrea Marchesini at 2025-05-20T08:02:03+00:00
Bug 1955685 - Improve cookie validation - part 3 - nsICookieValidation in cookieManager.add, r=edgul,extension-reviewers,settings-reviewers,search-reviewers,devtools-reviewers,cookie-reviewers,sessionstore-reviewers,backup-reviewers,nchevobbe,mconley,Standard8,webdriver-reviewers,whimboo,valentin,sfoster,robwu
Differential Revision: https://phabricator.services.mozilla.com/D244897
- - - - -
7eee562d by Andrea Marchesini at 2025-05-20T08:02:06+00:00
Bug 1955685 - Improve cookie validation - part 4 - expiry validation, r=edgul,cookie-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D247243
- - - - -
3004bf25 by Andrea Marchesini at 2025-05-20T08:02:10+00:00
Bug 1955685 - Improve cookie validation - part 5 - 0x20 as invalid chars for cookie names and values r=valentin,cookie-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D248601
- - - - -
79464402 by Andrea Marchesini at 2025-05-20T08:02:14+00:00
Bug 1955685 - Improve cookie validation - part 6 - CookieValidation for web-ext, r=robwu,cookie-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D245427
- - - - -
d3189080 by Andrea Marchesini at 2025-05-20T08:02:18+00:00
Bug 1955685 - Improve cookie validation - part 7 - Fix existing tests, r=valentin,webdriver-reviewers,extension-reviewers,settings-reviewers,devtools-reviewers,cookie-reviewers,sessionstore-reviewers,migration-reviewers,backup-reviewers,sthompson,robwu,ochameau
Differential Revision: https://phabricator.services.mozilla.com/D248600
- - - - -
34ccd31b by Julien Cristau at 2025-05-20T08:22:51+00:00
Bug 1930713 - ignore leak from mesa's libgallium. r=gfx-reviewers,decoder,lsalzman
```
==1410==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 2352 byte(s) in 49 object(s) allocated from:
#0 0x562318d9d2df in malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:68:3
#1 0x7f169f73a499 in ralloc_size /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/ralloc.c:118:18
#2 0x7f169f73a499 in ralloc_context /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/ralloc.c:105:11
#3 0x7f169f75f399 in mesa_cache_db_open /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/mesa_cache_db.c:675:18
#4 0x7f169f741c99 in mesa_cache_db_multipart_init_part_locked /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/mesa_cache_db_multipart.c:60:16
#5 0x7f169f741c99 in mesa_cache_db_multipart_init_part /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/mesa_cache_db_multipart.c:93:10
#6 0x7f169f741f16 in mesa_cache_db_multipart_init_part /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/mesa_cache_db_multipart.c:89:7
#7 0x7f169f741f16 in mesa_cache_db_multipart_read_entry /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/mesa_cache_db_multipart.c:136:12
#8 0x7f169f733f9d in disk_cache_db_load_item /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/disk_cache_os.c:1167:23
#9 0x7f169f73238d in disk_cache_get /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/util/disk_cache.c:605:16
#10 0x7f169fafc569 in shader_cache_read_program_metadata(gl_context*, gl_shader_program*) /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/compiler/glsl/shader_cache.cpp:214:48
#11 0x7f169fae839b in link_shaders(gl_context*, gl_shader_program*) /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/compiler/glsl/linker.cpp:1766:42
#12 0x7f169fa509aa in st_link_shader /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/mesa/state_tracker/st_glsl_to_nir.cpp:984:22
#13 0x7f169fa05e8e in link_program /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/mesa/main/shaderapi.c:1337:4
#14 0x7f169fa05e8e in link_program_error /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/mesa/main/shaderapi.c:1446:4
#15 0x7f16e74f1ae6 in webrender::device::gl::Device::link_program::h04ace192966fed71 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/device/gl.rs:2518:13
#16 0x7f16e74fc25f in webrender::device::gl::Device::create_program_linked::h2ec223b25e78d716 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/device/gl.rs:3035:9
#17 0x7f16e75161b3 in webrender::renderer::gpu_cache::GpuCacheTexture::new::hf7ba56012a504794 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/gpu_cache.rs:165:27
#18 0x7f16e7528446 in webrender::renderer::init::create_webrender_instance::h559ddbaf7f9a386b /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/init.rs:517:29 #19 0x7f16e76e8d8f in wr_window_new /builds/worker/checkouts/gecko/gfx/webrender_bindings/src/bindings.rs:2068:36
#20 0x7f16d8d6d980 in mozilla::wr::NewRenderer::Run(mozilla::wr::RenderThread&, mozilla::wr::WrWindowId) /builds/worker/checkouts/gecko/gfx/webrender_bindings/WebRenderAPI.cpp:134:10
#21 0x7f16d8d2fbfa in mozilla::wr::RenderThread::RunEvent(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent>>, bool) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:755:11
#22 0x7f16d8d4b478 in operator()<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId> &, StoreCopyPassByRRef<mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> > > &, StoreCopyPassByConstLRef<bool> &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1085:18
#23 0x7f16d8d4b478 in __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId> &, StoreCopyPassByRRef<mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> > > &, StoreCopyPassByConstLRef<bool> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14
#24 0x7f16d8d4b478 in __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<mozilla::wr::WrWindowId> &, StoreCopyPassByRRef<mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> > > &, StoreCopyPassByConstLRef<bool> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14
#25 0x7f16d8d4b478 in __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByRRef<mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> > >, StoreCopyPassByConstLRef<bool> > &, 0UL, 1UL, 2UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14
#26 0x7f16d8d4b478 in apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<mozilla::wr::WrWindowId>, StoreCopyPassByRRef<mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> > >, StoreCopyPassByConstLRef<bool> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14
#27 0x7f16d8d4b478 in apply<mozilla::wr::RenderThread, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent> >, bool)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1083:12
#28 0x7f16d8d4b478 in mozilla::detail::RunnableMethodImpl<mozilla::wr::RenderThread*, void (mozilla::wr::RenderThread::*)(mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent>>, bool), true, (mozilla::RunnableKind)0, mozilla::wr::WrWindowId, mozilla::UniquePtr<mozilla::wr::RendererEvent, mozilla::DefaultDelete<mozilla::wr::RendererEvent>>&&, bool>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1134:13
#29 0x7f16d607b26c in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16
#30 0x7f16d6085848 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
#31 0x7f16d74ee3fa in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:329:5
#32 0x7f16d73fc7c4 in RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10
#33 0x7f16d73fc7c4 in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3
#34 0x7f16d73fc7c4 in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3
#35 0x7f16d60740ae in nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10
#36 0x7f16f0deb74b in _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3
#37 0x562318d99546 in asan_thread_start(void*) /builds/worker/fetches/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:239:28
```
Differential Revision: https://phabricator.services.mozilla.com/D250035
- - - - -
d2d03a52 by Julien Cristau at 2025-05-20T08:45:40+00:00
Bug 1967222 - rebase decision docker image on debian 12 r=releng-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250025
- - - - -
d59f12ec by Julien Cristau at 2025-05-20T08:45:44+00:00
Bug 1967232 - make the artifacts dir of the decision task a docker volume. r=releng-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D250026
- - - - -
a92aafdc by Julien Cristau at 2025-05-20T08:52:21+00:00
Bug 1967217 - stop running mach repackage desktop-file in linux repackage tasks. r=releng-reviewers,taskgraph-reviewers,bhearsum
This has been unused since bug 1949464 which removed the
release-flatpak-repackage task kind, as have the
release_flatpak_repackage transforms.
Differential Revision: https://phabricator.services.mozilla.com/D250005
- - - - -
79d8a430 by Tom Schuster at 2025-05-20T08:57:10+00:00
Bug 1962084 - Ship escaping of "<" and ">" in attributes. r=zcorpan,hsivonen,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D250122
- - - - -
278c54c1 by Pier Angelo Vendrame at 2025-05-20T08:57:36+00:00
Bug 1666613 - Do not rely on intl.css for text direction in parsererror. r=dom-core,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D244629
- - - - -
7da701fb by Keith Cirkel at 2025-05-20T09:03:19+00:00
Bug 1967245 - Remove customstateset flag r=emilio
This has been shipping for a while now so can be safely removed.
Differential Revision: https://phabricator.services.mozilla.com/D250031
- - - - -
e4fc4230 by Keith Cirkel at 2025-05-20T09:03:56+00:00
Bug 1966459 - Enable close watcher in desktop nightly r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D249429
- - - - -
5f065bbe by Alexandru Marc at 2025-05-20T09:31:40+00:00
Revert "Bug 1955685 - Improve cookie validation - part 7 - Fix existing tests, r=valentin,webdriver-reviewers,extension-reviewers,settings-reviewers,devtools-reviewers,cookie-reviewers,sessionstore-reviewers,migration-reviewers,backup-reviewers,sthompson,robwu,ochameau" for causing multiple failures
This reverts commit 585626d8fc0489dfd34e6709d9180ec9b82d1c11.
Revert "Bug 1955685 - Improve cookie validation - part 6 - CookieValidation for web-ext, r=robwu,cookie-reviewers,valentin"
This reverts commit b38d3084339f9dbc5d490578675462fa424b48f5.
Revert "Bug 1955685 - Improve cookie validation - part 5 - 0x20 as invalid chars for cookie names and values r=valentin,cookie-reviewers"
This reverts commit 3578880f65f700aafdc06a7414b9e53fda754106.
Revert "Bug 1955685 - Improve cookie validation - part 4 - expiry validation, r=edgul,cookie-reviewers,valentin"
This reverts commit 26e16d402f8cfe11e5da10552c4e2c5ceb41984c.
Revert "Bug 1955685 - Improve cookie validation - part 3 - nsICookieValidation in cookieManager.add, r=edgul,extension-reviewers,settings-reviewers,search-reviewers,devtools-reviewers,cookie-reviewers,sessionstore-reviewers,backup-reviewers,nchevobbe,mconley,Standard8,webdriver-reviewers,whimboo,valentin,sfoster,robwu"
This reverts commit 433a4d736dcb1f899f4f95f914048fb9034e4de9.
Revert "Bug 1955685 - Improve cookie validation - part 2 - nsICookieValidation in cookieManager.addNative, r=edgul,cookie-reviewers,geckoview-reviewers,nalexander,glandium"
This reverts commit 818c2c17698b0534541c6cac60751a60c3b144b6.
Revert "Bug 1955685 - Improve cookie validation - part 1 - nsICookieValidation, r=edgul,cookie-reviewers"
This reverts commit 55ad680779bb7c5ccf701a7639657540112139a5.
- - - - -
78337bae by Kershaw Chang at 2025-05-20T09:54:00+00:00
Bug 1965549 - Migrate network.http.active_tab_priority to static prefs, r=necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D249608
- - - - -
19e306e7 by Magnus Melin at 2025-05-20T09:54:26+00:00
Bug 1695467 - Don't throw "Error: Can't find profile directory." when showing the profile manager. r=mossop
When the profile manager is showing (started with `--p`, we haven't yet selected a profile.
Don't pollute the console for this case.
Differential Revision: https://phabricator.services.mozilla.com/D250121
- - - - -
c5ad346f by Tarek Ziadé at 2025-05-20T09:54:52+00:00
Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato
Differential Revision: https://phabricator.services.mozilla.com/D249936
- - - - -
24e2fdb3 by Moritz Beier at 2025-05-20T09:55:18+00:00
Bug 1964507 - Only offer "Add Search Engine" for GET forms. r=search-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D250020
- - - - -
95ae6cf3 by Timothy Nikkel at 2025-05-20T09:55:44+00:00
Bug 1958991. Simplify calculation in nsDisplayTransform::GetHitDepthAtPoint to avoid numerical float inaccuracies. r=jstutte
This is also much quicker.
Differential Revision: https://phabricator.services.mozilla.com/D249508
- - - - -
1fd158cb by Frederik Braun at 2025-05-20T09:56:09+00:00
Bug 1867137 - Only save CSP in SHEntry when required r=tschuster
Differential Revision: https://phabricator.services.mozilla.com/D248730
- - - - -
3dfaeeac by Rob Wu at 2025-05-20T09:56:21+00:00
Bug 1948259 - Add menu item to hide/show Extensions Button in Customize mode r=willdurand,fluent-reviewers,bolsson
Bug 1948258 added a way to hide the Extensions Button, but not a way to
show it. This patch makes the following changes:
- always show the Extensions button in Customization mode, even if the
user wants to hide the button unconditionally.
- add menu item to toggle the visibility of the Extensions Button.
- the new menu item is not shown anywhere except on the Extensions
Button in Customization mode.
Differential Revision: https://phabricator.services.mozilla.com/D248158
- - - - -
d3923d13 by Rob Wu at 2025-05-20T09:56:25+00:00
Bug 1948259 - Allow user to unhide the button via context menu r=willdurand
Allow the user to unhide the hidden button via a context menu item on
the button, in case they do not know about the Customize Toolbar option.
The context menu can be used on the "hidden button" because there are
some situations where the button is temporarily unhidden.
Differential Revision: https://phabricator.services.mozilla.com/D248159
- - - - -
182d18b1 by Rob Wu at 2025-05-20T09:56:29+00:00
Bug 1948263 - Show "Moved to menu" notification after hiding r=willdurand,fluent-reviewers,bolsson
Differential Revision: https://phabricator.services.mozilla.com/D248160
- - - - -
367d3ad4 by Rob Wu at 2025-05-20T09:56:32+00:00
Bug 1948263 - Add Extensions appmenu item if needed r=willdurand,fluent-reviewers,bolsson,Gijs
By default, this patch does not change any behavior.
Only when the Extensions Button is hidden, then this replaces the
current generic "Add-ons and Themes" option with the "Extensions"
menu, which opens the Extensions Panel.
Differential Revision: https://phabricator.services.mozilla.com/D248161
- - - - -
c4c0fd93 by Rob Wu at 2025-05-20T09:56:36+00:00
Bug 1948263 - Change "Add-ons and Themes" to "Extensions and Themes" r=willdurand,fluent-reviewers,bolsson
This change is made for the following reasons:
- Similarity between new "Extensions" menu item, which shows up instead
of "Extensions and Themes" when the Extensions Button is hidden.
- Consistency with about:preferences, which shows "Extensions & Themes"
(this was introduced in bug 1483335 and was not touched when the menu
labels were renamed in bug 1698931).
- Consistency with mobile (bug 1885561)
This effectively reverts the rename of bug 1698931.
Differential Revision: https://phabricator.services.mozilla.com/D248162
- - - - -
fe1c6353 by Timothy Nikkel at 2025-05-20T09:57:17+00:00
Bug 1967408. Bump wait period for bugs/1553571-1.html. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250173
- - - - -
62bcae86 by stransky at 2025-05-20T11:20:48+00:00
Bug 1967401 [Linux] Rename DMABufLibWrapper to DMABufDevice r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D250129
- - - - -
ddedc23b by Mathieu Leplatre at 2025-05-20T11:21:14+00:00
Bug 1956190 - Normalize JEXL context and show it in inspect() r=bdk,acottner
Differential Revision: https://phabricator.services.mozilla.com/D243117
- - - - -
8092ba97 by stransky at 2025-05-20T11:21:39+00:00
Bug 1959368 [Linux] Enable HDR on Linux if HDR monitor is present r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D250071
- - - - -
632848a2 by Nicolas Chevobbe at 2025-05-20T11:22:05+00:00
Bug 1957000 - [devtools] Add pointerrawupdate to Event Listener Breakpoints. r=devtools-reviewers,bomsy
Differential Revision: https://phabricator.services.mozilla.com/D249727
- - - - -
0dde0f99 by Alexandru Marc at 2025-05-20T11:57:34+00:00
Revert "Bug 1963137 - Enable extensions.ml.enabled browser pref on all channels r=ngrato" for causing multiple failures
This reverts commit 440978fd4176cfffe906bb098de48b702e1a03fe.
- - - - -
38d06eb5 by Evan Liu at 2025-05-20T12:00:31+00:00
Bug 1965940 [wpt PR 52481] - Fix SpeechRecognition-installOnDevice.https.html WPT,
Automatic update from web-platform-tests
Fix SpeechRecognition-installOnDevice.https.html WPT
This CL fixes the SpeechRecognition-installOnDevice.https.html WPT.
On-device speech recognition in Chromium is not available on Windows
ARM64 devices and some of the test cases should only be run if on-device
speech recognition is available.
Bug: 40286514,407404837
Change-Id: I92ea6d8c6adef81fdda1fc8eceec08036cd21b4f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532288
Commit-Queue: Evan Liu <evliu(a)google.com>
Reviewed-by: Frank Liberato <liberato(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459089}
--
wpt-commits: 95df31ed7b5940c55cd916c5fa672cc89c55763b
wpt-pr: 52481
Differential Revision: https://phabricator.services.mozilla.com/D250135
- - - - -
0d353101 by moz-wptsync-bot at 2025-05-20T12:00:34+00:00
Bug 1965940 [wpt PR 52481] - Update wpt metadata,
wpt-pr: 52481
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250136
- - - - -
1c0d7966 by Sam Sneddon at 2025-05-20T12:00:38+00:00
Bug 1965965 [wpt PR 52428] - Update infrastructure based on recent PRs,
Automatic update from web-platform-tests
Update infrastructure based on recent PRs
--
wpt-commits: 9b5c7265c7be11434d71c2d8a4288885a1a9e086
wpt-pr: 52428
Differential Revision: https://phabricator.services.mozilla.com/D250137
- - - - -
a59c81bc by Rune Lillesveen at 2025-05-20T12:00:42+00:00
Bug 1966039 [wpt PR 52488] - Use TreeCountingChecker in scale interpolations,
Automatic update from web-platform-tests
Use TreeCountingChecker in scale interpolations
Invalidate scale interpolation for tree counting function changes
on DOM mutations.
Also change TreeCountingChecker to take a CSSLengthResolver instead of
a StyleResolverState.
Bug: 415626999
Change-Id: I7a9ca34f87a6ce3b36df3cf30eb40c4637ae19aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6534157
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459320}
--
wpt-commits: 90767fd8ffb007ea294aa9e9fc5e8a354ee56ad1
wpt-pr: 52488
Differential Revision: https://phabricator.services.mozilla.com/D250138
- - - - -
42822548 by moz-wptsync-bot at 2025-05-20T12:00:46+00:00
Bug 1966039 [wpt PR 52488] - Update wpt metadata,
wpt-pr: 52488
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250139
- - - - -
9d777bfa by Rune Lillesveen at 2025-05-20T12:00:49+00:00
Bug 1966042 [wpt PR 52489] - Fix crash with relative colors in @font-palette-values,
Automatic update from web-platform-tests
Fix crash with relative colors in @font-palette-values
Simply skip such override-colors for now and leave a TODO on how to fix
it properly.
Bug: 417172068
Change-Id: I8bff5a2758b23fda57f73429d4b64d843055e80e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532438
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Reviewed-by: Dominik Röttsches <drott(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459324}
--
wpt-commits: 7f2c10ef7475de11ef9a0c298721ee4d1fde6e40
wpt-pr: 52489
Differential Revision: https://phabricator.services.mozilla.com/D250140
- - - - -
5be783cd by Rune Lillesveen at 2025-05-20T12:00:53+00:00
Bug 1966049 [wpt PR 52490] - Use TreeCountingChecker for font-weight interpolations,
Automatic update from web-platform-tests
Use TreeCountingChecker for font-weight interpolations
Necessary to invalidate keyframed animations for DOM mutations.
Bug: 415626999
Change-Id: I5787b811867b2284075f829eb3b7a69ad91065aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532315
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459343}
--
wpt-commits: 93e5176e97e241bcf72a24a141dbb1cf6ff9bb5e
wpt-pr: 52490
Differential Revision: https://phabricator.services.mozilla.com/D250141
- - - - -
4c61d1d5 by moz-wptsync-bot at 2025-05-20T12:00:57+00:00
Bug 1966049 [wpt PR 52490] - Update wpt metadata,
wpt-pr: 52490
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250143
- - - - -
96f4f8b6 by Mason Freed at 2025-05-20T12:01:01+00:00
Bug 1966051 [wpt PR 52491] - Hovering the invoker confers full interest,
Automatic update from web-platform-tests
Hovering the invoker confers full interest
As mentioned on the explainer PR conversation, here:
https://github.com/openui/open-ui/pull/1213#discussion_r2082158087
If the user keyboard-focuses an invoker which shows a target
popover in "partial interest" mode, subsequently mouse-hovering
that invoker should automatically upgrade to "full interest".
Bug: 326681249
Change-Id: I0fe0fa2caf07d297a4ebd321696fda23ceff9345
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6534488
Commit-Queue: Keith Cirkel <chromium(a)keithcirkel.co.uk>
Auto-Submit: Mason Freed <masonf(a)chromium.org>
Reviewed-by: Keith Cirkel <chromium(a)keithcirkel.co.uk>
Cr-Commit-Position: refs/heads/main@{#1459344}
--
wpt-commits: b85feb8f4a15403ff159e2170d3f811380a66ce1
wpt-pr: 52491
Differential Revision: https://phabricator.services.mozilla.com/D250144
- - - - -
66044bd7 by moz-wptsync-bot at 2025-05-20T12:01:04+00:00
Bug 1966051 [wpt PR 52491] - Update wpt metadata,
wpt-pr: 52491
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250145
- - - - -
7975bf4e by Luis Pardo at 2025-05-20T12:01:08+00:00
Bug 1966168 [wpt PR 52498] - [source-phase-imports] Support Wasm Source Phase Imports,
Automatic update from web-platform-tests
[source-phase-imports] Support Wasm Source Phase Imports
Adds ModuleRecord::ResolveSourceCallback to be called when instantiating
source phase children of the module graph.
Implement HostImportModuleWithPhaseDynamically and register it in the V8
isolate, this is called when executing `import.source`.
Add error handling for wasm imports in evaluation phase and non-wasm
imports in source phase.
Move module instantiation behind the ModuleScript interface to properly
throw evaluation phase errors.
Bug: 42204365
Change-Id: Ia3e855180f1f740023864b3499dc451278b53d47
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6351556
Reviewed-by: Dominic Farolino <dom(a)chromium.org>
Commit-Queue: Luis Pardo <lpardosixtos(a)microsoft.com>
Reviewed-by: Kouhei Ueno <kouhei(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459475}
--
wpt-commits: 8e1b3aaae7ebbb333ae0ccb1b67a01b5b2d774bf
wpt-pr: 52498
Differential Revision: https://phabricator.services.mozilla.com/D250146
- - - - -
ca2f9d0f by moz-wptsync-bot at 2025-05-20T12:01:12+00:00
Bug 1966168 [wpt PR 52498] - Update wpt metadata,
wpt-pr: 52498
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250147
- - - - -
87eac30e by Johannes Henkel at 2025-05-20T12:01:15+00:00
Bug 1966172 [wpt PR 52499] - [soft navs] Add smoke test for almost soft navigations.,
Automatic update from web-platform-tests
[soft navs] Add smoke test for almost soft navigations.
These are situations that come very close to a soft navigation,
but fail satisfying one of the criteria - e.g., that the
DOM nodes created must be attached to the DOM. The test
ensures that in these cases, we don't detect a soft nav.
Bug: 416748595
Change-Id: I1a81bf06bb04b1829f8d6c37753d97bb89e308d7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532369
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Reviewed-by: Scott Haseley <shaseley(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459511}
--
wpt-commits: 5c990c46cc35e10c2c7d379d6395c108c238c6c3
wpt-pr: 52499
Differential Revision: https://phabricator.services.mozilla.com/D250148
- - - - -
4bf03d81 by Chengwei Hsieh at 2025-05-20T12:01:19+00:00
Bug 1966174 [wpt PR 52500] - Move sensor WPT tests to run in headless shell,
Automatic update from web-platform-tests
Move sensor WPT tests to run in headless shell
This CL migrates sensor WPT tests to use testdriver.bidi.set_permission
to override the expected sensor permission. This allows those tests to
be run in headless shell.
Bug: 358197788
Change-Id: I03c2cc8702ee03a5170b1bc26f2d67dc53b3694e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6536708
Reviewed-by: Weizhong Xia <weizhong(a)google.com>
Commit-Queue: Jack Hsieh <chengweih(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459521}
--
wpt-commits: 03bf407c770c149d9da57ebabf93e6192db452d3
wpt-pr: 52500
Differential Revision: https://phabricator.services.mozilla.com/D250149
- - - - -
7f96703b by Evan Liu at 2025-05-20T12:01:23+00:00
Bug 1966186 [wpt PR 52503] - Implement Permission Policy & cross-origin check for on-device Web Speech,
Automatic update from web-platform-tests
Implement Permission Policy & cross-origin check for on-device Web Speech
This CL implements a Permission Policy and cross-origin check for the
availableOnDevice() and installOnDevice() of the Web Speech API. These
are some of the anti-fingerprinting countermeasures described in
go/on-device-web-speech-fingerprinting-mitigations.
Bug: 40286514
Change-Id: I766e35e4a38b7602cf037e17607662791abcad1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6533837
Reviewed-by: Fred Shih <ffred(a)chromium.org>
Commit-Queue: Evan Liu <evliu(a)google.com>
Reviewed-by: Ari Chivukula <arichiv(a)chromium.org>
Reviewed-by: Andrey Kosyakov <caseq(a)chromium.org>
Reviewed-by: Daniel Cheng <dcheng(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459582}
--
wpt-commits: 215823256aed1bb2b80402cb08b829e0b81636d0
wpt-pr: 52503
Differential Revision: https://phabricator.services.mozilla.com/D250150
- - - - -
b516c90c by moz-wptsync-bot at 2025-05-20T12:01:27+00:00
Bug 1966186 [wpt PR 52503] - Update wpt metadata,
wpt-pr: 52503
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250151
- - - - -
f8b4c7ca by Sam Davis Omekara (from Dev Box) at 2025-05-20T12:01:30+00:00
Bug 1966194 [wpt PR 52504] - [Gap Decorations]: Parse column-rule shorthands,
Automatic update from web-platform-tests
[Gap Decorations]: Parse column-rule shorthands
This CL augments the parsing logic for `column-rule` to support the new
grammar [1] for gap decorations. According to the new grammar,
`column-rule` can now support list of <gap-rule>s and a <gap-rule> can
be a regular or repeated <gap-rule>.
For the parsing logic, the `ConsumeGapDecorationsRuleShorthand` is the
top-level function responsible for parsing and hydrating the width,
style, and color properties associated with gap decorations. It handles
both repeated and non-repeated values.
To get the computed value as specified, each property is iterated over,
and a corresponding <gap-rule> is constructed at each index.
Subsequent CLs will see us implement serialization,`row-rule` and `rule`
properties.
[1]: https://drafts.csswg.org/css-gaps-1/#propdef-column-rule
Bug: 357648037
Change-Id: Ifd73efe7b3f604e2e53cabb68550cf7241c26e44
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6423813
Commit-Queue: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Reviewed-by: Kevin Babbitt <kbabbitt(a)microsoft.com>
Reviewed-by: Alison Maher <almaher(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1459604}
--
wpt-commits: 5ed8f71616fdfae97e71012198898851c6cf5c88
wpt-pr: 52504
Differential Revision: https://phabricator.services.mozilla.com/D250152
- - - - -
f83928e5 by moz-wptsync-bot at 2025-05-20T12:01:34+00:00
Bug 1966194 [wpt PR 52504] - Update wpt metadata,
wpt-pr: 52504
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250153
- - - - -
b5e42eb3 by Sam Davis Omekara at 2025-05-20T12:01:38+00:00
Bug 1966198 [wpt PR 52505] - [Gap Decorations]: Remove redundant serialization tests,
Automatic update from web-platform-tests
[Gap Decorations]: Remove redundant serialization tests
This CL removes the redundant serialization test for the Gap Decorations
feature. Serialization of these properties are already tested via the
`test_valid_value` helper method [1] which these properties already call
for testing valid values.
[1]:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/…
Bug: 357648037
Change-Id: Ic5367b225c606a2de7e9abb4cd6b916640e6c34d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6534250
Reviewed-by: Javier Contreras <javiercon(a)microsoft.com>
Commit-Queue: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1459617}
--
wpt-commits: 2d6f96a4ebb79aadaf081dbc7a86612d645381fd
wpt-pr: 52505
Differential Revision: https://phabricator.services.mozilla.com/D250154
- - - - -
09cb6312 by Vladimir Levin at 2025-05-20T12:01:42+00:00
Bug 1966211 [wpt PR 52507] - VT interop: Speculative interop fix for a timeout on wpt.fyi,
Automatic update from web-platform-tests
VT interop: Speculative interop fix for a timeout on wpt.fyi
This patch ensures that we wait for the compositor to be ready before
executing the rest of the test.
R=kevers(a)chromium.org
Bug: 394108982
Change-Id: If8a1a5d1fc9823708ce364a095af419187b29d1e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6526067
Reviewed-by: Kevin Ellis <kevers(a)chromium.org>
Commit-Queue: Vladimir Levin <vmpstr(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459637}
--
wpt-commits: d6d1aff6b0b1c4298175238eb0f869c18bcf3ba8
wpt-pr: 52507
Differential Revision: https://phabricator.services.mozilla.com/D250155
- - - - -
0479a093 by Morten Stenshorne at 2025-05-20T12:01:45+00:00
Bug 1966212 [wpt PR 52508] - Ability to check inline/float/OOF without LayoutObject bits.,
Automatic update from web-platform-tests
Ability to check inline/float/OOF without LayoutObject bits.
As pointed out in LayoutBox::IsValidColumnSpanner(), this function may
be called at "inconvenient" times, also before StyleDidChange() has
finished, so we cannot trust the LayoutObject bits for inline-level,
float, or position. Add the ability to provide this information without
checking those bits. The information we need is computed style and
layout object type.
It was possible for the function to return true for `column-span:all`
and `float:left`, which is wrong.
Bug: 417256483
Change-Id: Iaa8903a716a5f9a1d4cc18d42c48680e7fb2c551
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6540050
Commit-Queue: Morten Stenshorne <mstensho(a)chromium.org>
Reviewed-by: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459638}
--
wpt-commits: d5e6a87919e3c8d6c1b52348ff17c64bde2ff849
wpt-pr: 52508
Differential Revision: https://phabricator.services.mozilla.com/D250156
- - - - -
022520bc by Mike Wasserman at 2025-05-20T12:01:49+00:00
Bug 1966215 [wpt PR 52509] - Summarizer API: Fix summarizeStreaming WPT,
Automatic update from web-platform-tests
Summarizer API: Fix summarizeStreaming WPT
Check the concatenated text stream, rather than the last chunk.
Fixed: 417493972
Change-Id: Ia3fde37e011efff04a431e4ef61a3c4d2f3015ad
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542867
Auto-Submit: Mike Wasserman <msw(a)chromium.org>
Commit-Queue: Mike Wasserman <msw(a)chromium.org>
Reviewed-by: Daseul Lee <dslee(a)chromium.org>
Commit-Queue: Daseul Lee <dslee(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459650}
--
wpt-commits: f7e886ebf1bbd6d70af660bdd126fd3238f63274
wpt-pr: 52509
Differential Revision: https://phabricator.services.mozilla.com/D250157
- - - - -
e2b80513 by Johannes Henkel at 2025-05-20T12:01:52+00:00
Bug 1966220 [wpt PR 52510] - [soft navs] Add smoke test for DOM modification support.,
Automatic update from web-platform-tests
[soft navs] Add smoke test for DOM modification support.
For now, this tests that we support Element.innerHTML, Node.appendChild, and Node.insertBefore, Document.importNode, Document.adoptNode, and template element.
This isn't a fix for the bug mentioned here, but hopefully some baby steps towards it. :-)
Bug: 328783345
Change-Id: I4be5de236acc8cf7da37a665b26c77f6f7f218ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532832
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459667}
--
wpt-commits: af1e34f8e178a17780fa230b01f4ecc13a83f107
wpt-pr: 52510
Differential Revision: https://phabricator.services.mozilla.com/D250158
- - - - -
5a5d3427 by Joey Arhar at 2025-05-20T12:01:56+00:00
Bug 1966239 [wpt PR 52511] - Make <input> close <option> and <optgroup>,
Automatic update from web-platform-tests
Make <input> close <option> and <optgroup>
Based on feedback in the <select> parser relaxation HTML spec PR, we
might want to close the <select> on these tags when parsing an <input>:
https://github.com/whatwg/html/pull/10557#issuecomment-2847093540
If the UseCounter shows that usage is low enough, then we could remove
this behavior.
Bug: 402429384
Change-Id: Id8809d40162c7fd06a446e146d65aaf6258d2e5b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6506819
Reviewed-by: Mason Freed <masonf(a)chromium.org>
Commit-Queue: Joey Arhar <jarhar(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459707}
--
wpt-commits: 6c98531aeb946b53b33f623f429115fe324ccc24
wpt-pr: 52511
Differential Revision: https://phabricator.services.mozilla.com/D250159
- - - - -
303f32a8 by Oriol Brufau at 2025-05-20T12:02:00+00:00
Bug 1966127 [wpt PR 52497] - layout: Propagate specified info for flex item,
Automatic update from web-platform-tests
Add tests
Signed-off-by: Oriol Brufau <obrufau(a)igalia.com>
--
wpt-commits: 6b84b385f7b56d626fe2fc678ca685afae173855
wpt-pr: 52497
Differential Revision: https://phabricator.services.mozilla.com/D250160
- - - - -
23dc40c2 by Rune Lillesveen at 2025-05-20T12:02:03+00:00
Bug 1966245 [wpt PR 52512] - Resolve registered <color> values at computed value time,
Automatic update from web-platform-tests
Resolve registered <color> values at computed value time
CSSUnresolvedColorValues were not handled for <color> syntax registered
custom properties, which caused sibling-index() to stay unresolved for
the computed value.
Bug: 417468684
Change-Id: I56b756f2c14f0c25bd2c06a1e51c2cd1b726301f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542706
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Reviewed-by: Kevin Babbitt <kbabbitt(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1459728}
--
wpt-commits: f50c3eff569815947283b0e99ce687600bb80d3b
wpt-pr: 52512
Differential Revision: https://phabricator.services.mozilla.com/D250161
- - - - -
23c474f1 by moz-wptsync-bot at 2025-05-20T12:02:07+00:00
Bug 1966245 [wpt PR 52512] - Update wpt metadata,
wpt-pr: 52512
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250162
- - - - -
ca3586e0 by Rune Lillesveen at 2025-05-20T12:02:11+00:00
Bug 1966249 [wpt PR 52514] - Use TreeCountingChecker when animating font-variation-settings,
Automatic update from web-platform-tests
Use TreeCountingChecker when animating font-variation-settings
Bug: 415626999
Change-Id: If434f09c6eff9cd5ebf1467a7995430f4978cfdd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6538151
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459737}
--
wpt-commits: 061b2f78cd1945d37b5b28cdeb19a8d411aaf6a9
wpt-pr: 52514
Differential Revision: https://phabricator.services.mozilla.com/D250163
- - - - -
869f69b0 by moz-wptsync-bot at 2025-05-20T12:02:15+00:00
Bug 1966249 [wpt PR 52514] - Update wpt metadata,
wpt-pr: 52514
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250164
- - - - -
61b5ec61 by Evan Liu at 2025-05-20T12:02:18+00:00
Bug 1966255 [wpt PR 52515] - Update availableOnDevice() to support alternate locales,
Automatic update from web-platform-tests
Update availableOnDevice() to support alternate locales
This CL updates availableOnDevice() to support alternate locales. Chrome
only has one language pack per language, which will support multiple
different locales of the same language.
Bug: 40286514
Change-Id: I4b7f351a309ac13f207588f887ccc461dd509e6c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6544027
Reviewed-by: Frank Liberato <liberato(a)chromium.org>
Commit-Queue: Evan Liu <evliu(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1459745}
--
wpt-commits: bc59c06f2ba7b324e30ca1bbc3de9c2ce1ea4d83
wpt-pr: 52515
Differential Revision: https://phabricator.services.mozilla.com/D250165
- - - - -
27a2483f by moz-wptsync-bot at 2025-05-20T12:02:22+00:00
Bug 1966255 [wpt PR 52515] - Update wpt metadata,
wpt-pr: 52515
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250166
- - - - -
59ca0b71 by Rune Lillesveen at 2025-05-20T12:02:26+00:00
Bug 1966262 [wpt PR 52518] - Add tree counting conversion checkers to resolution and time,
Automatic update from web-platform-tests
Add tree counting conversion checkers to resolution and time
Additionally add a bunch of sibling-index() tests for registered custom
property animations.
Bug: 415626999
Change-Id: I3f61837d489fa24ded34c044fbfca799f0b85a2c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542786
Reviewed-by: Anders Hartvoll Ruud <andruud(a)chromium.org>
Commit-Queue: Rune Lillesveen <futhark(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459755}
--
wpt-commits: f8f559c04d23a8528b704e3bdfaff70d678b3b8b
wpt-pr: 52518
Differential Revision: https://phabricator.services.mozilla.com/D250167
- - - - -
37663da5 by moz-wptsync-bot at 2025-05-20T12:02:30+00:00
Bug 1966262 [wpt PR 52518] - Update wpt metadata,
wpt-pr: 52518
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250168
- - - - -
98b708fe by junwei at 2025-05-20T12:02:33+00:00
Bug 1966287 [wpt PR 52521] - webnn: fuse QDQ for element-wise max and min on tflite,
Automatic update from web-platform-tests
webnn: fuse QDQ for element-wise max and min on tflite
Input and outputs must all have same scale and zero_point [1].
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/tflite…
Bug: 401281047
Change-Id: Iff6d2b320c2e3d89ee49bb804012908c7c6c706f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6538847
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Commit-Queue: Junwei Fu <junwei.fu(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1459861}
--
wpt-commits: 402053aa09e7a947e11121154ba28e65b0b70749
wpt-pr: 52521
Differential Revision: https://phabricator.services.mozilla.com/D250169
- - - - -
28b5cc58 by Yoav Weiss at 2025-05-20T12:02:37+00:00
Bug 1966291 [wpt PR 52523] - IntegrityPolicy - remove non-secure bypass and add extension tests,
Automatic update from web-platform-tests
IntegrityPolicy - remove non-secure bypass and add extension tests
As a followup to [1], this adds extension browser tests.
While doing that, I realized that Integrity-Policy did not apply to
non-secure pages, which is not what the spec says, nor what we should
be doing. We should not give http:// pages a bypass for security
restrictions.
This CL removes that bypass and adds/changes relevant tests.
[1] https://chromium-review.googlesource.com/c/chromium/src/+/6519619
Bug: 412588111
Change-Id: I8a08ca0997a88074abbe75899669632ef04bf5b0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6538150
Reviewed-by: Camille Lamy <clamy(a)chromium.org>
Reviewed-by: Reilly Grant <reillyg(a)chromium.org>
Reviewed-by: Antonio Sartori <antoniosartori(a)chromium.org>
Commit-Queue: Yoav Weiss (@Shopify) <yoavweiss(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459875}
--
wpt-commits: ca5de11aebbf977479cd705f88238fa331457ed6
wpt-pr: 52523
Differential Revision: https://phabricator.services.mozilla.com/D250170
- - - - -
b907ec27 by moz-wptsync-bot at 2025-05-20T12:02:41+00:00
Bug 1966291 [wpt PR 52523] - Update wpt metadata,
wpt-pr: 52523
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250171
- - - - -
a709c942 by Johannes Henkel at 2025-05-20T12:02:44+00:00
Bug 1966289 [wpt PR 52522] - [soft navs] soft-navigation-helper.js: Apply auto-formatter.,
Automatic update from web-platform-tests
[soft navs] soft-navigation-helper.js: Apply auto-formatter.
Motivation is to make this Javascript file more readable.
Applied these tweaks, which shouldn't change the semantics:
(1) Add semi-colon at the end of each line that's
intended to be a statement.
(2) Add curly-braces around closure bodies e.g.
(t) => resolve(foo)
changes to
(t) => {resolve(foo);}
(3) Remove parenthesis from constructor invocations e.g.
(new Foo()).bar();
changes to
new Foo().bar();
(4) Remove obviously unnecessary indirection e.g.
(list) -> resolve(list)
changes to
resolve.
(5) Auto-formatting.
This messes up 'blame', but I think it's an OK-ish tradeoff?
Please let me know what you think.
Change-Id: I55836d6afe8143696407bec1fa1a8e26d29b6b0b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6542152
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459863}
--
wpt-commits: 2e604c07d6fedd33dbdabd070fef3c7c6cfd644e
wpt-pr: 52522
Differential Revision: https://phabricator.services.mozilla.com/D250172
- - - - -
0bbbd810 by Dominik Röttsches at 2025-05-20T12:02:48+00:00
Bug 1966302 [wpt PR 52525] - Add CSSTest-*.ttf test fonts to third_party test_fonts,
Automatic update from web-platform-tests
Add CSSTest-*.ttf test fonts to third_party test_fonts
Enables improved testing of system font matching, see WPT tests: css/css-fonts/font-family-name-*
Fonts from https://www.w3.org/Style/CSS/Test/Fonts/CSSTest/
Removed local() sources from font-weight-matching.html to
address discrepancy between cssTest fonts published in
[1] and WPT, compare [2].
[1] https://www.w3.org/Style/CSS/Test/Fonts/CSSTest/
[2] https://github.com/web-platform-tests/wpt/pull/9373
Fixed: 414312056
Change-Id: If13bc9e63900f583549f52decf4244bee3e695df
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6512831
Reviewed-by: Thomas Anderson <thomasanderson(a)chromium.org>
Commit-Queue: Dominik Röttsches <drott(a)chromium.org>
Auto-Submit: Dominik Röttsches <drott(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1459911}
--
wpt-commits: 97e27c3f0aaba9ec3e8af9a70f8a6f444337c548
wpt-pr: 52525
Differential Revision: https://phabricator.services.mozilla.com/D250174
- - - - -
6434d0b0 by Noam Rosenthal at 2025-05-20T12:02:52+00:00
Bug 1966340 [wpt PR 52528] - Apply the corner-shape for overflow-clip-margin,
Automatic update from web-platform-tests
Apply the corner-shape for overflow-clip-margin
As per spec, overflow-clip-margin should work the same as a box-shadow,
following the contour of the box.
Ported the existing border-radius+overflow-clip test to use
corner-shape.
R=pdr
Bug: 397459628
Change-Id: Idddcf5c19569cf0ed80616fdb467fd73df772744
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6539810
Reviewed-by: Fredrik Söderquist <fs(a)opera.com>
Commit-Queue: Noam Rosenthal <nrosenthal(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1459966}
--
wpt-commits: b8f6a4649eb1e482750be3f6dfed2129c6345291
wpt-pr: 52528
Differential Revision: https://phabricator.services.mozilla.com/D250175
- - - - -
190ff1ce by moz-wptsync-bot at 2025-05-20T12:02:55+00:00
Bug 1966340 [wpt PR 52528] - Update wpt metadata,
wpt-pr: 52528
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250177
- - - - -
004456b7 by Tim van der Lippe at 2025-05-20T12:02:59+00:00
Bug 1966204 [wpt PR 52506] - Implement inner slot for cryptographic nonce,
Automatic update from web-platform-tests
Implement inner slot for cryptographic nonce
Also update the `html/dom/reflection-metadata.html` test
to handle the case where `nonce` does not reflect back
to the attribute after an IDL change.
Part of #4577
Fixes web-platform-tests/wpt#43286
Signed-off-by: Tim van der Lippe <tvanderlippe(a)gmail.com>
--
wpt-commits: 253dee94a87a8a8467962cb53852fdd99d63a529
wpt-pr: 52506
Differential Revision: https://phabricator.services.mozilla.com/D250179
- - - - -
580b6441 by moz-wptsync-bot at 2025-05-20T12:03:03+00:00
Bug 1966204 [wpt PR 52506] - Update wpt metadata,
wpt-pr: 52506
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250180
- - - - -
2b58ff21 by Marcos Cáceres at 2025-05-20T12:03:06+00:00
Bug 1944430 [wpt PR 50352] - Digital Credentials: small test bug fixes/improvements,
Automatic update from web-platform-tests
Digital Credentials: small test bug fixes/improvements (#50352)
--
wpt-commits: 180c27cfae86b260b0d1e8a61e180dd3e43af5b4
wpt-pr: 50352
Differential Revision: https://phabricator.services.mozilla.com/D250178
- - - - -
8e6aeb0a by Yoav Weiss at 2025-05-20T12:03:10+00:00
Bug 1966364 [wpt PR 52531] - Remove COOP noopener-allow-popups null check, as it is not standard,
Automatic update from web-platform-tests
Remove coop noopener null check, as it is not standard (#52531)
--
wpt-commits: cf76f3198ba2ab212f82b9b57e511bfd9254c910
wpt-pr: 52531
Differential Revision: https://phabricator.services.mozilla.com/D250183
- - - - -
e59e1f1c by zcorpan at 2025-05-20T12:03:14+00:00
Bug 1947696 [wpt PR 50651] - WebRTC: Add variants for SFrameTransform idlharness test,
Automatic update from web-platform-tests
WebRTC: Add variants for SFrameTransform idlharness test
See https://github.com/web-platform-tests/interop/issues/847#issuecomment-24602…
--
wpt-commits: 6b7cd07ee9a3ad1ce849b36bdb882b723fa172d8
wpt-pr: 50651
Differential Revision: https://phabricator.services.mozilla.com/D250184
- - - - -
6688f322 by moz-wptsync-bot at 2025-05-20T12:03:18+00:00
Bug 1947696 [wpt PR 50651] - Update wpt metadata,
wpt-pr: 50651
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250185
- - - - -
54dc8134 by Simon Pieters at 2025-05-20T12:03:21+00:00
Bug 1966106 [wpt PR 52493] - Avoid timeout in iframe loading=lazy navigation.reload test,
Automatic update from web-platform-tests
Avoid timeout in iframe loading=lazy navigation.reload test
If `navigation.reload` is not supported, the `iframe.hidden = false;` line was not reached, so `iframeLoaded` would never resolve.
--
wpt-commits: 99e8d52f36fd76a62a236f6b69c075f524d4e1c8
wpt-pr: 52493
Differential Revision: https://phabricator.services.mozilla.com/D250186
- - - - -
bd5aeb8b by github-actions[bot] at 2025-05-20T12:03:25+00:00
Bug 1966363 [wpt PR 52530] - Sync interfaces/ with @webref/idl 3.63.0,
Automatic update from web-platform-tests
Sync interfaces/ with @webref/idl 3.63.0 (#52530)
Co-authored-by: wpt-pr-bot <wpt-pr-bot(a)users.noreply.github.com>
No change to WPT results.
--
wpt-commits: be7a765aae51b49ce28f0ed066987fe84412c131
wpt-pr: 52530
Differential Revision: https://phabricator.services.mozilla.com/D250187
- - - - -
ac420b90 by Philip Jägenstedt at 2025-05-20T12:03:29+00:00
Bug 1966437 [wpt PR 52439] - Map user-select tests to web-features,
Automatic update from web-platform-tests
Map user-select tests to web-features (#52439)
--
wpt-commits: 3b6a2394538e108a3e9f729f7d4872b702837910
wpt-pr: 52439
Differential Revision: https://phabricator.services.mozilla.com/D250188
- - - - -
35654cb9 by Philip Jägenstedt at 2025-05-20T12:03:33+00:00
Bug 1966439 [wpt PR 52440] - Map requestIdleCallback() tests to web-features,
Automatic update from web-platform-tests
Map requestIdleCallback() tests to web-features (#52440)
--
wpt-commits: 705076356678861389506c09ffc7a8863a0c4a1f
wpt-pr: 52440
Differential Revision: https://phabricator.services.mozilla.com/D250189
- - - - -
fe316013 by Morten Stenshorne at 2025-05-20T12:03:36+00:00
Bug 1966447 [wpt PR 52536] - If an incoming break token is past block-end, so is the outgoing one.,
Automatic update from web-platform-tests
If an incoming break token is past block-end, so is the outgoing one.
This was failing for column balancing at a fragment that was for a
resumed node that had already overflowed, and had a forced break inside.
For this to happen, we need a balanced multicol container inside another
fragmentation context, and break in the outer fragmentation context,
then attempt to rebalance the inner while inside a resumed overflowed
node.
This fixes crashes, but simply avoiding those would leave a correctness
issue behind (since a break inside a parallel flow would have incorrect
impact on the outside). Hence a (rather complicated) correctness test
for this. Without this fix, the test would both fail a DCHECK and (if
bypassed) a CHECK.
Bug: 396176635
Change-Id: I08e4a6ca2832e027daf02f5a7e38e5b3c632a4ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6545960
Reviewed-by: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Commit-Queue: Morten Stenshorne <mstensho(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460130}
--
wpt-commits: faa42db3e4909c01e98f2bec08fa2ebfd621693d
wpt-pr: 52536
Differential Revision: https://phabricator.services.mozilla.com/D250192
- - - - -
78a3017c by Jonathan Lee at 2025-05-20T12:03:40+00:00
Bug 1966463 [wpt PR 52541] - Revert "REVERTME: dry-run documentation workflow",
Automatic update from web-platform-tests
Revert "REVERTME: dry-run documentation workflow"
This reverts commit 7d7982c38b540a78fcf0824d0d36e27352c15a8f.
Looks like the original commit, which stops building docs on `master`,
was only for testing and not meant to be landed.
--
wpt-commits: f55981cb31cb3f34ddc5feccff3ffe7f53e43422
wpt-pr: 52541
Differential Revision: https://phabricator.services.mozilla.com/D250194
- - - - -
26b0134d by Javier Contreras Tenorio at 2025-05-20T12:03:44+00:00
Bug 1966457 [wpt PR 52539] - [gap-decorations] Fix GapDecorations in overflow cases,
Automatic update from web-platform-tests
[gap-decorations] Fix GapDecorations in overflow cases
This CL fixes overflow cases for GapDecorations.
Before this change, if we had a container with GapDecorations, and the
container had overflow (hidden or scroll) we would paint the gap
decorations in the space overflow space where they should instead be
hidden.
The first fix for this was to add a ScopedBoxContentsPaintState and
modify the paint and visual rects to account for the overflow area.
This was not enough to fix the issues however, since part of the reason
why this was happening, was that we were previously painting gap
decorations too far down the stack in the code path where the background
was being painted. This led to us painting the decorations with the same
paint states set up for painting the background.
So we had to move the painting of the gap decorations until after the
background is painted, and setting up our own recorder for it.
Bug: 357648037
Change-Id: I833fae190fbce65e38ba555616591098abc18e25
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6506379
Reviewed-by: Sam Davis Omekara <samomekarajr(a)microsoft.com>
Reviewed-by: Philip Rogers <pdr(a)chromium.org>
Commit-Queue: Javier Contreras <javiercon(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1460141}
--
wpt-commits: abd9a163776051f608aa13338109ef58494d1de3
wpt-pr: 52539
Differential Revision: https://phabricator.services.mozilla.com/D250195
- - - - -
952ff747 by moz-wptsync-bot at 2025-05-20T12:03:48+00:00
Bug 1966457 [wpt PR 52539] - Update wpt metadata,
wpt-pr: 52539
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250196
- - - - -
e4ee7a56 by Noam Rosenthal at 2025-05-20T12:03:52+00:00
Bug 1966460 [wpt PR 52540] - Support corner-shape with shape-outside,
Automatic update from web-platform-tests
Support corner-shape with shape-outside
Take the curvature into account when computing
the BoxShape when there is a corner-shape, and
apply the correct exponent when intercepting.
Bug: 402437726
Change-Id: Ia92727700c376805829e2edadd31e85f85e2820d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6543988
Commit-Queue: Noam Rosenthal <nrosenthal(a)google.com>
Reviewed-by: Fredrik Söderquist <fs(a)opera.com>
Cr-Commit-Position: refs/heads/main@{#1460143}
--
wpt-commits: 8fc6d2f3174998f0dfba6fd937aa84f9564d7055
wpt-pr: 52540
Differential Revision: https://phabricator.services.mozilla.com/D250197
- - - - -
60765497 by moz-wptsync-bot at 2025-05-20T12:03:55+00:00
Bug 1966460 [wpt PR 52540] - Update wpt metadata,
wpt-pr: 52540
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250198
- - - - -
1590e3bf by Philip Jägenstedt at 2025-05-20T12:03:59+00:00
Bug 1966442 [wpt PR 52535] - Map <datalist>, <meter>, and <progress> to web-features,
Automatic update from web-platform-tests
Map <datalist>, <meter>, and <progress> to web-features (#52535)
--
wpt-commits: ad1bb911445e52d0a70275aecbffad36bce5cea4
wpt-pr: 52535
Differential Revision: https://phabricator.services.mozilla.com/D250199
- - - - -
b0884906 by Koji Ishii at 2025-05-20T12:04:03+00:00
Bug 1966471 [wpt PR 52542] - [text-decorations] Fix first-line when there's a paint layer,
Automatic update from web-platform-tests
[text-decorations] Fix first-line when there's a paint layer
An inline box with a paint layer uses `ScopedInlineBoxAncestors`
to synchronize decoration boxes instead of `ScopedInlineItem`.
This code path doesn't need to save decorating boxes, and
thus `saved_decorating_boxes_` is `nullptr`.
Fixes for `::first-line` in crrev.com/c/4545917 and
crrev.com/c/4493872 assumed `saved_decorating_boxes_` exists.
To reduce the complexity, this patch changes
`saved_decorating_boxes_` to be required, and let
`ScopedInlineBoxAncestors` to provide it.
Fixed: 406109047
Change-Id: I0683a666250867f8c4c9fa9271c0d300e38cabf5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6546415
Reviewed-by: Philip Rogers <pdr(a)chromium.org>
Auto-Submit: Koji Ishii <kojii(a)chromium.org>
Commit-Queue: Philip Rogers <pdr(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460175}
--
wpt-commits: 3410c1965134d0a3a1c3164328510b9fa7e3aff1
wpt-pr: 52542
Differential Revision: https://phabricator.services.mozilla.com/D250202
- - - - -
5587f130 by James Graham at 2025-05-20T12:04:07+00:00
Bug 1966379 [wpt PR 52533] - Fix pref install for Firefox Android,
Automatic update from web-platform-tests
Fix pref install for Firefox Android
--
wpt-commits: 3f4a8517af3b047ca875353ca483b634b00d9d15
wpt-pr: 52533
Differential Revision: https://phabricator.services.mozilla.com/D250203
- - - - -
74429efa by Nikos Mouchtaris at 2025-05-20T12:04:11+00:00
Bug 1966500 [wpt PR 52544] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=292954,
Automatic update from web-platform-tests
WebKit export of https://bugs.webkit.org/show_bug.cgi?id=292954 (#52544)
--
wpt-commits: cea07df49e0c50f090ada9bac2328a41ea41afc3
wpt-pr: 52544
Differential Revision: https://phabricator.services.mozilla.com/D250204
- - - - -
0d13ed82 by Johannes Henkel at 2025-05-20T12:04:15+00:00
Bug 1966502 [wpt PR 52545] - Replace 2 tests with a subtest of smoke/tentative/almost-soft-navigation.html.,
Automatic update from web-platform-tests
Replace 2 tests with a subtest of smoke/tentative/almost-soft-navigation.html.
replacestate.tentative.html is already covered with the replace-state
subtest, l. 59 in almost-soft-navigation.html in this change.
soft-navigation-no-url.tentative.html is getting covered with
noUrlPassedToPushState, in this change.
The tests I'm deleting make use of testSoftNavigationNotDetected in soft-navigation-helper.js, the replacements don't. Because the replacements don't wait for a timeout after each of these "almost softnavs" and run in the same doc and browser instance, they should be faster.
I'm also adding a global_test_id variable to make the
actual-softnavigation (which follows each attempted soft navigation)
go to a unique and predictable URL.
Change-Id: Id0d832540cc9293fbbeae2d99fce9a2e6d122a8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6545933
Commit-Queue: Johannes Henkel <johannes(a)chromium.org>
Reviewed-by: Michal Mocny <mmocny(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460312}
--
wpt-commits: 703a840544b310ffeef57ddd0cde54b1937d6151
wpt-pr: 52545
Differential Revision: https://phabricator.services.mozilla.com/D250205
- - - - -
b64e2438 by moz-wptsync-bot at 2025-05-20T12:04:18+00:00
Bug 1966502 [wpt PR 52545] - Update wpt metadata,
wpt-pr: 52545
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250206
- - - - -
95517bc9 by Kiet Ho at 2025-05-20T12:04:22+00:00
Bug 1966247 [wpt PR 52513] - Add anchor positioning visibility tests.,
Automatic update from web-platform-tests
Add anchor positioning visibility tests.
These tests concern a bug in WebKit where an initially hidden anchor-positioned
element (`display: none`, `visibility: hidden` or hidden popover) is not
rendered properly when the element is subsequent shown (by changing `display`,
`visibility` or shown popover). More specifically, the element itself is rendered
but not its descendants. See webkit.org/b/291065.
--
wpt-commits: 268ccfe9e7c99ed4431907cee138a1fc7ea2cc31
wpt-pr: 52513
Differential Revision: https://phabricator.services.mozilla.com/D250208
- - - - -
720cc101 by moz-wptsync-bot at 2025-05-20T12:04:26+00:00
Bug 1966247 [wpt PR 52513] - Update wpt metadata,
wpt-pr: 52513
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250209
- - - - -
854fd2b0 by Mike Wasserman at 2025-05-20T12:04:30+00:00
Bug 1966512 [wpt PR 52546] - Writing Assistance APIs: Move Writer and Rewriter WPTS to external,
Automatic update from web-platform-tests
Writing Assistance APIs: Move Writer and Rewriter WPTS to external
Align with tentative Summarizer WPTs, rename, update meta comments.
Move 'slow' tests into abort and main test files.
Bug: 415105858
Change-Id: I7deb4f94fd1daa0eca4e3c030f75bf8258140659
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6548338
Commit-Queue: Mike Wasserman <msw(a)chromium.org>
Reviewed-by: Daseul Lee <dslee(a)chromium.org>
Auto-Submit: Mike Wasserman <msw(a)chromium.org>
Commit-Queue: Daseul Lee <dslee(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460333}
--
wpt-commits: ed4322108f787a20ff10eb3cec67a3d45adb9fa8
wpt-pr: 52546
Differential Revision: https://phabricator.services.mozilla.com/D250210
- - - - -
fd9d7dbe by moz-wptsync-bot at 2025-05-20T12:04:34+00:00
Bug 1966512 [wpt PR 52546] - Update wpt metadata,
wpt-pr: 52546
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250211
- - - - -
ba05dcff by Ian Kilpatrick at 2025-05-20T12:04:37+00:00
Bug 1966525 [wpt PR 52549] - [wpt] Make justify-items-anonymous non-tentative.,
Automatic update from web-platform-tests
[wpt] Make justify-items-anonymous non-tentative.
CSSWG resolution on Option (1) - the behaviour we changed to in:
https://chromium-review.googlesource.com/c/chromium/src/+/6512658
https://github.com/w3c/csswg-drafts/issues/11461#issuecomment-2880941020
Make test added in that patch non-tentative.
Fixed: 417734173
Change-Id: I4af723d2b39764c77507be038c31214da42f1c69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6548615
Commit-Queue: Morten Stenshorne <mstensho(a)chromium.org>
Reviewed-by: Morten Stenshorne <mstensho(a)chromium.org>
Auto-Submit: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460363}
--
wpt-commits: 8b2e22959d9a7f3c04917a5084d162e95304005c
wpt-pr: 52549
Differential Revision: https://phabricator.services.mozilla.com/D250212
- - - - -
4a36df75 by Rohan Raja at 2025-05-20T12:04:41+00:00
Bug 1966529 [wpt PR 52551] - [Clipboard] - Convert write DOMString to UTF8 for DOMArrayBuffer,
Automatic update from web-platform-tests
[Clipboard] - Convert write DOMString to UTF8 for DOMArrayBuffer
This change fixes a crash in ClipboardWriter when handling DOM strings.
The issue occurred because we were treating a UTF-16 string as UTF-8
when creating a DOMArrayBuffer.
The fix instead uses utf8() method which internally checks for utf-16
string and converts it to utf-8 if required.
Please note that DOMString related WPTs introduced in CL 5759427
have been moved to a separate WPT. This was since the previous WPT which
contained this test has been marked as expected to fail, which was
causing it to not give any test failure signals for this API.
Bug: 415304299
Change-Id: I82af30777da6d48db89dd4e96c51d4704aac6105
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6524201
Reviewed-by: Sambamurthy Bandaru <sambamurthy.bandaru(a)microsoft.com>
Reviewed-by: Dan Clark <daniec(a)microsoft.com>
Commit-Queue: Rohan Raja <roraja(a)microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1460379}
--
wpt-commits: 6db81138f7c724a29779af038df7464b664e41d8
wpt-pr: 52551
Differential Revision: https://phabricator.services.mozilla.com/D250213
- - - - -
90746276 by moz-wptsync-bot at 2025-05-20T12:04:45+00:00
Bug 1966529 [wpt PR 52551] - Update wpt metadata,
wpt-pr: 52551
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250215
- - - - -
62c32f7c by Ian Kilpatrick at 2025-05-20T12:04:49+00:00
Bug 1966531 [wpt PR 52552] - [abspos] Revert absolute auto-margin stretch behaviour.,
Automatic update from web-platform-tests
[abspos] Revert absolute auto-margin stretch behaviour.
This effectively reverts the patch:
https://chromium-review.googlesource.com/c/chromium/src/+/6499966
The CSSWG re-resolved on the old behaviour, modulo potentially <table>
behaving differently.
Updates the tests added in the above test to check the new behavior.
Bug: 413018662
Change-Id: I1e9dc8ef2a8926b34e84e0be79188180a04a8d95
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6546856
Commit-Queue: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Reviewed-by: Morten Stenshorne <mstensho(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460380}
--
wpt-commits: 2bcdcb88bc0fd74806e85a25d412c4cfcea78ef8
wpt-pr: 52552
Differential Revision: https://phabricator.services.mozilla.com/D250216
- - - - -
9e5c774f by moz-wptsync-bot at 2025-05-20T12:04:52+00:00
Bug 1966531 [wpt PR 52552] - Update wpt metadata,
wpt-pr: 52552
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250217
- - - - -
ef26c71f by Ian Kilpatrick at 2025-05-20T12:04:56+00:00
Bug 1966527 [wpt PR 52550] - [align] Fix auto-margins disabling justify-self sizing.,
Automatic update from web-platform-tests
[align] Fix auto-margins disabling justify-self sizing.
This patch changes our behaviour to be in line with:
https://github.com/w3c/csswg-drafts/issues/12102#issuecomment-2880917326
This remove the `has_auto_margins` guards when choosing how an
auto inline-size should resolve.
Bug: 417730391
Change-Id: I06e831e3266f3f4a965b715fce12523ead938015
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6547880
Commit-Queue: Ian Kilpatrick <ikilpatrick(a)chromium.org>
Reviewed-by: Morten Stenshorne <mstensho(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460370}
--
wpt-commits: d99035ccbd9d0f043ea89a496ea58982d45f7c45
wpt-pr: 52550
Differential Revision: https://phabricator.services.mozilla.com/D250218
- - - - -
c04e9fe9 by moz-wptsync-bot at 2025-05-20T12:05:00+00:00
Bug 1966527 [wpt PR 52550] - Update wpt metadata,
wpt-pr: 52550
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250219
- - - - -
1d5112c4 by Yiren Wang at 2025-05-20T12:05:04+00:00
Bug 1966540 [wpt PR 52557] - Initialize speech recognition phrases,
Automatic update from web-platform-tests
Initialize speech recognition phrases
Initialize it to be an empty list so that it can be referenced in
setMode() even if user did not initialize it
Also fix the web platform tests
Bug: 402843982
Change-Id: I5720739970e0685491aef14becd934c4b2ab5e56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6528288
Commit-Queue: Yiren Wang <yrw(a)chromium.org>
Reviewed-by: Evan Liu <evliu(a)google.com>
Cr-Commit-Position: refs/heads/main@{#1460404}
--
wpt-commits: 7a28e6279a8954b6a9d1d3bb5e81afd841763087
wpt-pr: 52557
Differential Revision: https://phabricator.services.mozilla.com/D250220
- - - - -
d8afaa65 by Joshua Bell at 2025-05-20T12:05:08+00:00
Bug 1964763 [wpt PR 52367] - WebNN: Eschew assert_true() in WPTs,
Automatic update from web-platform-tests
WebNN: Eschew assert_true() in WPTs
Don't use assert_true() when a more specific assertion function is
present in testharness.js as you get better diagnostics for free.
Change-Id: Ia7d6f934c4d9f564bf09153022a707b5c4d4225f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6351358
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Commit-Queue: Joshua Bell <jsbell(a)chromium.org>
Cr-Commit-Position: refs/heads/main@{#1460395}
--
wpt-commits: 5d5e27ad811f93891886e618b7b5cbd93267b52d
wpt-pr: 52367
Differential Revision: https://phabricator.services.mozilla.com/D250221
- - - - -
1035e2ec by Wei Wang at 2025-05-20T12:05:12+00:00
Bug 1966567 [wpt PR 52562] - [WebNN] Fuse QDQ for split on tflite,
Automatic update from web-platform-tests
[WebNN] Fuse QDQ for split on tflite
This CL supports fusing `dq->split->q` subgraph on tflite.
Input and output operands have to be dequantized from ints8, the scale
and zero point of input and output have to be scaler. For XNNPack
delegate, the number of outputs should be in the range of [2, 4], but
there is no limitation on the number of outputs for TFLite kernel, so
relax the output number restriction in this CL.
Bug: 401281047
Change-Id: Iec60c9df31c40cb88502dceab551a3581a0adfde
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6532451
Reviewed-by: Phillis Tang <phillis(a)chromium.org>
Reviewed-by: ningxin hu <ningxin.hu(a)intel.com>
Commit-Queue: Wei4 Wang <wei4.wang(a)intel.com>
Cr-Commit-Position: refs/heads/main@{#1460494}
--
wpt-commits: 6869c15e7ee0e35e75bad662971119f46b03e349
wpt-pr: 52562
Differential Revision: https://phabricator.services.mozilla.com/D250222
- - - - -
929c9a0f by Anne van Kesteren at 2025-05-20T12:05:16+00:00
Bug 1966879 [wpt PR 52563] - Remove a second non-standard coop noopener null check,
Automatic update from web-platform-tests
Remove a second non-standard coop noopener null check (#52563)
cf76f3198b missed this.
--
wpt-commits: 8fe01e6388b2afc70e82ac548003c600f4c0c58e
wpt-pr: 52563
Differential Revision: https://phabricator.services.mozilla.com/D250223
- - - - -
9147ce66 by Oriol Brufau at 2025-05-20T12:05:19+00:00
Bug 1966537 [wpt PR 52555] - layout: Obey intrinsic min/max block sizes on flex containers,
Automatic update from web-platform-tests
layout: Obey intrinsic min/max sizes on flex containers
Signed-off-by: Oriol Brufau <obrufau(a)igalia.com>
--
wpt-commits: 55237924389a1a6ebe9acfa82bfe8be807661a3c
wpt-pr: 52555
Differential Revision: https://phabricator.services.mozilla.com/D250224
- - - - -
15dda6d0 by moz-wptsync-bot at 2025-05-20T12:05:23+00:00
Bug 1966537 [wpt PR 52555] - Update wpt metadata,
wpt-pr: 52555
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250225
- - - - -
85613a5c by Maksim Sadym at 2025-05-20T12:05:27+00:00
Bug 1960600 [wpt PR 51998] - [wdspec] Align webdriver/tests/interop/beforeunload_prompt.py with spec,
Automatic update from web-platform-tests
[wdspec] Align webdriver/tests/interop/beforeunload_prompt.py with spec (#51998)
Co-authored-by: Henrik Skupin <mail(a)hskupin.info>
--
wpt-commits: f35a7757cd6ac7720e2a8f10066ac0a8e61dfaf5
wpt-pr: 51998
Differential Revision: https://phabricator.services.mozilla.com/D250226
- - - - -
c65ace1a by moz-wptsync-bot at 2025-05-20T12:05:31+00:00
Bug 1960600 [wpt PR 51998] - Update wpt metadata,
wpt-pr: 51998
wpt-type: metadata
Differential Revision: https://phabricator.services.mozilla.com/D250227
- - - - -
842e084c by moz-wptsync-bot at 2025-05-20T12:05:35+00:00
Bug 1966879 - [wpt-sync] Update web-platform-tests to f35a7757cd6ac7720e2a8f10066ac0a8e61dfaf5,
MANUAL PUSH: wpt sync bot
wpt-head: f35a7757cd6ac7720e2a8f10066ac0a8e61dfaf5
wpt-type: landing
Differential Revision: https://phabricator.services.mozilla.com/D250228
- - - - -
67d910c0 by Dão Gottwald at 2025-05-20T12:06:21+00:00
Bug 1966912 - Remove addTab's `index` alias for the `tabIndex` parameter. r=extension-reviewers,sessionstore-reviewers,tabbrowser-reviewers,robwu,dwalker
Differential Revision: https://phabricator.services.mozilla.com/D249783
- - - - -
25434e6f by Ryan VanderMeulen at 2025-05-20T12:15:55+00:00
Bug 1967292 - Update ktlint to version 1.6.0. r=android-reviewers,mcarare
Differential Revision: https://phabricator.services.mozilla.com/D250064
- - - - -
2644b44e by Julien Cristau at 2025-05-20T12:31:33+00:00
Bug 1840829 - update gecko_decision docker image to 5.0.0. r=releng-reviewers,bhearsum
Changes since 4.1.0:
- adds the orjson python package (bug 1840829)
- now based on debian 12 instead of ubuntu 20.04 (bug 1967222)
- /builds/worker/artifacts is a docker volume (bug 1967232)
Differential Revision: https://phabricator.services.mozilla.com/D250231
- - - - -
4ce6000e by Emma Zuehlcke at 2025-05-20T12:31:59+00:00
Bug 1966727 - Record BTP Nimbus exposure in MODE_ENABLED_DRY_RUN too. r=anti-tracking-reviewers,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D249636
- - - - -
f929afe9 by Alexandru Marc at 2025-05-20T14:01:06+00:00
Revert "Bug 1966459 - Enable close watcher in desktop nightly r=smaug" for causing wpt failures @ idlharness.https.html
This reverts commit a4d8da212e7973aa6a66e13d9e6ded5d814192f5.
- - - - -
55d2fc09 by Alexandru Marc at 2025-05-20T14:01:10+00:00
Revert "Bug 1666613 - Do not rely on intl.css for text direction in parsererror. r=dom-core,hsivonen" for causing mochitest failures @ test_bug1666613.html
This reverts commit c3dfefe04774e26714262b9d44a6d0937ba8e700.
- - - - -
22d58adf by Luca Greco at 2025-05-20T14:04:52+00:00
Bug 1964408 - Scan application scopes early on startup if app-builtin-addons location is missing from addonStartup.json.lz4 data. r=baku,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248116
- - - - -
7f3d9be2 by Luca Greco at 2025-05-20T14:04:56+00:00
Bug 1964408 - Scan application scopes early on startup if expected app-system-builtins entries are missing from the addonStartup.json.lz4 data. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D248117
- - - - -
81aac5ad by Luca Greco at 2025-05-20T14:05:00+00:00
Bug 1964408 - Add additional test coverage for stale/missing xpistate with system-signed updates installed. r=willdurand
Differential Revision: https://phabricator.services.mozilla.com/D249652
- - - - -
bcf33e06 by Luca Greco at 2025-05-20T14:05:04+00:00
Bug 1967273 - Reject clearCacheForExtensionPrincipal when application shutdown is already initiated. r=willdurand
Depends on D249652
Differential Revision: https://phabricator.services.mozilla.com/D250051
- - - - -
7e9ced65 by Jens Stutte at 2025-05-20T14:05:47+00:00
Bug 1963076 - Ignore CCGCScheduler::EnsureGCRunner timer in test_getTimer.js. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D246944
- - - - -
25c88c68 by Xuan Chen at 2025-05-20T14:06:15+00:00
Bug 1967367 - [macOS] Fix build of various simulators. r=anba
On macOS, int64_t is long long while intptr_t is long. Many of the
simulators have only been tested on Linux, so the mixed use of both
types haven't been caught. This problem also affects format strings
as the underlying types of int64_t changes, so macros like PRIx64
have to be used here instead.
Differential Revision: https://phabricator.services.mozilla.com/D250120
- - - - -
3b1326c2 by James Teow at 2025-05-20T14:06:48+00:00
Bug 1967011 - Add ProviderInfo JSDocs to SearchSERPTelemetry - r=scunnane,search-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D249852
- - - - -
752ad46b by Tim Xia at 2025-05-20T14:07:14+00:00
Bug 1961215 - expand/collapse key points that persists across previews - r=Mardak,firefox-ai-ml-reviewers
- integration with opt-in
- fix skeleton alignment issues
- add test for toggle expand/collapse
- update optin telemetry tests
- add key_points_toggle telemetry and tests
- prevent key point generation if in-process or keypoints already exist for the card
Differential Revision: https://phabricator.services.mozilla.com/D249851
- - - - -
dce85a36 by stransky at 2025-05-20T14:07:27+00:00
Bug 1967426 [Linux] Move global DRM formats to DMABufFormats r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D250230
- - - - -
088f8b4b by stransky at 2025-05-20T14:07:31+00:00
Bug 1967432 [Linux] Don't delete GL snapshot from DMABufSurface r=emilio,media-playback-reviewers,padenot
Don't delete GL snapshot from DMABufSurface.
It causes races as we can't ensure correct termination from all threads.
It's better to leak it as it's global object anyway.
Differential Revision: https://phabricator.services.mozilla.com/D250232
- - - - -
04d447a3 by Julien Cristau at 2025-05-20T14:08:13+00:00
Bug 1967322 - don't share test variant's environment across all tasks using it. r=ahal,taskgraph-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D250253
- - - - -
773788e7 by Sean Feng at 2025-05-20T14:49:54+00:00
Bug 1966466 - Fix the strict weak order crash introduced by flattened tree selection r=jjaschke,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D249653
- - - - -
796336d3 by alexandra.virvara at 2025-05-20T14:50:23+00:00
Bug 1952024: composify logins list screen r=android-reviewers,android-l10n-reviewers,sfamisa,delphine
TRY link:: https://treeherder.mozilla.org/jobs?repo=try&revision=2fde9e4d3e9dab5a107b6…
APPROVED patch before git migration:: https://phabricator.services.mozilla.com/D246556
Differential Revision: https://phabricator.services.mozilla.com/D249986
- - - - -
e6773749 by Jari Jalkanen at 2025-05-20T14:50:50+00:00
Bug 1967453: Change tree comparing helpers to act on const arguments. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D250245
- - - - -
c9615bdd by Jari Jalkanen at 2025-05-20T14:51:18+00:00
Bug 1924195: Support multiple anchors with the same name. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D247785
- - - - -
6f2f7a09 by Jon Coppeard at 2025-05-20T14:51:45+00:00
Bug 1966187 - Simplify merging background swept arenas back to main thread r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D249390
- - - - -
140095cc by Ben Dean-Kawamura at 2025-05-20T14:51:59+00:00
Bug 1955298 - uniffi-bindgen-gecko-js: start using the IR pipeline, r=markh,frontend-codestyle-reviewers
Updated the uniffi-bindgen-gecko-js code to use two things I've been
experimenting with:
* Use the IR pipeline code to generate the structs used to render the
templates.
* A new test fixture for bindings generators. This one targets bindings
generators specifically, it doesn't try test the scaffolding code and
it's not based on real-world example code. I originally thought it
would be a single crate, but I ended up needed 2 in order to test
external types. (https://bugzilla.mozilla.org/show_bug.cgi?id=1948961)
Differential Revision: https://phabricator.services.mozilla.com/D242385
- - - - -
f755f791 by Ben Dean-Kawamura at 2025-05-20T14:52:03+00:00
Bug 1965313 - Reimplement enum discriminents, r=bgruber
Differential Revision: https://phabricator.services.mozilla.com/D248491
- - - - -
dc0af1e5 by andrei popa at 2025-05-20T14:52:51+00:00
Bug 1965545 - Fix button text and onClick action mismatch r=android-reviewers,rebecatudor273
Differential Revision: https://phabricator.services.mozilla.com/D250048
- - - - -
7ff8a8ab by Tomislav Jovanovic at 2025-05-20T14:53:19+00:00
Bug 1950636 - Implement MarionetteWebExtensionsProtocolPart r=whimboo,jgraham,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D244400
- - - - -
c9964c44 by Andrej Glavic at 2025-05-20T14:53:58+00:00
Bug 1966943 - Remove unit test from ./mach try perf startup mobile category. r=perftest-reviewers,sparky
Differential Revision: https://phabricator.services.mozilla.com/D249796
- - - - -
973298f3 by Tim Giles Jr at 2025-05-20T14:54:26+00:00
Bug 1955449 - Add Code Connect docs to Storybook and Firefox Source Docs. r=reusable-components-reviewers,hjones,mkennedy
Differential Revision: https://phabricator.services.mozilla.com/D247665
- - - - -
6329e84e by Cristian Tuns at 2025-05-20T14:59:38+00:00
Revert "Bug 1961215 - expand/collapse key points that persists across previews - r=Mardak,firefox-ai-ml-reviewers" for causing bc failures in /browser_link_preview_telemetry.js
This reverts commit 386bdb731e82373ea3b44673feaa5fc8a99aa46f.
- - - - -
b595efaa by Alexandru Marc at 2025-05-20T16:13:35+00:00
Revert "Bug 1967453: Change tree comparing helpers to act on const arguments. r=layout-reviewers,emilio" for causing multiple failures
This reverts commit b2e955e3187be3797493a5471100af4017936828.
- - - - -
38e405dd by Alexandru Marc at 2025-05-20T16:13:38+00:00
Revert "Bug 1952024: composify logins list screen r=android-reviewers,android-l10n-reviewers,sfamisa,delphine" for causing fenix failures @ LoginsMiddlewareTest
This reverts commit 9053b19eaf90fd01a096043d20233d4c6a09e76f.
- - - - -
d4508061 by Alexandru Marc at 2025-05-20T16:15:02+00:00
Revert "Bug 1965313 - Reimplement enum discriminents, r=bgruber" for causing py3 failures
This reverts commit bcf4989b8428c19e4f3f48c158750773b65ec399.
Revert "Bug 1955298 - uniffi-bindgen-gecko-js: start using the IR pipeline, r=markh,frontend-codestyle-reviewers"
This reverts commit 6e1a647b815993c73594edf5a9c9d6e62de0a013.
- - - - -
753cda1c by longsonr at 2025-05-20T16:20:41+00:00
Bug 1964158 - If a filter is not valid, return the original dirty region r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D247798
- - - - -
2f21e3ab by Paul Adenot at 2025-05-20T16:21:08+00:00
Bug 1966129 - Teach about:logging to copy the current settings to the clipboard as a preset URL. r=julienw,desktop-theme-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D249082
- - - - -
71727dbe by Alexandru Marc at 2025-05-20T16:21:35+00:00
Bug 1915293 - Disable test_csp_error_messages.html on Android 7.0 debug for frequent failures r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D249888
- - - - -
bca835e1 by Paul Adenot at 2025-05-20T16:22:01+00:00
Bug 1965563 - Allow clock_gettime(CLOCK_MONOTONIC_RAW, ...) in content processes. r=gcp
Differential Revision: https://phabricator.services.mozilla.com/D250262
- - - - -
9ca96b06 by Byron Jones at 2025-05-20T16:22:13+00:00
Bug 1966432 - Modernise Firefox's README, DONTBUILD r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D249419
- - - - -
09d8c583 by glob at 2025-05-20T16:22:17+00:00
Bug 1966441 - Add Code of Conduct, DONTBUILD r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D249424
- - - - -
e678e9dd by myeongjun at 2025-05-20T16:23:03+00:00
Bug 1956581 - Support collecting and running Android tests in mach-try-perf r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D245447
- - - - -
8b9b25eb by fmasalha at 2025-05-20T16:23:29+00:00
Bug 1961394 Move wallpapers downloading out of Fenix Application r=matt-tighe,android-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D248953
- - - - -
84ec09df by Punam Dahiya at 2025-05-20T16:24:03+00:00
Bug 1967320 - Update runtime metrics JSON file for Fx140 r=home-newtab-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D250085
- - - - -
92cd77d8 by William Durand at 2025-05-20T16:24:30+00:00
Bug 1967509 - Fix typo in recommendations pref. r=mkaply
Differential Revision: https://phabricator.services.mozilla.com/D250267
- - - - -
29478b48 by Mike Hommey at 2025-05-20T16:26:03+00:00
Bug 1942260 - Build node 22 for Linux from source. r=firefox-build-system-reviewers,sergesanspaille
While here, build node 18 on faster workers.
Differential Revision: https://phabricator.services.mozilla.com/D243081
- - - - -
01b72445 by Mark Banner at 2025-05-20T16:26:07+00:00
Bug 1942260 - Use Node 22 for tests on CI. r=firefox-build-system-reviewers,perftest-reviewers,glandium,sparky
Differential Revision: https://phabricator.services.mozilla.com/D250050
- - - - -
d98fdd85 by Alexandru Marc at 2025-05-20T16:44:57+00:00
Revert "Bug 1966129 - Teach about:logging to copy the current settings to the clipboard as a preset URL. r=julienw,desktop-theme-reviewers,emilio" for causing build bustages & lint failures
This reverts commit c0d83d26134d8ea5f8583c4465f0bbccb9446005.
- - - - -
b5bd016f by Nazım Can Altınova at 2025-05-20T16:48:49+00:00
Bug 1967220 - Add a WPT test case for PerformancePaintTiming toJSON r=sefeng
This test case makes sure that we properly serialize the paintTime and
presentationTime attributes that are from PaintTimingMixin.
Differential Revision: https://phabricator.services.mozilla.com/D250018
- - - - -
6dfd856a by Julien Cristau at 2025-05-20T16:49:17+00:00
Bug 1930713 - add tsan suppressions for mesa library on ubuntu 24.04. r=decoder
Silences errors like:
```
WARNING: ThreadSanitizer: data race (pid=1445)
Write of size 1 at 0x721c001edc68 by thread T37 (mutexes: write M0):
#0 pthread_mutex_destroy...
.../builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1344:3 (firefox-bin+0xc509e) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 lp_fence_destroy /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/gallium/drivers/llvmpipe/lp_fence.c:78:4 (libgallium-24.2.8-1ubuntu1~24.04.1.so+0x7ec938) (BuildId: 48f1fa5b9817cc9b1a495564c09ffd548eb36a28)
#2 webrender::renderer::Renderer::draw_frame::h06d982392aac6b6c /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:5054:17 (libxul.so+0xd28a4b6) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#3 webrender::renderer::Renderer::render_impl::h7c8fba6c7d5b5f78 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:1599:17 (libxul.so+0xd2770d3) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#4 webrender::renderer::Renderer::render::h514d05ab824d7d94 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:1283:30 (libxul.so+0xd3004c4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#5 wr_renderer_render /builds/worker/checkouts/gecko/gfx/webrender_bindings/src/bindings.rs:649:11 (libxul.so+0xd3004c4)
#6 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::FrameReadyParams const&, mozilla::wr::RendererStats*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RendererOGL.cpp:220:19 (libxul.so+0x51ef293) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#7 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::FrameReadyParams const&, mozilla::wr::RendererStats*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RendererOGL.cpp:220:19 (libxul.so+0x51ef293) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#8 mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, mozilla::wr::FrameReadyParams const&, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, mozilla::wr::RendererStats*, bool*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:853:31 (libxul.so+0x51edfe0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#9 mozilla::wr::RenderThread::HandleFrameOneDocInner(mozilla::wr::WrWindowId, mozilla::wr::FrameReadyParams const&, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:667:3 (libxul.so+0x51ed83a) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#10 mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, mozilla::wr::FrameReadyParams const&, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:614:3 (libxul.so+0x51eca69) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#11 WrNotifierEvent_HandleNewFrameReady /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:575:3 (libxul.so+0x51ec71f) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#12 mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:536:9 (libxul.so+0x51ec71f)
#13 operator()<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1085:18 (libxul.so+0x3b2276b) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#14 __invoke_impl<nsresult, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x3b2276b)
#15 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x3b2276b)
#16 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x3b2276b)
#17 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x3b2276b)
#18 apply<mozilla::net::Dashboard, nsresult (mozilla::net::Dashboard::*)(mozilla::net::ConnectionData *)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1083:12 (libxul.so+0x3b2276b)
#19 mozilla::detail::RunnableMethodImpl<mozilla::ChildProfilerController*, void (mozilla::ChildProfilerController::*)(mozilla::ProfileAndAdditionalInformation*), true, (mozilla::RunnableKind)0, mozilla::ProfileAndAdditionalInformation*>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1134:13 (libxul.so+0x3b2276b)
#20 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x3969ce4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#21 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3970004) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#22 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:329:5 (libxul.so+0x44b6e68) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#23 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4435ff8) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#24 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4435ff8)
#25 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4435ff8)
#26 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x3965960) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#27 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4b0c8) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
Previous atomic read of size 1 at 0x721c001edc68 by thread T50:
#0 pthread_mutex_lock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1353:3 (firefox-bin+0xc521e) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 mtx_lock /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/c11/impl/threads_posix.c:202:13 (libgallium-24.2.8-1ubuntu1~24.04.1.so+0x1504ec) (BuildId: 48f1fa5b9817cc9b1a495564c09ffd548eb36a28)
Location is heap block of size 112 at 0x721c001edc60 allocated by thread T37:
#0 calloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:686:5 (firefox-bin+0xc1c2b) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 lp_fence_create /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/gallium/drivers/llvmpipe/lp_fence.c:51:29 (libgallium-24.2.8-1ubuntu1~24.04.1.so+0x7ec8dc) (BuildId: 48f1fa5b9817cc9b1a495564c09ffd548eb36a28)
#2 webrender::device::gl::Device::draw_nonindexed_points::h4101a4b71cfd626e /builds/worker/checkouts/gecko/gfx/wr/webrender/src/device/gl.rs:3691:9 (libxul.so+0xce27257) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#3 webrender::renderer::gpu_cache::GpuCacheTexture::flush::hbc05ef381b20bf94 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/gpu_cache.rs:369:17 (libxul.so+0xce27257)
#4 webrender::renderer::gpu_cache::_$LT$impl$u20$webrender..renderer..Renderer$GT$::update_gpu_cache::h7eac41b9b190521c /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/gpu_cache.rs:477:28 (libxul.so+0xce27257)
#5 webrender::renderer::gpu_cache::_$LT$impl$u20$webrender..renderer..Renderer$GT$::prepare_gpu_cache::hfa7e1d1ec0fb7110 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/gpu_cache.rs:511:9 (libxul.so+0xd276e5e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#6 webrender::renderer::Renderer::render_impl::h7c8fba6c7d5b5f78 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:1588:15 (libxul.so+0xd276e5e)
#7 webrender::renderer::Renderer::render::h514d05ab824d7d94 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:1283:30 (libxul.so+0xd3004c4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#8 wr_renderer_render /builds/worker/checkouts/gecko/gfx/webrender_bindings/src/bindings.rs:649:11 (libxul.so+0xd3004c4)
#9 webrender::renderer::Renderer::render::h514d05ab824d7d94 /builds/worker/checkouts/gecko/gfx/wr/webrender/src/renderer/mod.rs:1283:30 (libxul.so+0xd3004c4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#10 wr_renderer_render /builds/worker/checkouts/gecko/gfx/webrender_bindings/src/bindings.rs:649:11 (libxul.so+0xd3004c4)
#11 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::FrameReadyParams const&, mozilla::wr::RendererStats*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RendererOGL.cpp:220:19 (libxul.so+0x51ef293) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#12 mozilla::wr::RendererOGL::UpdateAndRender(mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, bool*, mozilla::wr::FrameReadyParams const&, mozilla::wr::RendererStats*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RendererOGL.cpp:220:19 (libxul.so+0x51ef293) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#13 mozilla::wr::RenderThread::UpdateAndRender(mozilla::wr::WrWindowId, mozilla::layers::BaseTransactionId<mozilla::VsyncIdType> const&, mozilla::TimeStamp const&, mozilla::wr::FrameReadyParams const&, mozilla::Maybe<mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>> const&, mozilla::Maybe<mozilla::wr::ImageFormat> const&, mozilla::Maybe<mozilla::Range<unsigned char>> const&, mozilla::wr::RendererStats*, bool*) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:853:31 (libxul.so+0x51edfe0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#14 mozilla::wr::RenderThread::HandleFrameOneDocInner(mozilla::wr::WrWindowId, mozilla::wr::FrameReadyParams const&, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:667:3 (libxul.so+0x51ed83a) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#15 mozilla::wr::RenderThread::HandleFrameOneDoc(mozilla::wr::WrWindowId, mozilla::wr::FrameReadyParams const&, bool, mozilla::Maybe<mozilla::wr::FramePublishId>) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:614:3 (libxul.so+0x51eca69) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#16 WrNotifierEvent_HandleNewFrameReady /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:575:3 (libxul.so+0x51ec71f) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#17 mozilla::wr::RenderThread::HandleWrNotifierEvents(mozilla::wr::WrWindowId) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:536:9 (libxul.so+0x51ec71f)
#18 operator()<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1085:18 (libxul.so+0x3b2276b) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#19 __invoke_impl<nsresult, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x3b2276b)
#20 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x3b2276b)
#21 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x3b2276b)
#22 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x3b2276b)
#23 apply<mozilla::net::Dashboard, nsresult (mozilla::net::Dashboard::*)(mozilla::net::ConnectionData *)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1083:12 (libxul.so+0x3b2276b)
#24 mozilla::detail::RunnableMethodImpl<mozilla::ChildProfilerController*, void (mozilla::ChildProfilerController::*)(mozilla::ProfileAndAdditionalInformation*), true, (mozilla::RunnableKind)0, mozilla::ProfileAndAdditionalInformation*>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1134:13 (libxul.so+0x3b2276b)
#25 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x3969ce4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#26 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3970004) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#27 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:329:5 (libxul.so+0x44b6e68) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#28 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4435ff8) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#29 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4435ff8)
#30 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4435ff8)
#31 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x3965960) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#32 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4b0c8) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
Mutex M0 (0x726400101a98) created at:
#0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1327:3 (firefox-bin+0xc4ee3) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 mtx_init /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/c11/impl/threads_posix.c:186:9 (libgallium-24.2.8-1ubuntu1~24.04.1.so+0x1504c9) (BuildId: 48f1fa5b9817cc9b1a495564c09ffd548eb36a28)
#2 GetAndInitDisplay /builds/worker/checkouts/gecko/gfx/gl/GLLibraryEGL.cpp:169:10 (libxul.so+0x4bcb491) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#3 mozilla::gl::GLLibraryEGL::CreateDisplayLocked(bool, bool, nsTSubstring<char>*, mozilla::detail::BaseAutoLock<mozilla::StaticMutex&> const&) /builds/worker/checkouts/gecko/gfx/gl/GLLibraryEGL.cpp:960:13 (libxul.so+0x4bcb491)
#4 mozilla::gl::GLLibraryEGL::CreateDisplay(bool, bool, nsTSubstring<char>*) /builds/worker/checkouts/gecko/gfx/gl/GLLibraryEGL.cpp:882:10 (libxul.so+0x4bc042e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#5 mozilla::gl::GLContextEGLFactory::CreateImpl(void*, bool, bool) /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:231:25 (libxul.so+0x4bbf8e2) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#6 Create /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:320:7 (libxul.so+0x4bc6287) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#7 mozilla::gl::GLContextProviderEGL::CreateForCompositorWidget(mozilla::widget::CompositorWidget*, bool, bool) /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:1009:10 (libxul.so+0x4bc6287)
#8 CreateGLContextEGL /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1691:7 (libxul.so+0x51f13d0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#9 CreateGLContext /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1723:10 (libxul.so+0x51f13d0)
#10 mozilla::wr::RenderThread::CreateSingletonGL(nsTSubstring<char>&) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1449:18 (libxul.so+0x51f13d0)
#11 mozilla::wr::RenderThread::InitDeviceTask() /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1278:3 (libxul.so+0x51e925e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#12 __invoke_impl<nsresult, nsresult (nsIThread::*const &)(), nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:73:14 (libxul.so+0x441de04) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#13 __invoke<nsresult (nsIThread::*const &)(), nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x441de04)
#14 operator()<nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/functional:114:11 (libxul.so+0x441de04)
#15 __invoke_impl<nsresult, std::_Mem_fn<nsresult (nsIThread::*)()>, nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x441de04)
#16 __invoke<std::_Mem_fn<nsresult (nsIThread::*)()>, nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x441de04)
#17 __apply_impl<std::_Mem_fn<nsresult (nsIThread::*)()>, std::tuple<nsCOMPtr<nsIThread> &>, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x441de04)
#18 apply<std::_Mem_fn<nsresult (nsIThread::*)()>, std::tuple<nsCOMPtr<nsIThread> &> > /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x441de04)
#19 mozilla::runnable_args_memfn<RefPtr<mozilla::MediaPipeline>, void (mozilla::MediaPipeline::*)()>::RunInternal() /builds/worker/checkouts/gecko/dom/media/webrtc/transport/runnable_utils.h:121:5 (libxul.so+0x441de04)
#20 mozilla::detail::runnable_args_base<(mozilla::detail::RunnableResult)0>::Run() /builds/worker/checkouts/gecko/dom/media/webrtc/transport/runnable_utils.h:41:5 (libxul.so+0x441dcae) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#21 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x3969ce4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#22 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3970004) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#23 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:329:5 (libxul.so+0x44b6e68) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#24 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4435ff8) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#25 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4435ff8)
#26 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4435ff8)
#27 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x3965960) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#28 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4b0c8) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
Thread T37 'Renderer' (tid=1503, running) created by main thread at:
#0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (firefox-bin+0xc3511) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:429:10 (libnspr4.so+0x423ce) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
#2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:496:10 (libnspr4.so+0x376d4) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
#3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:615:20 (libxul.so+0x3967107) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, nsIThreadManager::ThreadCreationOptions, nsIThread**) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadManager.cpp:619:22 (libxul.so+0x396ec7e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, nsIThreadManager::ThreadCreationOptions) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:176:57 (libxul.so+0x397646c) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#6 NS_NewNamedThread<9UL> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:76:10 (libxul.so+0x51e8e88) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#7 mozilla::wr::RenderThread::Start(unsigned int) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:141:17 (libxul.so+0x51e8e88)
#8 gfxPlatform::InitLayersIPC() /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:1344:7 (libxul.so+0x505e1f2) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#9 gfxPlatform::Init() /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:973:3 (libxul.so+0x505bd1f) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#10 GetPlatform /builds/worker/workspace/obj-build/dist/include/gfxPlatform.h:184:7 (libxul.so+0x8f19532) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#11 mozilla::widget::GfxInfoBase::GetContentBackend(nsTSubstring<char16_t>&) /builds/worker/checkouts/gecko/widget/GfxInfoBase.cpp:1809:25 (libxul.so+0x8f19532)
#12 NS_InvokeByIndex /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:101 (libxul.so+0x3991705) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#13 GetAttribute /builds/worker/checkouts/gecko/js/xpconnect/src/xpcprivate.h:1451:12 (libxul.so+0x460a548) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#14 XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1006:10 (libxul.so+0x460a548)
#15 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:494:13 (libxul.so+0xa14377b) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#16 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:590:12 (libxul.so+0xa14377b)
#17 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:657:10 (libxul.so+0xa144420) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#18 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:689:8 (libxul.so+0xa144420)
#19 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:811:10 (libxul.so+0xa1450ff) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#20 CallGetter /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2092:12 (libxul.so+0xa3061bf) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#21 GetExistingProperty<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2120:12 (libxul.so+0xa3061bf)
#22 NativeGetPropertyInline<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2273:14 (libxul.so+0xa3061bf)
#23 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2303:10 (libxul.so+0xa3061bf)
#24 GetElementOperationWithStackIndex /builds/worker/checkouts/gecko/js/src/vm/Interpreter-inl.h (libxul.so+0xa1507fa) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#25 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3076:12 (libxul.so+0xa1507fa)
#26 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa142ce0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#27 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:464:13 (libxul.so+0xa142ce0)
#28 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:622:13 (libxul.so+0xa143860) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#29 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:657:10 (libxul.so+0xa144420) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#30 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:689:8 (libxul.so+0xa144420)
#31 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:811:10 (libxul.so+0xa1450ff) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#32 CallGetter /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2092:12 (libxul.so+0xa3061bf) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#33 GetExistingProperty<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2120:12 (libxul.so+0xa3061bf)
#34 NativeGetPropertyInline<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2273:14 (libxul.so+0xa3061bf)
#35 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2303:10 (libxul.so+0xa3061bf)
#36 GetProperty /builds/worker/checkouts/gecko/js/src/vm/ObjectOperations-inl.h:113:10 (libxul.so+0xa15e9df) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#37 GetProperty /builds/worker/checkouts/gecko/js/src/vm/ObjectOperations-inl.h:120:10 (libxul.so+0xa15e9df)
#38 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:4630:10 (libxul.so+0xa15e9df)
#39 GetPropertyOperation /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:280:10 (libxul.so+0xa14ee5b) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#40 js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:2941:12 (libxul.so+0xa14ee5b)
#41 MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:395:10 (libxul.so+0xa142ce0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#42 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:464:13 (libxul.so+0xa142ce0)
#43 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:622:13 (libxul.so+0xa143860) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#44 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:657:10 (libxul.so+0xa144420) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#45 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:689:8 (libxul.so+0xa144420)
#46 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CallAndConstruct.cpp:55:10 (libxul.so+0xa1e824e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#47 nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedJSClass.cpp:918:17 (libxul.so+0x46000e1) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#48 PrepareAndDispatch /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:115:37 (libxul.so+0x399272f) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#49 SharedStub xptcstubs_x86_64_linux.cpp (libxul.so+0x3991a62) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#50 nsXREDirProvider::DoStartup() /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:653:11 (libxul.so+0x9fefbc5) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#51 XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5674:18 (libxul.so+0x9fdcba5) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#52 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:6142:8 (libxul.so+0x9fddcdb) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#53 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:6215:21 (libxul.so+0x9fde4bd) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#54 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:46:12 (libxul.so+0x9fecb12) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#55 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:232:22 (firefox-bin+0x146e65) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#56 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:464:16 (firefox-bin+0x146e65)
Thread T50 'llvmpipe-0' (tid=1517, running) created by thread T37 at:
#0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1023:3 (firefox-bin+0xc3511) (BuildId: 74918b8d36a8ceb86eaccd2c7274bee2f575320d)
#1 thrd_create /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/c11/impl/threads_posix.c:278:9 (libgallium-24.2.8-1ubuntu1~24.04.1.so+0x150564) (BuildId: 48f1fa5b9817cc9b1a495564c09ffd548eb36a28)
#2 mozilla::gl::GLContextEGL::CreateGLContext(std::shared_ptr<mozilla::gl::EglDisplay>, mozilla::gl::GLContextDesc const&, void*, void*, bool, void*, nsTSubstring<char>*) /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:731:17 (libxul.so+0x4bc2b9f) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#3 mozilla::gl::GLContextEGLFactory::CreateImpl(void*, bool, bool) /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:284:29 (libxul.so+0x4bbfc50) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#4 Create /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:320:7 (libxul.so+0x4bc6287) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#5 mozilla::gl::GLContextProviderEGL::CreateForCompositorWidget(mozilla::widget::CompositorWidget*, bool, bool) /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:1009:10 (libxul.so+0x4bc6287)
#6 CreateGLContextEGL /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1691:7 (libxul.so+0x51f13d0) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#7 CreateGLContext /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1723:10 (libxul.so+0x51f13d0)
#8 mozilla::wr::RenderThread::CreateSingletonGL(nsTSubstring<char>&) /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1449:18 (libxul.so+0x51f13d0)
#9 mozilla::wr::RenderThread::InitDeviceTask() /builds/worker/checkouts/gecko/gfx/webrender_bindings/RenderThread.cpp:1278:3 (libxul.so+0x51e925e) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#10 __invoke_impl<nsresult, nsresult (nsIThread::*const &)(), nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:73:14 (libxul.so+0x441de04) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#11 __invoke<nsresult (nsIThread::*const &)(), nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x441de04)
#12 operator()<nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/functional:114:11 (libxul.so+0x441de04)
#13 __invoke_impl<nsresult, std::_Mem_fn<nsresult (nsIThread::*)()>, nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x441de04)
#14 __invoke<std::_Mem_fn<nsresult (nsIThread::*)()>, nsCOMPtr<nsIThread> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x441de04)
#15 __apply_impl<std::_Mem_fn<nsresult (nsIThread::*)()>, std::tuple<nsCOMPtr<nsIThread> &>, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x441de04)
#16 apply<std::_Mem_fn<nsresult (nsIThread::*)()>, std::tuple<nsCOMPtr<nsIThread> &> > /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x441de04)
#17 mozilla::runnable_args_memfn<RefPtr<mozilla::MediaPipeline>, void (mozilla::MediaPipeline::*)()>::RunInternal() /builds/worker/checkouts/gecko/dom/media/webrtc/transport/runnable_utils.h:121:5 (libxul.so+0x441de04)
#18 mozilla::detail::runnable_args_base<(mozilla::detail::RunnableResult)0>::Run() /builds/worker/checkouts/gecko/dom/media/webrtc/transport/runnable_utils.h:41:5 (libxul.so+0x441dcae) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#19 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1153:16 (libxul.so+0x3969ce4) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#20 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3970004) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#21 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:329:5 (libxul.so+0x44b6e68) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#22 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:369:10 (libxul.so+0x4435ff8) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#23 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:362:3 (libxul.so+0x4435ff8)
#24 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:344:3 (libxul.so+0x4435ff8)
#25 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:366:10 (libxul.so+0x3965960) (BuildId: 56619bb04b5235f9bbf08dcb266df9f74e131a37)
#26 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:191:3 (libnspr4.so+0x4b0c8) (BuildId: 547b6ba24355d61349081fac5945ac4a423606a2)
ThreadSanitizer: data race /usr/src/mesa-24.2.8-1ubuntu1~24.04.1/build/../src/gallium/drivers/llvmpipe/lp_fence.c:78:4 in lp_fence_destroy
```
Differential Revision: https://phabricator.services.mozilla.com/D250054
- - - - -
dbef1a2f by Edgar Chen at 2025-05-20T17:00:33+00:00
Bug 1967387 - Make Make test_fullscreen_display_none test in browser_fullscreen_warning.js more reliable; r=smaug
There’s no guarantee that the fullscreen warning has already been closed when
the chrome document leaves fullscreen, because the warning is actually dismissed
after the content document exits fullscreen as well. So we wait explicitly for it
to be closed.
Differential Revision: https://phabricator.services.mozilla.com/D250270
- - - - -
601 changed files:
- .taskcluster.yml
- + CODE_OF_CONDUCT.md
- + README.md
- − README.txt
- browser/app/profile/firefox.js
- browser/base/content/appmenu-viewcache.inc.xhtml
- browser/base/content/browser-addons.js
- browser/base/content/browser-menubar.inc
- browser/base/content/browser-sets.inc
- browser/base/content/browser-sets.js
- browser/base/content/main-popupset.inc.xhtml
- browser/base/content/main-popupset.js
- browser/base/content/nsContextMenu.sys.mjs
- browser/base/content/test/fullscreen/browser.toml
- browser/base/content/test/fullscreen/browser_fullscreen_warning.js
- browser/components/asrouter/tests/browser/browser_asrouter_experimentsAPILoader.js
- browser/components/customizableui/ToolbarContextMenu.sys.mjs
- browser/components/enterprisepolicies/Policies.sys.mjs
- browser/components/extensions/parent/ext-tabs.js
- browser/components/extensions/test/browser/browser.toml
- browser/components/extensions/test/browser/browser_unified_extensions.js
- + browser/components/extensions/test/browser/browser_unified_extensions_appmenu_item.js
- browser/components/extensions/test/browser/browser_unified_extensions_button_visibility.js
- browser/components/extensions/test/browser/head_unified_extensions.js
- browser/components/genai/LinkPreview.sys.mjs
- browser/components/genai/tests/browser/browser_link_preview.js
- browser/components/newtab/metrics.yaml
- browser/components/preferences/tests/browser_search_userEngineDialog.js
- browser/components/search/SearchSERPTelemetry.sys.mjs
- browser/components/search/content/addEngine.js
- browser/components/search/test/browser/browser_addSearchEngineFromForm.js
- browser/components/sessionstore/SessionStore.sys.mjs
- browser/components/storybook/.storybook/main.js
- + browser/components/storybook/docs/README.figma-code-connect.stories.md
- + browser/components/storybook/docs/img/figma-component-set-example.png
- + browser/components/storybook/docs/img/figma-diamond-example.png
- + browser/components/storybook/docs/img/figma-go-to-main-component-one.png
- + browser/components/storybook/docs/img/figma-go-to-main-component-two.png
- browser/components/tabbrowser/content/tabbrowser.js
- browser/components/tabbrowser/test/browser/tabs/browser_addTab_index.js
- browser/components/tabbrowser/test/browser/tabs/browser_tab_groups.js
- browser/components/tabbrowser/test/browser/tabs/browser_tab_groups_telemetry.js
- browser/components/urlbar/QuickSuggest.sys.mjs
- browser/components/urlbar/UrlbarPrefs.sys.mjs
- browser/components/urlbar/UrlbarView.sys.mjs
- browser/components/urlbar/private/MDNSuggestions.sys.mjs
- browser/components/urlbar/tests/quicksuggest/QuickSuggestTestUtils.sys.mjs
- browser/components/urlbar/tests/quicksuggest/browser/browser_quicksuggest_configuration.js
- browser/components/urlbar/tests/quicksuggest/browser/browser_telemetry_environment.js
- browser/components/urlbar/tests/quicksuggest/unit/head.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_exposures.js
- browser/components/urlbar/tests/quicksuggest/unit/test_quicksuggest_offlineDefault.js
- browser/docs/index.rst
- browser/extensions/newtab/.eslintrc.js
- browser/extensions/newtab/content-src/components/CustomizeMenu/ContentSection/ContentSection.jsx
- browser/extensions/newtab/content-src/components/WallpapersSection/WallpaperCategories.jsx → browser/extensions/newtab/content-src/components/WallpaperCategories/WallpaperCategories.jsx
- browser/extensions/newtab/content-src/components/WallpapersSection/_WallpapersSection.scss → browser/extensions/newtab/content-src/components/WallpaperCategories/_WallpaperCategories.scss
- − browser/extensions/newtab/content-src/components/WallpapersSection/WallpapersSection.jsx
- browser/extensions/newtab/content-src/styles/activity-stream.scss
- browser/extensions/newtab/data/content/activity-stream.bundle.js
- browser/extensions/newtab/karma.mc.config.js
- browser/extensions/newtab/lib/ActivityStream.sys.mjs
- browser/extensions/newtab/lib/DiscoveryStreamFeed.sys.mjs
- browser/extensions/newtab/lib/TelemetryFeed.sys.mjs
- browser/extensions/newtab/test/xpcshell/test_TelemetryFeed.js
- browser/extensions/newtab/webext-glue/metrics/runtime-metrics-138.json → browser/extensions/newtab/webext-glue/metrics/runtime-metrics-140.json
- browser/locales/en-US/browser/appmenu.ftl
- browser/locales/en-US/browser/confirmationHints.ftl
- browser/locales/en-US/browser/menubar.ftl
- browser/locales/en-US/browser/toolbarContextMenu.ftl
- browser/locales/l10n-changesets.json
- build/moz.configure/warnings.configure
- build/sanitizers/AsanOptions.cpp
- build/sanitizers/TsanOptions.cpp
- devtools/client/debugger/test/mochitest/browser_dbg-event-breakpoints.js
- devtools/client/debugger/test/mochitest/examples/doc-event-breakpoints.html
- devtools/client/debugger/test/mochitest/examples/event-breakpoints.js
- devtools/server/actors/utils/event-breakpoints.js
- + docs/readme/readme-banner.svg
- docshell/shistory/SessionHistoryEntry.cpp
- docshell/shistory/nsSHEntry.cpp
- + dom/base/crashtests/1966466.html
- dom/base/crashtests/crashtests.list
- dom/base/nsContentUtils.cpp
- dom/canvas/WebGLContext.cpp
- dom/canvas/WebGLContext.h
- + dom/events/test/file_bug422132.html
- dom/events/test/mochitest.toml
- dom/events/test/test_bug422132.html
- dom/media/platforms/ffmpeg/FFmpegLibWrapper.cpp
- dom/media/platforms/ffmpeg/FFmpegVideoFramePool.cpp
- dom/media/platforms/ffmpeg/FFmpegVideoFramePool.h
- dom/media/platforms/ffmpeg/VALibWrapper.cpp
- dom/media/webrtc/tests/mochitests/stats.js
- dom/media/webrtc/tests/mochitests/test_peerConnection_iceCandidateSelection.html
- dom/media/webrtc/transport/third_party/nICEr/src/ice/ice_candidate_pair.c
- dom/media/webrtc/transport/third_party/nICEr/src/ice/ice_candidate_pair.h
- dom/media/webrtc/transport/third_party/nICEr/src/ice/ice_component.c
- dom/security/nsCSPUtils.cpp
- dom/security/nsCSPUtils.h
- dom/security/nsHTTPSOnlyUtils.cpp
- dom/security/test/csp/mochitest.toml
- dom/webgpu/ExternalTextureDMABuf.cpp
- dom/webidl/ElementInternals.webidl
- editor/libeditor/tests/test_bug795785.html
- gfx/gl/GLBlitHelper.cpp
- gfx/gl/GLLibraryEGL.cpp
- gfx/gl/SharedSurface.cpp
- gfx/gl/SharedSurfaceDMABUF.cpp
- gfx/layers/CanvasRenderer.cpp
- gfx/layers/ipc/CanvasTranslator.cpp
- gfx/thebes/gfxPlatformGtk.cpp
- gradle/libs.versions.toml
- js/src/gc/Allocator.cpp
- js/src/gc/ArenaList-inl.h
- js/src/gc/ArenaList.h
- js/src/gc/GC-inl.h
- js/src/gc/Sweeping.cpp
- js/src/jit/loong64/Simulator-loong64.cpp
- js/src/jit/loong64/Simulator-loong64.h
- js/src/jit/mips64/Simulator-mips64.cpp
- js/src/jit/mips64/Simulator-mips64.h
- js/src/jit/riscv64/Assembler-riscv64.cpp
- js/src/jit/riscv64/Assembler-riscv64.h
- js/src/jit/riscv64/MacroAssembler-riscv64.cpp
- js/src/jit/riscv64/Simulator-riscv64.cpp
- layout/base/PresShell.cpp
- layout/base/PresShell.h
- layout/forms/test/test_bug717878_input_scroll.html
- layout/painting/nsDisplayList.cpp
- layout/reftests/bugs/1553571-1.html
- layout/style/nsMediaFeatures.cpp
- layout/svg/FilterInstance.cpp
- memory/build/mozjemalloc.cpp
- mobile/android/android-components/components/compose/browser-toolbar/src/main/res/values-hu/strings.xml
- mobile/android/android-components/components/concept/engine/src/main/java/mozilla/components/concept/engine/InputResultDetail.kt
- mobile/android/android-components/components/service/pocket/src/test/java/mozilla/components/service/pocket/mars/db/SponsoredContentsDaoTest.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/helpers/AppAndSystemHelper.kt
- mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/perf/StartupExcessiveResourceUseTest.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/compose/Banner.kt
- mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayBanner.kt
- mobile/android/fenix/app/src/main/res/values-bg/strings.xml
- mobile/android/fenix/app/src/main/res/values-bqi/strings.xml
- mobile/android/fenix/app/src/main/res/values-cy/strings.xml
- mobile/android/fenix/app/src/main/res/values-de/strings.xml
- mobile/android/fenix/app/src/main/res/values-dsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/fenix/app/src/main/res/values-et/strings.xml
- mobile/android/fenix/app/src/main/res/values-gl/strings.xml
- mobile/android/fenix/app/src/main/res/values-hsb/strings.xml
- mobile/android/fenix/app/src/main/res/values-hu/strings.xml
- mobile/android/fenix/app/src/main/res/values-ko/strings.xml
- mobile/android/fenix/app/src/main/res/values-pt-rPT/strings.xml
- mobile/android/fenix/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/fenix/app/src/main/res/values-tg/strings.xml
- mobile/android/fenix/app/src/main/res/values-ug/strings.xml
- + mobile/android/fenix/automation/taskcluster/androidTest/flank-arm64-v8a-macrobenchmark.yml
- mobile/android/fenix/benchmark/src/main/java/org/mozilla/fenix/benchmark/BaselineProfilesStartupBenchmark.kt
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/cookiebannerreducer/CookieBannerReducerItem.kt
- mobile/android/focus-android/app/src/main/java/org/mozilla/focus/settings/privacy/PrivacySecuritySettingsFragment.kt
- mobile/android/focus-android/app/src/main/res/values-ace/strings.xml
- mobile/android/focus-android/app/src/main/res/values-am/strings.xml
- mobile/android/focus-android/app/src/main/res/values-anp/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ar/strings.xml
- mobile/android/focus-android/app/src/main/res/values-be/strings.xml
- mobile/android/focus-android/app/src/main/res/values-bg/strings.xml
- mobile/android/focus-android/app/src/main/res/values-bs/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ca/strings.xml
- mobile/android/focus-android/app/src/main/res/values-cak/strings.xml
- mobile/android/focus-android/app/src/main/res/values-co/strings.xml
- mobile/android/focus-android/app/src/main/res/values-cs/strings.xml
- mobile/android/focus-android/app/src/main/res/values-cy/strings.xml
- mobile/android/focus-android/app/src/main/res/values-da/strings.xml
- mobile/android/focus-android/app/src/main/res/values-de/strings.xml
- mobile/android/focus-android/app/src/main/res/values-dsb/strings.xml
- mobile/android/focus-android/app/src/main/res/values-el/strings.xml
- mobile/android/focus-android/app/src/main/res/values-en-rCA/strings.xml
- mobile/android/focus-android/app/src/main/res/values-en-rGB/strings.xml
- mobile/android/focus-android/app/src/main/res/values-eo/strings.xml
- mobile/android/focus-android/app/src/main/res/values-es-rAR/strings.xml
- mobile/android/focus-android/app/src/main/res/values-es-rCL/strings.xml
- mobile/android/focus-android/app/src/main/res/values-es-rES/strings.xml
- mobile/android/focus-android/app/src/main/res/values-es-rMX/strings.xml
- mobile/android/focus-android/app/src/main/res/values-et/strings.xml
- mobile/android/focus-android/app/src/main/res/values-eu/strings.xml
- mobile/android/focus-android/app/src/main/res/values-fa/strings.xml
- mobile/android/focus-android/app/src/main/res/values-fi/strings.xml
- mobile/android/focus-android/app/src/main/res/values-fr/strings.xml
- mobile/android/focus-android/app/src/main/res/values-fur/strings.xml
- mobile/android/focus-android/app/src/main/res/values-fy-rNL/strings.xml
- mobile/android/focus-android/app/src/main/res/values-gl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-hi-rIN/strings.xml
- mobile/android/focus-android/app/src/main/res/values-hr/strings.xml
- mobile/android/focus-android/app/src/main/res/values-hsb/strings.xml
- mobile/android/focus-android/app/src/main/res/values-hu/strings.xml
- mobile/android/focus-android/app/src/main/res/values-hy-rAM/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ia/strings.xml
- mobile/android/focus-android/app/src/main/res/values-in/strings.xml
- mobile/android/focus-android/app/src/main/res/values-is/strings.xml
- mobile/android/focus-android/app/src/main/res/values-it/strings.xml
- mobile/android/focus-android/app/src/main/res/values-iw/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ixl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ja/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ka/strings.xml
- mobile/android/focus-android/app/src/main/res/values-kab/strings.xml
- mobile/android/focus-android/app/src/main/res/values-kk/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ko/strings.xml
- mobile/android/focus-android/app/src/main/res/values-kw/strings.xml
- mobile/android/focus-android/app/src/main/res/values-lo/strings.xml
- mobile/android/focus-android/app/src/main/res/values-lt/strings.xml
- mobile/android/focus-android/app/src/main/res/values-meh/strings.xml
- mobile/android/focus-android/app/src/main/res/values-mix/strings.xml
- mobile/android/focus-android/app/src/main/res/values-nb-rNO/strings.xml
- mobile/android/focus-android/app/src/main/res/values-nl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-nn-rNO/strings.xml
- mobile/android/focus-android/app/src/main/res/values-oc/strings.xml
- mobile/android/focus-android/app/src/main/res/values-pa-rIN/strings.xml
- mobile/android/focus-android/app/src/main/res/values-pl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ppl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-pt-rBR/strings.xml
- mobile/android/focus-android/app/src/main/res/values-quc/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ru/strings.xml
- mobile/android/focus-android/app/src/main/res/values-scn/strings.xml
- mobile/android/focus-android/app/src/main/res/values-si/strings.xml
- mobile/android/focus-android/app/src/main/res/values-sk/strings.xml
- mobile/android/focus-android/app/src/main/res/values-skr/strings.xml
- mobile/android/focus-android/app/src/main/res/values-sl/strings.xml
- mobile/android/focus-android/app/src/main/res/values-sq/strings.xml
- mobile/android/focus-android/app/src/main/res/values-sr/strings.xml
- mobile/android/focus-android/app/src/main/res/values-su/strings.xml
- mobile/android/focus-android/app/src/main/res/values-sv-rSE/strings.xml
- mobile/android/focus-android/app/src/main/res/values-te/strings.xml
- mobile/android/focus-android/app/src/main/res/values-tg/strings.xml
- mobile/android/focus-android/app/src/main/res/values-th/strings.xml
- mobile/android/focus-android/app/src/main/res/values-tr/strings.xml
- mobile/android/focus-android/app/src/main/res/values-trs/strings.xml
- mobile/android/focus-android/app/src/main/res/values-tsz/strings.xml
- mobile/android/focus-android/app/src/main/res/values-tt/strings.xml
- mobile/android/focus-android/app/src/main/res/values-uk/strings.xml
- mobile/android/focus-android/app/src/main/res/values-ur/strings.xml
- mobile/android/focus-android/app/src/main/res/values-vi/strings.xml
- mobile/android/focus-android/app/src/main/res/values-yua/strings.xml
- mobile/android/focus-android/app/src/main/res/values-zh-rCN/strings.xml
- mobile/android/focus-android/app/src/main/res/values-zh-rHK/strings.xml
- mobile/android/focus-android/app/src/main/res/values-zh-rTW/strings.xml
- mobile/locales/l10n-changesets.json
- modules/libpref/init/StaticPrefList.yaml
- modules/libpref/init/all.js
- moz.build
- netwerk/protocol/http/Http2StreamBase.cpp
- netwerk/protocol/http/Http3Stream.cpp
- netwerk/protocol/http/PendingTransactionQueue.cpp
- netwerk/protocol/http/nsHttpConnectionMgr.cpp
- netwerk/protocol/http/nsHttpConnectionMgr.h
- netwerk/protocol/http/nsHttpHandler.cpp
- netwerk/protocol/http/nsHttpHandler.h
- python/mozversioncontrol/mozversioncontrol/repo/base.py
- python/mozversioncontrol/mozversioncontrol/repo/git.py
- python/mozversioncontrol/mozversioncontrol/repo/jj.py
- python/mozversioncontrol/mozversioncontrol/repo/mercurial.py
- python/mozversioncontrol/mozversioncontrol/repo/source.py
- python/mozversioncontrol/test/conftest.py
- python/mozversioncontrol/test/python.toml
- python/mozversioncontrol/test/test_context_manager.py
- python/mozversioncontrol/test/test_get_branch_nodes.py → python/mozversioncontrol/test/test_get_commits.py
- python/mozversioncontrol/test/test_push_to_try.py
- python/mozversioncontrol/test/test_try_commit.py
- remote/shared/TabManager.sys.mjs
- security/manager/ssl/nsNSSComponent.cpp
- security/nss/gtests/ssl_gtest/manifest.mn
- security/nss/gtests/ssl_gtest/ssl_fuzz_unittest.cc
- security/nss/gtests/ssl_gtest/ssl_gtest.gyp
- + security/nss/gtests/ssl_gtest/ssl_option_unittest.cc
- security/nss/lib/ssl/ssl.h
- security/nss/lib/ssl/ssl3con.c
- security/nss/lib/ssl/sslimpl.h
- security/nss/lib/ssl/sslsock.c
- security/nss/lib/util/secasn1d.c
- security/nss/moz.yaml
- security/nss/taskcluster/nss_taskgraph/target_tasks.py
- security/sandbox/common/SandboxSettings.cpp
- security/sandbox/linux/SandboxFilter.cpp
- services/settings/remote-settings.sys.mjs
- services/settings/test/unit/test_remote_settings.js
- servo/components/style/gecko/selector_parser.rs
- taskcluster/docker/decision/Dockerfile
- taskcluster/docker/decision/HASH
- taskcluster/docker/decision/VERSION
- taskcluster/docker/decision/system-setup.sh
- taskcluster/docs/kinds.rst
- taskcluster/gecko_taskgraph/transforms/job/mozharness_test.py
- − taskcluster/gecko_taskgraph/transforms/release_flatpak_repackage.py
- taskcluster/gecko_taskgraph/transforms/repackage.py
- taskcluster/gecko_taskgraph/transforms/test/variant.py
- taskcluster/kinds/docker-image/kind.yml
- taskcluster/kinds/fetch/toolchains.yml
- + taskcluster/kinds/instrumented-build-macrobenchmark-apk/kind.yml
- taskcluster/kinds/repackage/kind.yml
- + taskcluster/kinds/run-macrobenchmark-firebase/kind.yml
- taskcluster/kinds/toolchain/node.yml
- taskcluster/scripts/misc/build-nodejs.sh
- + taskcluster/scripts/tests/compute-macrobenchmark-results.py
- taskcluster/scripts/tests/copy-artifacts-from-ftl.py
- testing/mochitest/BrowserTestUtils/BrowserTestUtils.sys.mjs
- testing/mozharness/configs/marionette/mac_taskcluster_config.py
- testing/mozharness/configs/raptor/mac_config.py
- testing/mozharness/configs/talos/mac_config.py
- testing/mozharness/configs/unittests/mac_unittest.py
- testing/mozharness/configs/web_platform_tests/prod_config_mac.py
- testing/mozharness/external_tools/macosx_resolution_refreshrate.py
- testing/raptor/mach_commands.py
- testing/web-platform/manifestdownload.py
- + testing/web-platform/meta/ai/rewriter/rewriter-abort.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-from-detached-iframe.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/rewriter/rewriter-iframe.tentative.https.html.ini
- + testing/web-platform/meta/ai/rewriter/rewriter.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-abort.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-from-detached-iframe.tentative.https.window.js.ini
- + testing/web-platform/meta/ai/writer/writer-iframe.tentative.https.html.ini
- + testing/web-platform/meta/ai/writer/writer.tentative.https.window.js.ini
- + testing/web-platform/meta/apng/supported-in-source-type.html.ini
- testing/web-platform/meta/clear-site-data/clear-cache-partitioning.tentative.https.html.ini
- testing/web-platform/meta/clipboard-apis/async-navigator-clipboard-basics.https.html.ini
- + testing/web-platform/meta/clipboard-apis/async-navigator-clipboard-write-domstring.https.html.ini
- + testing/web-platform/meta/close-watcher/iframes/dialog-same-origin-ynn.html.ini
- testing/web-platform/meta/close-watcher/iframes/dialog-same-origin-ynyn.html.ini
- testing/web-platform/meta/cookie-store/change_eventhandler_for_http_cookie_and_set_cookie_headers.https.window.js.ini
- testing/web-platform/meta/cookies/partitioned-cookies/partitioned-cookies-a-b-a-embed.tentative.https.html.ini
- − testing/web-platform/meta/css/css-align/abspos/align-self-stretch-auto-margins-aspect-ratio.html.ini
- − testing/web-platform/meta/css/css-align/abspos/justify-self-stretch-auto-margins-aspect-ratio.html.ini
- − testing/web-platform/meta/css/css-align/abspos/justify-self-stretch-auto-margins.html.ini
- testing/web-platform/meta/css/css-align/abspos/align-self-stretch-auto-margins.html.ini → testing/web-platform/meta/css/css-align/blocks/justify-self-auto-margins-2.html.ini
- + testing/web-platform/meta/css/css-anchor-position/position-area-visibility-change.html.ini
- + testing/web-platform/meta/css/css-anchor-position/position-try-order-position-area.html.ini
- testing/web-platform/meta/css/css-anchor-position/position-try-position-anchor.html.ini
- + testing/web-platform/meta/css/css-borders/tentative/corner-shape/corner-shape-outside-left.html.ini
- + testing/web-platform/meta/css/css-borders/tentative/corner-shape/corner-shape-outside-right.html.ini
- + testing/web-platform/meta/css/css-borders/tentative/corner-shape/corner-shape-overflow-clip-margin.html.ini
- + testing/web-platform/meta/css/css-flexbox/flex-container-max-content-002.tentative.html.ini
- + testing/web-platform/meta/css/css-flexbox/flex-container-min-content-002.tentative.html.ini
- + testing/web-platform/meta/css/css-gaps/flex/flex-gap-decorations-020.html.ini
- + testing/web-platform/meta/css/css-gaps/flex/flex-gap-decorations-021.html.ini
- + testing/web-platform/meta/css/css-gaps/grid/grid-gap-decorations-034.html.ini
- + testing/web-platform/meta/css/css-gaps/grid/grid-gap-decorations-035.html.ini
- + testing/web-platform/meta/css/css-gaps/grid/grid-gap-decorations-036.html.ini
- + testing/web-platform/meta/css/css-gaps/grid/grid-gap-decorations-037.html.ini
- + testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed-from-longhands.html.ini
- + testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed.html.ini
- + testing/web-platform/meta/css/css-gaps/parsing/gap-decorations-rule-shorthand.html.ini
- − testing/web-platform/meta/css/css-gaps/serialization/gap-decorations-properties.html.ini
- + testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-alignment-positioned-items-009.html.ini
- + testing/web-platform/meta/css/css-grid/alignment/grid-row-axis-alignment-positioned-items-010.html.ini
- testing/web-platform/meta/css/css-overflow/parsing/line-clamp-valid.html.ini
- + testing/web-platform/meta/css/css-properties-values-api/registered-property-computation-color-005.html.ini
- + testing/web-platform/meta/css/css-properties-values-api/resolved-color-value.html.ini
- + testing/web-platform/meta/css/css-values/tree-counting/sibling-index-keyframe-font-variation-settings-dynamic.html.ini
- + testing/web-platform/meta/css/css-values/tree-counting/sibling-index-keyframe-font-weight-dynamic.html.ini
- + testing/web-platform/meta/css/css-values/tree-counting/sibling-index-keyframe-registered-properties-dynamic.html.ini
- + testing/web-platform/meta/css/css-values/tree-counting/sibling-index-keyframe-scale-dynamic.html.ini
- testing/web-platform/meta/css/css-values/vh-update-and-transition-in-subframe.html.ini
- testing/web-platform/meta/css/cssom/style-sheet-interfaces-001.html.ini
- testing/web-platform/meta/css/selectors/invalidation/state-in-has.html.ini
- − testing/web-platform/meta/css/selectors/parsing/parse-state.html.ini
- − testing/web-platform/meta/custom-elements/state/__dir__.ini
- testing/web-platform/meta/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-sjis.html.ini
- testing/web-platform/meta/encoding/legacy-mb-japanese/shift_jis/sjis-encode-form-windows-31j.html.ini
- testing/web-platform/meta/feature-policy/picture-in-picture-disabled-by-feature-policy.https.sub.html.ini
- testing/web-platform/meta/fetch/metadata/generated/window-history.https.sub.html.ini
- testing/web-platform/meta/fetch/security/dangling-markup/media.html.ini
- testing/web-platform/meta/fetch/stale-while-revalidate/fetch.any.js.ini
- testing/web-platform/meta/fs/FileSystemFileHandle-cross-primitive-locking.https.tentative.worker.js.ini
- testing/web-platform/meta/html/dom/idlharness.https.html.ini
- testing/web-platform/meta/html/dom/reflection-metadata.html.ini
- testing/web-platform/meta/html/infrastructure/urls/resolving-urls/query-encoding/utf-16be.html.ini
- testing/web-platform/meta/html/semantics/embedded-content/bfcache/embedded-img.html.ini
- testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-navigation-navigate.html.ini
- testing/web-platform/meta/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-navigation-reload.html.ini
- testing/web-platform/meta/html/semantics/interactive-elements/the-dialog-element/dialog-closedby-corner-cases.html.ini
- testing/web-platform/meta/html/semantics/the-button-element/command-and-commandfor/on-video-behavior.tentative.html.ini
- testing/web-platform/meta/html/semantics/the-button-element/interest-target/interesttarget-pseudo-classes.tentative.html.ini
- testing/web-platform/meta/html/user-activation/activation-trigger-mouse-right.html.ini
- testing/web-platform/meta/idle-detection/idle-detection-allowed-by-permissions-policy.https.sub.html.ini
- testing/web-platform/meta/intersection-observer/scroll-margin-not-contained.html.ini
- testing/web-platform/meta/largest-contentful-paint/animated/observe-cross-origin-animated-image.tentative.html.ini
- testing/web-platform/meta/largest-contentful-paint/animated/observe-cross-origin-tao-animated-image.tentative.html.ini
- testing/web-platform/meta/largest-contentful-paint/cross-origin-image.sub.html.ini
- testing/web-platform/meta/largest-contentful-paint/image-TAO.sub.html.ini
- testing/web-platform/meta/largest-contentful-paint/multiple-redirects-TAO.html.ini
- testing/web-platform/meta/largest-contentful-paint/redirects-tao-star.html.ini
- testing/web-platform/meta/largest-contentful-paint/resized-image-not-reconsidered.html.ini
- testing/web-platform/meta/mozilla-sync
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept-precommitHandler-reject.tentative.html.ini
- testing/web-platform/meta/navigation-api/ordering-and-transition/navigate-intercept.html.ini
- testing/web-platform/meta/notifications/instance.https.window.js.ini
- testing/web-platform/meta/pointerevents/compat/pointerevent_touch_target_after_pointerdown_target_removed.tentative.html.ini
- testing/web-platform/meta/pointerevents/idlharness.https.window.js.ini
- + testing/web-platform/meta/pointerevents/pointerevent_boundary_events_before_pointerrawupdate.https.html.ini
- + testing/web-platform/meta/pointerevents/pointerevent_pointerrawupdate.https.html.ini
- + testing/web-platform/meta/pointerevents/pointerevent_pointerrawupdate_after_adoption_from_child.https.html.ini
- + testing/web-platform/meta/pointerevents/pointerevent_pointerrawupdate_after_adoption_from_parent.https.html.ini
- + testing/web-platform/meta/pointerevents/pointerevent_pointerrawupdate_flush_pointercapture.https.html.ini
- testing/web-platform/meta/pointerevents/pointerevent_pointerrawupdate_remove_target.https.html.ini
- testing/web-platform/meta/pointerevents/pointerlock/pointerevent_pointerrawupdate_in_pointerlock.https.html.ini
- − testing/web-platform/meta/soft-navigation-heuristics/replacestate.tentative.html.ini
- − testing/web-platform/meta/soft-navigation-heuristics/soft-navigation-no-url.tentative.html.ini
- testing/web-platform/meta/speech-api/SpeechRecognition-availableOnDevice.https.html.ini
- testing/web-platform/meta/speech-api/SpeechRecognition-installOnDevice.https.html.ini
- testing/web-platform/meta/subresource-integrity/tentative/integrity-policy/parsing.https.html.ini → testing/web-platform/meta/subresource-integrity/tentative/integrity-policy/parsing.html.ini
- + testing/web-platform/meta/wasm/webapi/esm-integration/script-src-allows-source-phase-wasm.tentative.html.ini
- + testing/web-platform/meta/wasm/webapi/esm-integration/source-phase-blocked-by-csp.tentative.html.ini
- + testing/web-platform/meta/wasm/webapi/esm-integration/source-phase-preload.tentative.html.ini
- + testing/web-platform/meta/wasm/webapi/esm-integration/worklet-import-source-phase.tentative.https.html.ini
- testing/web-platform/meta/webaudio/the-audio-api/the-audiobuffersourcenode-interface/audiobuffersource-multi-channels.html.ini
- testing/web-platform/meta/webaudio/the-audio-api/the-audiocontext-interface/audiocontext-suspend-resume-close.html.ini
- testing/web-platform/meta/webdriver/tests/bidi/browsing_context/navigation_started/navigation_started.py.ini
- testing/web-platform/meta/webdriver/tests/interop/beforeunload_prompt.py.ini
- testing/web-platform/meta/webrtc-encoded-transform/idlharness.https.window.js.ini
- testing/web-platform/meta/webrtc-encoded-transform/tentative/RTCEncodedFrame-timestamps.html.ini
- + testing/web-platform/meta/webrtc/simulcast/h264.https.html.ini
- testing/web-platform/meta/websockets/interfaces/WebSocket/url/resolve.html.ini
- testing/web-platform/meta/webvtt/api/VTTRegion/non-visible-cue-with-region.html.ini
- testing/web-platform/meta/workers/WorkerGlobalScope_requestAnimationFrame.worker.js.ini
- testing/web-platform/tests/.github/workflows/documentation.yml
- testing/web-platform/tests/accelerometer/Accelerometer-iframe-access.https.html
- testing/web-platform/tests/accelerometer/Accelerometer.https.html
- testing/web-platform/tests/accelerometer/GravitySensor.https.html
- testing/web-platform/tests/accelerometer/LinearAccelerationSensor.https.html
- testing/web-platform/tests/ai/resources/util.js
- + testing/web-platform/tests/ai/rewriter/resources/iframe-helper.html
- + testing/web-platform/tests/ai/rewriter/rewriter-abort.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-from-detached-iframe.tentative.https.window.js
- + testing/web-platform/tests/ai/rewriter/rewriter-iframe.tentative.https.html
- + testing/web-platform/tests/ai/rewriter/rewriter.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-abort.tentative.https.window.js
- testing/web-platform/tests/ai/summarizer/summarizer-summarize-streaming.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/resources/iframe-helper.html
- + testing/web-platform/tests/ai/writer/writer-abort.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-from-detached-iframe.tentative.https.window.js
- + testing/web-platform/tests/ai/writer/writer-iframe.tentative.https.html
- + testing/web-platform/tests/ai/writer/writer.tentative.https.window.js
- testing/web-platform/tests/ambient-light/AmbientLightSensor-iframe-access.https.html
- testing/web-platform/tests/ambient-light/AmbientLightSensor.https.html
- testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-basics.https.html
- + testing/web-platform/tests/clipboard-apis/async-navigator-clipboard-write-domstring.https.html
- testing/web-platform/tests/css/css-align/abspos/align-self-stretch-auto-margins-aspect-ratio.html
- testing/web-platform/tests/css/css-align/abspos/align-self-stretch-auto-margins.html
- testing/web-platform/tests/css/css-align/abspos/justify-self-stretch-auto-margins-aspect-ratio.html
- testing/web-platform/tests/css/css-align/abspos/justify-self-stretch-auto-margins.html
- testing/web-platform/tests/css/css-align/blocks/justify-items-anonymous.tentative.html → testing/web-platform/tests/css/css-align/blocks/justify-items-anonymous.html
- testing/web-platform/tests/css/css-align/blocks/justify-self-auto-margins-2.html
- testing/web-platform/tests/css/css-anchor-position/anchor-center-visibility-change-ref.html
- testing/web-platform/tests/css/css-anchor-position/anchor-center-visibility-change.html
- + testing/web-platform/tests/css/css-anchor-position/position-area-visibility-change.html
- + testing/web-platform/tests/css/css-anchor-position/reference/position-area-visibility-change-ref.html
- + testing/web-platform/tests/css/css-borders/tentative/corner-shape/corner-shape-outside-left.html
- + testing/web-platform/tests/css/css-borders/tentative/corner-shape/corner-shape-outside-right.html
- + testing/web-platform/tests/css/css-borders/tentative/corner-shape/corner-shape-overflow-clip-margin-ref.html
- + testing/web-platform/tests/css/css-borders/tentative/corner-shape/corner-shape-overflow-clip-margin.html
- + testing/web-platform/tests/css/css-flexbox/flex-container-max-content-002.tentative.html
- + testing/web-platform/tests/css/css-flexbox/flex-container-min-content-002.tentative.html
- + testing/web-platform/tests/css/css-fonts/font-palette-relative-color-crash.html
- testing/web-platform/tests/css/css-fonts/variations/font-weight-matching.html
- + testing/web-platform/tests/css/css-gaps/flex/flex-gap-decorations-020-ref.html
- + testing/web-platform/tests/css/css-gaps/flex/flex-gap-decorations-020.html
- + testing/web-platform/tests/css/css-gaps/flex/flex-gap-decorations-021-ref.html
- + testing/web-platform/tests/css/css-gaps/flex/flex-gap-decorations-021.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-034-ref.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-034.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-035-ref.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-035.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-036-ref.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-036.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-037-ref.html
- + testing/web-platform/tests/css/css-gaps/grid/grid-gap-decorations-037.html
- + testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed-from-longhands.html
- + testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-computed.html
- + testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand-invalid.html
- + testing/web-platform/tests/css/css-gaps/parsing/gap-decorations-rule-shorthand.html
- − testing/web-platform/tests/css/css-gaps/serialization/gap-decorations-properties.html
- + testing/web-platform/tests/css/css-multicol/crashtests/float-cannot-be-spanner.html
- + testing/web-platform/tests/css/css-multicol/multicol-fill-balance-030.html
- + testing/web-platform/tests/css/css-properties-values-api/registered-property-computation-color-005.html
- + testing/web-platform/tests/css/css-properties-values-api/resolved-color-value.html
- + testing/web-platform/tests/css/css-text-decor/crashtests/text-decoration-first-line-layer-crash.html
- testing/web-platform/tests/css/css-ui/WEB_FEATURES.yml
- testing/web-platform/tests/css/css-ui/parsing/WEB_FEATURES.yml
- + testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-font-variation-settings-dynamic.html
- + testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-font-weight-dynamic.html
- + testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-registered-properties-dynamic.html
- + testing/web-platform/tests/css/css-values/tree-counting/sibling-index-keyframe-scale-dynamic.html
- testing/web-platform/tests/css/css-view-transitions/web-animation-pseudo-incorrect-name.html
- testing/web-platform/tests/css/cssom-view/table-client-props.html
- + testing/web-platform/tests/css/filter-effects/zero-width-filter.html
- testing/web-platform/tests/digital-credentials/allow-attribute-with-get.https.html
- testing/web-platform/tests/digital-credentials/non-fully-active.https.html
- testing/web-platform/tests/digital-credentials/support/iframe.html
- testing/web-platform/tests/digital-credentials/user-activation.https.html
- testing/web-platform/tests/generic-sensor/generic-sensor-iframe-tests.sub.js
- testing/web-platform/tests/generic-sensor/generic-sensor-tests.js
- testing/web-platform/tests/generic-sensor/resources/iframe_sensor_handler.html
- testing/web-platform/tests/gyroscope/Gyroscope-iframe-access.https.html
- testing/web-platform/tests/gyroscope/Gyroscope.https.html
- testing/web-platform/tests/html/cross-origin-opener-policy/resources/noopener-helper.js
- testing/web-platform/tests/html/dom/reflection.js
- testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-nav-navigation-navigate.html
- testing/web-platform/tests/html/semantics/embedded-content/the-iframe-element/iframe-loading-lazy-reload-navigation-reload.html
- + testing/web-platform/tests/html/semantics/forms/the-datalist-element/WEB_FEATURES.yml
- + testing/web-platform/tests/html/semantics/forms/the-meter-element/WEB_FEATURES.yml
- + testing/web-platform/tests/html/semantics/forms/the-progress-element/WEB_FEATURES.yml
- testing/web-platform/tests/html/semantics/forms/the-select-element/customizable-select/select-parsing.tentative.html
- testing/web-platform/tests/html/semantics/the-button-element/interest-target/interesttarget-pseudo-classes.tentative.html
- + testing/web-platform/tests/infrastructure/metadata/infrastructure/assumptions/initial-color.html.ini
- testing/web-platform/tests/infrastructure/metadata/infrastructure/assumptions/non-local-ports.sub.window.js.ini
- + testing/web-platform/tests/infrastructure/metadata/infrastructure/testdriver/bless.html.ini
- + testing/web-platform/tests/infrastructure/metadata/infrastructure/testdriver/click-multiple.html.ini
- testing/web-platform/tests/interfaces/crash-reporting.idl
- testing/web-platform/tests/interfaces/digital-credentials.idl
- testing/web-platform/tests/interfaces/speech-api.idl
- + testing/web-platform/tests/interfaces/translation-api.idl
- testing/web-platform/tests/interfaces/webnn.idl
- testing/web-platform/tests/magnetometer/Magnetometer-iframe-access.https.html
- testing/web-platform/tests/magnetometer/Magnetometer.https.html
- testing/web-platform/tests/orientation-sensor/AbsoluteOrientationSensor-iframe-access.https.html
- testing/web-platform/tests/orientation-sensor/AbsoluteOrientationSensor.https.html
- testing/web-platform/tests/orientation-sensor/RelativeOrientationSensor-iframe-access.https.html
- testing/web-platform/tests/orientation-sensor/RelativeOrientationSensor.https.html
- + testing/web-platform/tests/paint-timing/paint-timing-mixin-to-json.html
- + testing/web-platform/tests/requestidlecallback/WEB_FEATURES.yml
- testing/web-platform/tests/resources/idlharness.js
- + testing/web-platform/tests/scroll-animations/crashtests/scroll-timeline-completion-crash.html
- − testing/web-platform/tests/soft-navigation-heuristics/replacestate.tentative.html
- testing/web-platform/tests/soft-navigation-heuristics/resources/soft-navigation-helper.js
- + testing/web-platform/tests/soft-navigation-heuristics/smoke/tentative/almost-soft-navigation.html
- + testing/web-platform/tests/soft-navigation-heuristics/smoke/tentative/dom.html
- − testing/web-platform/tests/soft-navigation-heuristics/soft-navigation-no-url.tentative.html
- testing/web-platform/tests/speech-api/SpeechRecognition-availableOnDevice.https.html
- testing/web-platform/tests/speech-api/SpeechRecognition-basics.https.html
- testing/web-platform/tests/speech-api/SpeechRecognition-installOnDevice.https.html
- testing/web-platform/tests/speech-api/SpeechRecognition-recognitionContext-manual.https.html → testing/web-platform/tests/speech-api/SpeechRecognition-phrases-manual.https.html
- testing/web-platform/tests/subresource-integrity/tentative/integrity-policy/parsing.https.html → testing/web-platform/tests/subresource-integrity/tentative/integrity-policy/parsing.html
- testing/web-platform/tests/tools/wpt/browser.py
- testing/web-platform/tests/tools/wptrunner/wptrunner/executors/executormarionette.py
- + testing/web-platform/tests/wasm/webapi/esm-integration/resources/audio-worklet-source-phase.js
- + testing/web-platform/tests/wasm/webapi/esm-integration/resources/cross-origin-wasm-dynamic-source-phase-import.sub.js
- + testing/web-platform/tests/wasm/webapi/esm-integration/resources/cross-origin-wasm-static-source-phase-import.sub.js
- testing/web-platform/tests/wasm/webapi/esm-integration/resources/worker-helper.js
- testing/web-platform/tests/wasm/webapi/esm-integration/resources/worker-source-phase.js
- + testing/web-platform/tests/wasm/webapi/esm-integration/script-src-allows-source-phase-wasm.tentative.html
- + testing/web-platform/tests/wasm/webapi/esm-integration/source-phase-blocked-by-csp.tentative.html
- + testing/web-platform/tests/wasm/webapi/esm-integration/source-phase-preload.tentative.html
- testing/web-platform/tests/wasm/webapi/esm-integration/worker-import-source-phase.tentative.html
- + testing/web-platform/tests/wasm/webapi/esm-integration/worklet-import-source-phase.tentative.https.html
- testing/web-platform/tests/webdriver/tests/interop/beforeunload_prompt.py
- testing/web-platform/tests/webnn/conformance_tests/qdq_subgraph.https.any.js
- testing/web-platform/tests/webnn/resources/utils.js
- testing/web-platform/tests/webnn/resources/utils_validation.js
- testing/web-platform/tests/webrtc-encoded-transform/idlharness.https.window.js
- toolkit/components/aboutinference/content/aboutInference.html
- toolkit/components/aboutinference/content/aboutInference.js
- toolkit/components/antitracking/bouncetrackingprotection/BounceTrackingProtection.cpp
- toolkit/components/antitracking/bouncetrackingprotection/test/browser/browser_bouncetracking_nimbus.js
- toolkit/components/backgroundtasks/BackgroundTasksUtils.sys.mjs
- toolkit/components/extensions/Extension.sys.mjs
- toolkit/components/extensions/test/xpcshell/xpcshell-common.toml
- toolkit/components/ml/actors/MLEngineChild.sys.mjs
- toolkit/components/ml/content/EngineProcess.sys.mjs
- toolkit/components/ml/content/backends/ONNXPipeline.mjs
- toolkit/components/ml/tests/browser/browser_ml_engine.js
- toolkit/components/nimbus/ExperimentAPI.sys.mjs
- toolkit/components/nimbus/FeatureManifest.yaml
- toolkit/components/nimbus/lib/RemoteSettingsExperimentLoader.sys.mjs
- toolkit/components/nimbus/test/browser/browser_remotesettingsexperimentloader_force_enrollment.js
- toolkit/components/nimbus/test/unit/test_RemoteSettingsExperimentLoader.js
- toolkit/components/normandy/content/AboutPages.sys.mjs
- toolkit/components/normandy/test/browser/browser_about_studies.js
- toolkit/components/search/UserSearchEngine.sys.mjs
- toolkit/components/utils/ClientEnvironment.sys.mjs
- toolkit/components/utils/test/unit/test_ClientEnvironment.js
- toolkit/components/xulstore/XULStore.sys.mjs
- toolkit/modules/InlineSpellChecker.sys.mjs
- toolkit/modules/NewTabUtils.sys.mjs
- toolkit/modules/SubDialog.sys.mjs
- toolkit/mozapps/extensions/internal/XPIProvider.sys.mjs
- toolkit/mozapps/extensions/test/xpcshell/test_system_builtins.js
- tools/tryselect/lando.py
- tools/tryselect/selectors/perfselector/classification.py
- tools/tryselect/test/full-task-graph-perf-test.json
- tools/tryselect/test/test_perf.py
- uriloader/exthandler/tests/mochitest/browser.toml
- widget/gtk/DMABufLibWrapper.cpp → widget/gtk/DMABufDevice.cpp
- widget/gtk/DMABufLibWrapper.h → widget/gtk/DMABufDevice.h
- widget/gtk/DMABufFormats.cpp
- widget/gtk/DMABufFormats.h
- widget/gtk/DMABufSurface.cpp
- widget/gtk/DMABufSurface.h
- widget/gtk/ScreenHelperGTK.cpp
- widget/gtk/moz.build
- widget/gtk/nsWaylandDisplay.cpp
- widget/gtk/nsWaylandDisplay.h
- xpcom/tests/unit/test_getTimers.js
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/701e09…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/701e09…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41467: Remove list_toolchain_updates-firefox-android makefile rule
by boklm (@boklm) 20 May '25
by boklm (@boklm) 20 May '25
20 May '25
boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
ea71cd63 by Nicolas Vigier at 2025-05-20T15:56:01+02:00
Bug 41467: Remove list_toolchain_updates-firefox-android makefile rule
- - - - -
7cbdfd9d by Nicolas Vigier at 2025-05-20T15:57:06+02:00
Bug 41467: Update projects/browser/README.md
firefox-android has been removed, and the apk are produced in
projects/geckoview.
- - - - -
2 changed files:
- Makefile
- projects/browser/README.md
Changes:
=====================================
Makefile
=====================================
@@ -617,9 +617,6 @@ list_toolchain_updates-application-services: submodule-update
list_toolchain_updates-geckoview: submodule-update
$(rbm) build geckoview --step list_toolchain_updates --target nightly --target torbrowser-android-armv7
-list_toolchain_updates-firefox-android: submodule-update
- $(rbm) build firefox-android --step list_toolchain_updates --target nightly --target torbrowser-android-armv7
-
create_glean_deps_tarball: submodule-update
$(rbm) build glean --step create_glean_deps_tarball --target alpha --target torbrowser-android-armv7
=====================================
projects/browser/README.md
=====================================
@@ -25,7 +25,7 @@ The Android script is much simpler.
Tor and pluggable transports are already packaged in `tor-android-service` and
`tor-onion-proxy-library`.
The only missing piece is NoScript, so we add it to the APK produced by
-`firefox-android`.
+`geckoview`.
This APK is unsigned, so we sign with a private key we ship in
`android-qa.keystore`, so that the APK we ship can be installed for QA (Android
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser][tor-browser-139.0a1-15.0-1] 4 commits: fixup! Firefox preference overrides.
by brizental (@brizental) 20 May '25
by brizental (@brizental) 20 May '25
20 May '25
brizental pushed to branch tor-browser-139.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
Commits:
7604ac75 by Neel Chauhan at 2025-05-20T11:21:10+02:00
fixup! Firefox preference overrides.
- - - - -
f0e526a3 by Pier Angelo Vendrame at 2025-05-20T11:21:11+02:00
fixup! BB 41631: Prevent weird initial window dimensions caused by subpixel computations
BB 43672: Compensate window.resizeTo truncating by ceiling newwin sizes.
- - - - -
0d260eee by hackademix at 2025-05-20T11:21:25+02:00
fixup! Firefox preference overrides.
Disable the UITour API.
- - - - -
b76a58ae by Beatriz Rizental at 2025-05-20T11:36:30+02:00
fixup! Tweaks to the build system
- - - - -
4 changed files:
- browser/app/profile/001-base-profile.js
- python/mach/mach/telemetry.py
- python/sites/mach.txt
- toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
Changes:
=====================================
browser/app/profile/001-base-profile.js
=====================================
@@ -4,10 +4,9 @@
// Use the OS locale by default (tor-browser#17400)
pref("intl.locale.requested", "");
-// Home page and new tab is blank rather than Firefox Home (Activity Stream).
+// Home page is blank rather than Firefox Home (Activity Stream).
// tor-browser#31575 and tor-browser#30662
pref("browser.startup.homepage", "about:blank");
-pref("browser.newtabpage.enabled", false);
// tor-browser#43164: Prevent search-bar from being auto-hidden when not used for awhile
// This preference is locked so that the browser itself can never set an actual
@@ -209,6 +208,11 @@ pref("datareporting.policy.dataSubmissionEnabled", false);
pref("browser.urlbar.recentsearches.featureGate", false);
pref("browser.urlbar.suggest.recentsearches", false);
+// Disable the UITour API
+// See tor-browser#41457 and
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1915280
+pref("browser.uitour.enabled", false);
+
// Make sure Unified Telemetry is really disabled, see: #18738.
pref("toolkit.telemetry.unified", false);
// This needs to be locked, or nightly builds will automatically lock it to true
=====================================
python/mach/mach/telemetry.py
=====================================
@@ -271,6 +271,7 @@ def prompt_telemetry_message_contributor():
def initialize_telemetry_setting(settings, topsrcdir: str, state_dir: str):
"""Enables telemetry for employees or prompts the user."""
+ return
# If the user doesn't care about telemetry for this invocation, then
# don't make requests to Bugzilla and/or prompt for whether the
# user wants to opt-in.
=====================================
python/sites/mach.txt
=====================================
@@ -104,7 +104,7 @@ vendored:third_party/python/wheel
vendored:third_party/python/zipp
# glean-sdk may not be installable if a wheel isn't available
# and it has to be built from source.
-pypi-optional:glean-sdk==64.1.1:telemetry will not be collected
+# pypi-optional:glean-sdk==64.1.1:telemetry will not be collected
# Mach gracefully handles the case where `psutil` is unavailable.
# We aren't (yet) able to pin packages in automation, so we have to
# support down to the oldest locally-installed version (5.4.2).
=====================================
toolkit/components/resistfingerprinting/RFPHelper.sys.mjs
=====================================
@@ -969,7 +969,8 @@ class _RFPHelper {
if (x11Height < targetHeight) {
targetHeight = x11Height + 2;
}
- aWindow.resizeTo(targetWidth, targetHeight);
+ // resizeTo truncates on X11, so we compensate.
+ aWindow.resizeTo(Math.ceil(targetWidth), Math.ceil(targetHeight));
} else {
aWindow.resizeBy(deltaWidth, deltaHeight);
}
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e3db46…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e3db46…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser] Pushed new branch tor-browser-140.0a1-15.0-1
by Pier Angelo Vendrame (@pierov) 20 May '25
by Pier Angelo Vendrame (@pierov) 20 May '25
20 May '25
Pier Angelo Vendrame pushed new branch tor-browser-140.0a1-15.0-1 at The Tor Project / Applications / Tor Browser
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Bug 41444: Build firefox and geckoview development artifacts
by brizental (@brizental) 20 May '25
by brizental (@brizental) 20 May '25
20 May '25
brizental pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
984f7ff0 by Beatriz Rizental at 2025-05-20T08:30:08+00:00
Bug 41444: Build firefox and geckoview development artifacts
- - - - -
5 changed files:
- projects/browser/build
- projects/browser/build.android
- projects/firefox/build
- projects/geckoview/build
- projects/release/build
Changes:
=====================================
projects/browser/build
=====================================
@@ -428,3 +428,8 @@ cd $distdir
[% END -%]
popd
[% END %]
+
+[% IF c("var/nightly") -%]
+ mkdir -p "$OUTDIR"/artifacts
+ cp -r $rootdir/[% c('input_files_by_name/firefox') %]/artifacts "$OUTDIR"
+[% END %]
=====================================
projects/browser/build.android
=====================================
@@ -119,3 +119,8 @@ apksigner sign --verbose --min-sdk-version [% c("var/android_min_api") %] --ks $
tor_expert_bundle_dest=${tor_expert_bundle_src:0:-7}.tar.gz
cp "$rootdir/[% c("input_files_by_name/tor-expert-bundle") %]/tor-expert-bundle.tar.gz" [% dest_dir %]/[% c('filename') %]/$tor_expert_bundle_dest
[% END -%]
+
+[% IF c("var/nightly") -%]
+ mkdir -p "$OUTDIR"/artifacts
+ cp -r $rootdir/geckoview/artifacts "$OUTDIR"
+[% END %]
=====================================
projects/firefox/build
=====================================
@@ -128,6 +128,19 @@ echo "Starting ./mach build $(date)"
./mach build stage-package
[% END -%]
+[% IF c("var/nightly") -%]
+ echo "Building development artifacts"
+ ./mach package
+
+ artifactsdir=[% out_dir %]/artifacts
+ mkdir $artifactsdir
+ # Copy the artifacts to the target directory
+ # Naming convention is the same as Mozilla uses for their artifacts
+ cp -a obj-*/dist/*.tar.bz2 $artifactsdir/target.tar.bz2
+ cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
+ ./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
+[% END %]
+
[% IF c("var/macos") -%]
cp -a obj-*/dist/[% c('var/exe_name') %]/* $distdir
[% IF c("var/base-browser") -%]
=====================================
projects/geckoview/build
=====================================
@@ -34,6 +34,19 @@ echo "Starting ./mach configure $(date)"
echo "Starting ./mach build $(date)"
./mach build --verbose
+[% IF c("var/nightly") -%]
+ echo "Building development artifacts"
+ ./mach package
+
+ artifactsdir=[% dest_dir %]/artifacts
+ mkdir -p $artifactsdir
+ # Copy the artifacts to the target directory
+ # Naming convention is the same as Mozilla uses for their artifacts
+ cp -a obj-*/dist/*.zip $artifactsdir/target.xpt_artifacts.zip
+ cp -a obj-*/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/*/geckoview_example-withGeckoBinaries-*.apk $artifactsdir/geckoview_example.apk
+ ./mach python -m mozbuild.action.test_archive common $artifactsdir/target.common.tests.tar.gz
+[% END %]
+
echo "Build finished, copying the AAR to the to the destination directory $(date)"
[% IF !c("var/android_single_arch") -%]
=====================================
projects/release/build
=====================================
@@ -3,6 +3,7 @@
# reset HOME which was changed by var/set_default_env, for gpg
[% IF ENV.HOME %]export HOME="[% ENV.HOME %]"[% END %]
destdir="[% dest_dir _ '/' _ c("var/publish_dir") %]"
+rm -rf "$destdir"
mkdir -p "$destdir"
[% IF c("var/browser_platforms/android-armv7") -%]
mv [% c('input_files_by_name/android-armv7') %]/* "$destdir"/
@@ -71,7 +72,7 @@ EOF
# empty any existing sh256sums file
echo -n > sha256sums-unsigned-build.txt
# concat sha256sum entry for each file in set
-for i in $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.gz *.apk *.bspatch *.json *.deb *.rpm | grep -v '\.incremental\.mar$' | sort)
+for i in $(ls -1 *.exe *.tar.xz *.dmg *.mar *.zip *.tar.bz2 *.tar.gz *.apk *.bspatch *.json *.deb *.rpm | grep -v '\.incremental\.mar$' | sort)
do
sha256sum $i >> sha256sums-unsigned-build.txt
done
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/9…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-build][main] Updated the Project 131 label on MB relprep templates.
by Pier Angelo Vendrame (@pierov) 19 May '25
by Pier Angelo Vendrame (@pierov) 19 May '25
19 May '25
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
85650874 by Pier Angelo Vendrame at 2025-05-19T16:50:16+02:00
Updated the Project 131 label on MB relprep templates.
- - - - -
2 changed files:
- .gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
- .gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
Changes:
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Alpha.md
=====================================
@@ -250,4 +250,4 @@ Mullvad Browser Alpha (and Nightly) are on the `main` branch
</details>
/label ~"Apps::Type::ReleasePreparation"
-/label ~"Sponsor 131"
+/label ~"Project 131"
=====================================
.gitlab/issue_templates/Release Prep - Mullvad Browser Stable.md
=====================================
@@ -258,4 +258,4 @@ Mullvad Browser Stable is on the `maint-${MULLVAD_BROWSER_MAJOR}.${MULLVAD_BROWS
</details>
/label ~"Apps::Type::ReleasePreparation"
-/label ~"Sponsor 131"
+/label ~"Project 131"
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[Git][tpo/applications/tor-browser-update-responses][main] 7 commits: release: new version, 14.5.2 (linux-i686)
by ma1 (@ma1) 18 May '25
by ma1 (@ma1) 18 May '25
18 May '25
ma1 pushed to branch main at The Tor Project / Applications / Tor Browser update responses
Commits:
d280a6b8 by hackademix at 2025-05-19T01:30:07+02:00
release: new version, 14.5.2 (linux-i686)
- - - - -
2363aa97 by hackademix at 2025-05-19T01:30:08+02:00
release: new version, 14.5.2 (linux-x86_64)
- - - - -
096f9165 by hackademix at 2025-05-19T01:30:08+02:00
release: new version, 14.5.2 (macos)
- - - - -
4ba6660e by hackademix at 2025-05-19T01:30:08+02:00
release: new version, 14.5.2 (windows-i686)
- - - - -
f8ef915c by hackademix at 2025-05-19T01:30:09+02:00
release: new version, 14.5.2 (windows-x86_64)
- - - - -
51e3b195 by hackademix at 2025-05-19T01:30:09+02:00
release: new version, 14.5.2 (android)
- - - - -
84da4208 by hackademix at 2025-05-19T01:30:10+02:00
release: new version, 14.5.2
- - - - -
83 changed files:
- update_3/release/download-android-aarch64.json
- update_3/release/download-android-armv7.json
- update_3/release/download-android-x86.json
- update_3/release/download-android-x86_64.json
- update_3/release/download-linux-i686.json
- update_3/release/download-linux-x86_64.json
- update_3/release/download-macos.json
- update_3/release/download-windows-i686.json
- update_3/release/download-windows-x86_64.json
- update_3/release/downloads.json
- update_3/release/linux-i686/.htaccess
- − update_3/release/linux-i686/13.5.13-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/13.5.14-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/13.5.15-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/14.0.7-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/14.0.8-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/14.0.9-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/release-14.5-14.5.1+13.5.16-linux-i686.xml
- − update_3/release/linux-i686/release-14.5.1+13.5.16-linux-i686.xml
- + update_3/release/linux-i686/update-14.0.9-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.1-14.5.2+13.5.17-linux-i686.xml
- + update_3/release/linux-i686/update-14.5.2+13.5.17-linux-i686.xml
- update_3/release/linux-x86_64/.htaccess
- − update_3/release/linux-x86_64/13.5.13-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/13.5.14-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/13.5.15-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/14.0.7-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/14.0.8-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/14.0.9-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/release-14.5-14.5.1+13.5.16-linux-x86_64.xml
- − update_3/release/linux-x86_64/release-14.5.1+13.5.16-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.0.9-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.1-14.5.2+13.5.17-linux-x86_64.xml
- + update_3/release/linux-x86_64/update-14.5.2+13.5.17-linux-x86_64.xml
- update_3/release/macos/.htaccess
- − update_3/release/macos/13.5.13-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/13.5.14-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/13.5.15-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/14.0.7-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/14.0.8-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/14.0.9-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/release-14.5-14.5.1+13.5.16-macos.xml
- − update_3/release/macos/release-14.5.1+13.5.16-macos.xml
- + update_3/release/macos/update-13.5.15-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-13.5.16-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.0.9-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5.1-14.5.2+13.5.17-macos.xml
- + update_3/release/macos/update-14.5.2+13.5.17-macos.xml
- update_3/release/windows-i686/.htaccess
- − update_3/release/windows-i686/13.5.13-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/13.5.14-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/13.5.15-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/14.0.7-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/14.0.8-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/14.0.9-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/release-14.5-14.5.1+13.5.16-windows-i686.xml
- − update_3/release/windows-i686/release-14.5.1+13.5.16-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.14-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.15-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-13.5.16-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.0.9-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.1-14.5.2+13.5.17-windows-i686.xml
- + update_3/release/windows-i686/update-14.5.2+13.5.17-windows-i686.xml
- update_3/release/windows-x86_64/.htaccess
- − update_3/release/windows-x86_64/13.5.13-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/13.5.14-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/13.5.15-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/14.0.7-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/14.0.8-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/14.0.9-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/release-14.5-14.5.1+13.5.16-windows-x86_64.xml
- − update_3/release/windows-x86_64/release-14.5.1+13.5.16-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.14-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.15-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-13.5.16-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.0.9-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.1-14.5.2+13.5.17-windows-x86_64.xml
- + update_3/release/windows-x86_64/update-14.5.2+13.5.17-windows-x86_64.xml
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses…
You're receiving this email because of your account on gitlab.torproject.org.
1
0