tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 59fc5c996654f0ac73d5997081c15bbf898164e9
parent 1966edba04f06c836c82d4a0abadc95b1465d7b3
Author: Henry Wilkes <henry@torproject.org>
Date:   Wed,  6 Aug 2025 11:46:41 +0100

BB 44045: Disable ML features.

Diffstat:
Mbrowser/base/content/browser-init.js | 5+----
Mbrowser/base/content/nsContextMenu.sys.mjs | 26++++++++++----------------
Mbrowser/components/BrowserComponents.manifest | 4++--
Mbrowser/components/DesktopActorRegistry.sys.mjs | 49+++----------------------------------------------
Mbrowser/components/moz.build | 2+-
Mbrowser/components/preferences/main.js | 36++++++++++++++++++------------------
Mbrowser/components/sidebar/sidebar-main.mjs | 21++++-----------------
Mbrowser/components/tabbrowser/content/tabbrowser.js | 4++--
Mbrowser/components/tabbrowser/content/tabgroup-menu.js | 15+++++++++------
Mbrowser/components/tabbrowser/moz.build | 3++-
Mbrowser/components/translations/content/selectTranslationsPanel.js | 1+
Mbrowser/components/urlbar/QuickSuggest.sys.mjs | 5++---
Mbrowser/components/urlbar/UrlbarController.sys.mjs | 12------------
Mbrowser/components/urlbar/UrlbarProvidersManager.sys.mjs | 7+------
Mbrowser/components/urlbar/moz.build | 9++++++---
Mbrowser/installer/package-manifest.in | 1-
Mconfig/external/moz.build | 3---
Mdocshell/base/nsAboutRedirector.cpp | 7+++++--
Mdocshell/build/components.conf | 8++++----
Mdom/webidl/moz.build | 6------
Mtoolkit/components/extensions/ext-toolkit.json | 6------
Mtoolkit/components/extensions/parent/ext-trial-ml.js | 2++
Mtoolkit/components/moz.build | 5++---
Mtoolkit/components/pdfjs/content/PdfjsParent.sys.mjs | 9+++++++++
Mtoolkit/components/places/moz.build | 5+++--
Mtoolkit/components/translations/actors/TranslationsChild.sys.mjs | 3+++
Mtoolkit/components/translations/actors/TranslationsParent.sys.mjs | 2++
Mtoolkit/components/translations/actors/moz.build | 12++++++++----
Mtoolkit/components/translations/jar.mn | 6+-----
Mtoolkit/modules/ActorManagerParent.sys.mjs | 47++++++-----------------------------------------
Mtoolkit/mozapps/extensions/content/aboutaddons.js | 4++++
Mtoolkit/mozapps/extensions/content/components/addon-mlmodel-details.mjs | 2++
Mtoolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.mjs | 2++
Mtoolkit/mozapps/extensions/extensions.manifest | 2+-
Mtoolkit/mozapps/extensions/internal/moz.build | 3++-
35 files changed, 118 insertions(+), 216 deletions(-)

diff --git a/browser/base/content/browser-init.js b/browser/base/content/browser-init.js @@ -1098,10 +1098,7 @@ var gBrowserInit = { } CustomKeys.uninitWindow(window); - // Bug 1952900 to allow switching to unload category without leaking - ChromeUtils.importESModule( - "moz-src:///browser/components/genai/LinkPreview.sys.mjs" - ).LinkPreview.teardown(window); + // LinkPreview.sys.mjs is missing. tor-browser#44045. FirefoxViewHandler.uninit(); diff --git a/browser/base/content/nsContextMenu.sys.mjs b/browser/base/content/nsContextMenu.sys.mjs @@ -15,8 +15,7 @@ ChromeUtils.defineESModuleGetters(lazy, { "resource://gre/modules/ContextualIdentityService.sys.mjs", DevToolsShim: "chrome://devtools-startup/content/DevToolsShim.sys.mjs", E10SUtils: "resource://gre/modules/E10SUtils.sys.mjs", - GenAI: "resource:///modules/GenAI.sys.mjs", - LinkPreview: "moz-src:///browser/components/genai/LinkPreview.sys.mjs", + // GenAI.sys.mjs and LinkPreview.sys.mjs are missing. tor-browser#44045. LoginHelper: "resource://gre/modules/LoginHelper.sys.mjs", LoginManagerContextMenu: "resource://gre/modules/LoginManagerContextMenu.sys.mjs", @@ -573,10 +572,8 @@ export class nsContextMenu { shouldShow && !isWindowPrivate && showContainers ); this.showItem("context-openlinkincurrent", this.onPlainTextLink); - this.showItem( - "context-previewlink", - lazy.LinkPreview.shouldShowContextMenu(this) - ); + // LinkPreview.sys.mjs is missing. tor-browser#44045. + this.showItem("context-previewlink", false); } initNavigationItems() { @@ -930,12 +927,10 @@ export class nsContextMenu { this.showAndFormatSearchContextItem(); this.showTranslateSelectionItem(); - lazy.GenAI.buildAskChatMenu(document.getElementById("context-ask-chat"), { - browser: this.browser, - selectionInfo: this.selectionInfo, - showItem: this.showItem.bind(this), - source: "page", - }); + // GenAI.sys.mjs is missing. tor-browser#44045. + // Need to remove the element from the DOM since otherwise it will cause an + // error due to `.menupopup === null`. + document.getElementById("context-ask-chat")?.remove(); // srcdoc cannot be opened separately due to concerns about web // content with about:srcdoc in location bar masquerading as trusted @@ -2260,10 +2255,9 @@ export class nsContextMenu { ); } - previewLink(url = this.linkURL) { - // If we're in a view-source tab, remove the view-source: prefix - url = url.replace(/^view-source:/, ""); - lazy.LinkPreview.handleContextMenuClick(url, this); + previewLink(_url = this.linkURL) { + // LinkPreview.sys.mjs is missing. Unexpected to reach here since + // #context-previewlink is hidden. tor-browser#44045. } /** diff --git a/browser/components/BrowserComponents.manifest b/browser/components/BrowserComponents.manifest @@ -30,7 +30,7 @@ category browser-window-domcontentloaded moz-src:///browser/components/customiza category browser-window-delayed-startup moz-src:///browser/components/contentanalysis/content/ContentAnalysis.sys.mjs ContentAnalysis.initialize category browser-window-delayed-startup resource:///modules/HomePage.sys.mjs HomePage.delayedStartup -category browser-window-delayed-startup moz-src:///browser/components/genai/LinkPreview.sys.mjs LinkPreview.init +# LinkPreview.sys.mjs is missing. tor-browser#44045. category browser-window-delayed-startup moz-src:///browser/components/aiwindow/ui/modules/AIWindow.sys.mjs AIWindow.init category browser-window-delayed-startup moz-src:///browser/components/reportbrokensite/ReportBrokenSite.sys.mjs ReportBrokenSite.init category browser-window-delayed-startup moz-src:///browser/components/search/SearchUIUtils.sys.mjs SearchUIUtils.init @@ -67,7 +67,7 @@ category browser-idle-startup resource://gre/modules/RFPHelper.sys.mjs RFPHelper category browser-idle-startup resource://gre/modules/Blocklist.sys.mjs Blocklist.loadBlocklistAsync category browser-idle-startup resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs RemoteSecuritySettings.init category browser-idle-startup moz-src:///browser/components/tabbrowser/TabUnloader.sys.mjs TabUnloader.init -category browser-idle-startup resource:///modules/GenAI.sys.mjs GenAI.init +# GenAI.sys.mjs is missing. tor-browser#44045. category browser-idle-startup moz-src:///browser/components/urlbar/QuickSuggest.sys.mjs QuickSuggest.init category browser-idle-startup moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs UrlbarSearchTermsPersistence.init category browser-idle-startup moz-src:///browser/components/search/SERPCategorization.sys.mjs SERPCategorization.init diff --git a/browser/components/DesktopActorRegistry.sys.mjs b/browser/components/DesktopActorRegistry.sys.mjs @@ -460,42 +460,7 @@ let JSWINDOWACTORS = { allFrames: true, }, - GenAI: { - parent: { - esModuleURI: "resource:///actors/GenAIParent.sys.mjs", - }, - child: { - esModuleURI: "resource:///actors/GenAIChild.sys.mjs", - events: { - mousedown: {}, - mouseup: {}, - }, - }, - allFrames: true, - onAddActor(register, unregister) { - let isRegistered = false; - - // Register the actor if we have a provider or support provider-less - const maybeRegister = () => { - if ( - Services.prefs.getCharPref("browser.ml.chat.provider", "") || - Services.prefs.getBoolPref("browser.ml.chat.page") - ) { - if (!isRegistered) { - register(); - isRegistered = true; - } - } else if (isRegistered) { - unregister(); - isRegistered = false; - } - }; - - Services.prefs.addObserver("browser.ml.chat.page", maybeRegister); - Services.prefs.addObserver("browser.ml.chat.provider", maybeRegister); - maybeRegister(); - }, - }, + // GenAIParent.sys.mjs and GenAIChild.sys.mjs are missing. tor-browser#44045. LightweightTheme: { child: { @@ -547,16 +512,8 @@ let JSWINDOWACTORS = { messageManagerGroups: ["browsers"], }, - LinkPreview: { - parent: { - esModuleURI: "resource:///actors/LinkPreviewParent.sys.mjs", - }, - child: { - esModuleURI: "resource:///actors/LinkPreviewChild.sys.mjs", - }, - includeChrome: true, - enablePreference: "browser.ml.linkPreview.enabled", - }, + // LinkPreviewParent.sys.mjs and LinkPreviewChild.sys.mjs are missing. + // tor-browser#44045. PageAssist: { parent: { diff --git a/browser/components/moz.build b/browser/components/moz.build @@ -42,7 +42,7 @@ DIRS += [ "enterprisepolicies", "extensions", "firefoxview", - "genai", + # Exclude "genai" component. tor-browser#44045. "ipprotection", "messagepreview", "migration", diff --git a/browser/components/preferences/main.js b/browser/components/preferences/main.js @@ -11,7 +11,7 @@ ChromeUtils.defineESModuleGetters(this, { BackgroundUpdate: "resource://gre/modules/BackgroundUpdate.sys.mjs", UpdateListener: "resource://gre/modules/UpdateListener.sys.mjs", - LinkPreview: "moz-src:///browser/components/genai/LinkPreview.sys.mjs", + // LinkPreview.sys.mjs is missing. tor-browser#44045. MigrationUtils: "resource:///modules/MigrationUtils.sys.mjs", SelectableProfileService: "resource:///modules/profiles/SelectableProfileService.sys.mjs", @@ -505,13 +505,13 @@ Preferences.addSetting({ id: "linkPreviewEnabled", pref: "browser.ml.linkPreview.enabled", // @ts-ignore bug 1996860 - visible: () => LinkPreview.canShowPreferences, + visible: () => false, // LinkPreview is missing. tor-browser#44045. }); Preferences.addSetting({ id: "linkPreviewKeyPoints", pref: "browser.ml.linkPreview.optin", // @ts-ignore bug 1996860 - visible: () => LinkPreview.canShowKeyPoints, + visible: () => false, // LinkPreview is missing. tor-browser#44045. }); Preferences.addSetting({ id: "linkPreviewLongPress", @@ -2605,21 +2605,21 @@ SettingGroupManager.registerGroups({ supportPage: "extensionrecommendations", subcategory: "cfrfeatures", }, - { - id: "linkPreviewEnabled", - l10nId: "link-preview-settings-enable", - subcategory: "link-preview", - items: [ - { - id: "linkPreviewKeyPoints", - l10nId: "link-preview-settings-key-points", - }, - { - id: "linkPreviewLongPress", - l10nId: "link-preview-settings-long-press", - }, - ], - }, + // { + // id: "linkPreviewEnabled", + // l10nId: "link-preview-settings-enable", + // subcategory: "link-preview", + // items: [ + // { + // id: "linkPreviewKeyPoints", + // l10nId: "link-preview-settings-key-points", + // }, + // { + // id: "linkPreviewLongPress", + // l10nId: "link-preview-settings-long-press", + // }, + // ], + // }, ], }, httpsOnly: { diff --git a/browser/components/sidebar/sidebar-main.mjs b/browser/components/sidebar/sidebar-main.mjs @@ -19,7 +19,7 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs", ShortcutUtils: "resource://gre/modules/ShortcutUtils.sys.mjs", - GenAI: "resource:///modules/GenAI.sys.mjs", + // GenAI.sys.mjs is missing. tor-browser#44045. }); /** @@ -347,17 +347,7 @@ export default class SidebarMain extends MozLitElement { .querySelectorAll("[customized-tool='true']") .forEach(node => node.remove()); - const menuBuilders = { - aichat: async () => { - if (Services.prefs.getBoolPref("browser.ml.chat.page")) { - await lazy.GenAI.buildAskChatMenu(this._contextMenu, { - browser: window.gBrowser.selectedBrowser, - selectionInfo: null, - source: "tool", - }); - } - }, - }; + const menuBuilders = {}; const builder = menuBuilders[toolId]; if (typeof builder === "function") { @@ -665,11 +655,8 @@ export default class SidebarMain extends MozLitElement { getEntrypointValues(action) { let providerInfo; if (action.view === "viewGenaiChatSidebar") { - providerInfo = lazy.GenAI.currentChatProviderInfo; - action.iconUrl = providerInfo.iconUrl; - // Sets the tooltip text for the action based on the chatbot provider's name. - // This tooltip text is also used to set the action label - action.tooltiptext = providerInfo.name; + // GenAI.sys.mjs is missing. tor-browser#44045. + return null; } if (action.disabled || action.hidden) { diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js @@ -106,8 +106,8 @@ AsyncTabSwitcher: "moz-src:///browser/components/tabbrowser/AsyncTabSwitcher.sys.mjs", PictureInPicture: "resource://gre/modules/PictureInPicture.sys.mjs", - SmartTabGroupingManager: - "moz-src:///browser/components/tabbrowser/SmartTabGrouping.sys.mjs", + // SmartTabGrouping.sys.mjs is missing. tor-browser#44045. + // Unused in this context. See mozilla bug 1981785. SponsorProtection: "moz-src:///browser/components/newtab/SponsorProtection.sys.mjs", TabMetrics: diff --git a/browser/components/tabbrowser/content/tabgroup-menu.js b/browser/components/tabbrowser/content/tabgroup-menu.js @@ -14,12 +14,12 @@ "resource:///modules/sessionstore/TabStateFlusher.sys.mjs" ); - ChromeUtils.importESModule( - "chrome://browser/content/genai/content/model-optin.mjs", - { - global: "current", - } - ); + // genai/content/model-optin.mjs is missing. tor-browser#44045. + // NOTE: model-optin.mjs defines the <model-optin> custom element. + // At the time of implementation, model-optin is only created lazily if + // SmartTabGrouping is enabled via preferences + // browser.tabs.groups.smart.enabled and + // browser.tabs.groups.smart.userEnabled. class MozTabbrowserTabGroupMenu extends MozXULElement { static COLORS = [ @@ -598,6 +598,9 @@ if (!this.smartTabGroupsEnabled || this.#smartTabGroupsInitiated) { return; } + // NOTE: In base-browser we rely on smartTabGroupsEnabled being false, so + // that the missing SmartTabGrouping.sys.mjs is not loaded. + // tor-browser#44045. const { SmartTabGroupingManager } = ChromeUtils.importESModule( "moz-src:///browser/components/tabbrowser/SmartTabGrouping.sys.mjs" ); diff --git a/browser/components/tabbrowser/moz.build b/browser/components/tabbrowser/moz.build @@ -18,7 +18,8 @@ MOZ_SRC_FILES += [ "GroupsList.sys.mjs", "NewTabPagePreloading.sys.mjs", "OpenInTabsUtils.sys.mjs", - "SmartTabGrouping.sys.mjs", + # SmartTabGrouping.sys.mjs is excluded because it requires the missing "ml" + # component. tor-browser#44045. "TabMetrics.sys.mjs", "TabsList.sys.mjs", "TabUnloader.sys.mjs", diff --git a/browser/components/translations/content/selectTranslationsPanel.js b/browser/components/translations/content/selectTranslationsPanel.js @@ -14,6 +14,7 @@ ChromeUtils.defineESModuleGetters(this, { "chrome://browser/content/translations/TranslationsPanelShared.sys.mjs", TranslationsUtils: "chrome://global/content/translations/TranslationsUtils.mjs", + // NOTE: Translator.mjs is missing but should be unused. tor-browser#44045. Translator: "chrome://global/content/translations/Translator.mjs", }); diff --git a/browser/components/urlbar/QuickSuggest.sys.mjs b/browser/components/urlbar/QuickSuggest.sys.mjs @@ -174,8 +174,7 @@ const FEATURES = { "moz-src:///browser/components/urlbar/private/SportsSuggestions.sys.mjs", SuggestBackendMerino: "moz-src:///browser/components/urlbar/private/SuggestBackendMerino.sys.mjs", - SuggestBackendMl: - "moz-src:///browser/components/urlbar/private/SuggestBackendMl.sys.mjs", + // SuggestBackendMl.sys.mjs is missing. tor-browser#44045. SuggestBackendRust: "moz-src:///browser/components/urlbar/private/SuggestBackendRust.sys.mjs", WeatherSuggestions: @@ -253,7 +252,7 @@ class _QuickSuggest { return [ this.rustBackend, this.#featuresByName.get("SuggestBackendMerino"), - this.#featuresByName.get("SuggestBackendMl"), + // SuggestBackendMl.sys.mjs is missing. tor-browser#44045. ].filter(b => b?.isEnabled); } diff --git a/browser/components/urlbar/UrlbarController.sys.mjs b/browser/components/urlbar/UrlbarController.sys.mjs @@ -17,8 +17,6 @@ ChromeUtils.defineESModuleGetters(lazy, { SearchbarProvidersManager: "moz-src:///browser/components/urlbar/UrlbarProvidersManager.sys.mjs", UrlbarPrefs: "moz-src:///browser/components/urlbar/UrlbarPrefs.sys.mjs", - UrlbarProviderSemanticHistorySearch: - "moz-src:///browser/components/urlbar/UrlbarProviderSemanticHistorySearch.sys.mjs", UrlbarProvidersManager: "moz-src:///browser/components/urlbar/UrlbarProvidersManager.sys.mjs", UrlbarUtils: "moz-src:///browser/components/urlbar/UrlbarUtils.sys.mjs", @@ -1279,16 +1277,6 @@ class TelemetryEvent { */ #getAvailableSemanticSources() { let sources = []; - try { - if ( - lazy.UrlbarProviderSemanticHistorySearch.semanticManager - .canUseSemanticSearch - ) { - sources.push("history"); - } - } catch (e) { - lazy.logger.error("Error getting the semantic manager:", e); - } if (!sources.length) { sources.push("none"); } diff --git a/browser/components/urlbar/UrlbarProvidersManager.sys.mjs b/browser/components/urlbar/UrlbarProvidersManager.sys.mjs @@ -175,12 +175,7 @@ var localProviderModules = [ "moz-src:///browser/components/urlbar/UrlbarProviderSearchSuggestions.sys.mjs", supportedInputTypes: ["urlbar", "searchbar"], }, - { - name: "UrlbarProviderSemanticHistorySearch", - module: - "moz-src:///browser/components/urlbar/UrlbarProviderSemanticHistorySearch.sys.mjs", - supportedInputTypes: ["urlbar"], - }, + // UrlbarProviderSemanticHistorySearch.sys.mjs is missing. tor-browser#44045. { name: "UrlbarProviderTabToSearch", module: diff --git a/browser/components/urlbar/moz.build b/browser/components/urlbar/moz.build @@ -46,7 +46,8 @@ MOZ_SRC_FILES += [ "UrlbarProviderRestrictKeywordsAutofill.sys.mjs", "UrlbarProviderSearchSuggestions.sys.mjs", "UrlbarProviderSearchTips.sys.mjs", - "UrlbarProviderSemanticHistorySearch.sys.mjs", + # Exclude UrlbarProviderSemanticHistorySearch.sys.mjs because it requires + # the missing "ml" component. tor-browser#44045. "UrlbarProvidersManager.sys.mjs", "UrlbarProviderTabToSearch.sys.mjs", "UrlbarProviderTokenAliasEngines.sys.mjs", @@ -72,11 +73,13 @@ MOZ_SRC_FILES += [ "private/ImpressionCaps.sys.mjs", "private/MarketSuggestions.sys.mjs", "private/MDNSuggestions.sys.mjs", - "private/MLSuggest.sys.mjs", + # Exclude MLSuggest.sys.mjs because it requires the missing "ml" component. + # tor-browser#44045. "private/RealtimeSuggestProvider.sys.mjs", "private/SportsSuggestions.sys.mjs", "private/SuggestBackendMerino.sys.mjs", - "private/SuggestBackendMl.sys.mjs", + # Exclude SuggestBackendMl.sys.mjs because it requires the missing "ml" + # component. tor-browser#44045. "private/SuggestBackendRust.sys.mjs", "private/SuggestFeature.sys.mjs", "private/WeatherSuggestions.sys.mjs", diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in @@ -177,7 +177,6 @@ @BINPATH@/@DLL_PREFIX@gkcodecs@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@mozavutil@DLL_SUFFIX@ @BINPATH@/@DLL_PREFIX@mozavcodec@DLL_SUFFIX@ -@BINPATH@/@DLL_PREFIX@mozinference@DLL_SUFFIX@ ; [Components] #ifdef ACCESSIBILITY diff --git a/config/external/moz.build b/config/external/moz.build @@ -13,9 +13,6 @@ DIRS += [ "sqlite", ] -if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": - DIRS += ["mozinference"] - if CONFIG["MOZ_USING_WASM_SANDBOXING"]: DIRS += [ "rlbox_wasm2c_sandbox", diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp @@ -136,7 +136,8 @@ static const RedirEntry kRedirMap[] = { nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT}, -#if defined(NIGHTLY_BUILD) +#if defined(NIGHTLY_BUILD) && !defined(BASE_BROWSER_VERSION) + // Do not include about:inference since "ml" is excluded. tor-browser#44045. {"inference", "chrome://global/content/aboutInference.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, #endif @@ -217,7 +218,9 @@ static const RedirEntry kRedirMap[] = { #endif {"telemetry", "chrome://global/content/aboutTelemetry.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, -#ifndef MOZ_WIDGET_ANDROID +#ifndef BASE_BROWSER_VERSION + // Remove about:translations since translations are disabled. + // See tor-browser#44045 and tor-browser#42872. {"translations", "chrome://global/content/translations/about-translations.html", nsIAboutModule::ALLOW_SCRIPT | diff --git a/docshell/build/components.conf b/docshell/build/components.conf @@ -41,8 +41,8 @@ if defined('MOZ_CRASHREPORTER'): about_pages.append('crashes') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': about_pages.append('profiles') -if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': - about_pages.append('translations') +# Remove about:translations since translations are disabled. +# See tor-browser#44045 and tor-browser#42872. if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android': about_pages.append('crashcontentjava') about_pages.append('home') @@ -53,8 +53,8 @@ if not defined('MOZ_GLEAN_ANDROID'): about_pages.append('glean') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android' and buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'windows': about_pages.append('webauthn') -if defined('NIGHTLY_BUILD'): - about_pages.append('inference') +# Do not include about:inference since "ml" component is missing. +# tor-browser#44045. Headers = ['/docshell/build/nsDocShellModule.h'] diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build @@ -1112,12 +1112,6 @@ WEBIDL_FILES = [ "XSLTProcessor.webidl", ] -# Native llama.cpp for ml engine. -if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": - WEBIDL_FILES += [ - "LlamaRunner.webidl", - ] - if CONFIG["MOZ_WEBRTC"]: WEBIDL_FILES += [ "PeerConnectionImpl.webidl", diff --git a/toolkit/components/extensions/ext-toolkit.json b/toolkit/components/extensions/ext-toolkit.json @@ -162,12 +162,6 @@ "manifest": ["theme"], "paths": [["theme"]] }, - "trial_ml": { - "url": "chrome://extensions/content/parent/ext-trial-ml.js", - "schema": "chrome://extensions/content/schemas/trial_ml.json", - "scopes": ["addon_parent", "content_parent"], - "paths": [["trial", "ml"]] - }, "userScripts": { "url": "chrome://extensions/content/parent/ext-userScripts.js", "schema": "chrome://extensions/content/schemas/user_scripts.json", diff --git a/toolkit/components/extensions/parent/ext-trial-ml.js b/toolkit/components/extensions/parent/ext-trial-ml.js @@ -4,6 +4,8 @@ "use strict"; +// This script should be excluded from `ext-toolkit.json` since "ml" is +// missing. tor-browser#44045. ChromeUtils.defineESModuleGetters(this, { createEngine: "chrome://global/content/ml/EngineProcess.sys.mjs", PipelineOptions: "chrome://global/content/ml/EngineProcess.sys.mjs", diff --git a/toolkit/components/moz.build b/toolkit/components/moz.build @@ -55,7 +55,7 @@ DIRS += [ "kvstore", "media", "mediasniffer", - "ml", + # Exclude the "ml" component. tor-browser#44045. "mozintl", "mozprotocol", "pageextractor", @@ -148,8 +148,7 @@ if CONFIG["MOZ_BACKGROUNDTASKS"]: if CONFIG["MOZ_UNIFFI_FIXTURES"]: DIRS += ["uniffi-bindgen-gecko-js/tests"] -if CONFIG["NIGHTLY_BUILD"]: - DIRS += ["aboutinference"] +# Exclude aboutinference (about:inference). tor-browser#44045. UNIFIED_SOURCES += [ "/toolkit/components/antitracking/ContentBlockingAllowList.cpp", diff --git a/toolkit/components/pdfjs/content/PdfjsParent.sys.mjs b/toolkit/components/pdfjs/content/PdfjsParent.sys.mjs @@ -21,9 +21,13 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { clearTimeout: "resource://gre/modules/Timer.sys.mjs", + // EngineProcess.sys.mjs is missing but should be unused since + // pdfjs.enableGuessAltText is "false". tor-browser#44045. createEngine: "chrome://global/content/ml/EngineProcess.sys.mjs", EngineProcess: "chrome://global/content/ml/EngineProcess.sys.mjs", IndexedDB: "resource://gre/modules/IndexedDB.sys.mjs", + // ModelHub.sys.mjs and ml/Utils.sys.mjs are missing but should be unused + // since pdfjs.enableGuessAltText is "false". tor-browser#44045. ModelHub: "chrome://global/content/ml/ModelHub.sys.mjs", MultiProgressAggregator: "chrome://global/content/ml/Utils.sys.mjs", Progress: "chrome://global/content/ml/Utils.sys.mjs", @@ -268,6 +272,11 @@ export class PdfjsParent extends JSWindowActorParent { } #checkPreferences() { + // No-op this method since it will set browser.ml.enable and + // pdfjs.enableAltText to user values "true" when the module loads. + // See mozilla bug 1943456 comment 9. tor-browser#44045. + return; + // eslint-disable-next-line no-unreachable if (Services.prefs.getBoolPref("pdfjs.enableAltTextForEnglish", true)) { return; } diff --git a/toolkit/components/places/moz.build b/toolkit/components/places/moz.build @@ -75,8 +75,9 @@ if CONFIG["MOZ_PLACES"]: "PlacesFrecencyRecalculator.sys.mjs", "PlacesPreviews.sys.mjs", "PlacesQuery.sys.mjs", - "PlacesSemanticHistoryDatabase.sys.mjs", - "PlacesSemanticHistoryManager.sys.mjs", + # PlacesSemanticHistoryDatabase.sys.mjs and + # PlacesSemanticHistoryManager.sys.mjs modules are excluded because they + # require the missing "ml" component. tor-browser#44045. "PlacesSyncUtils.sys.mjs", "PlacesTransactions.sys.mjs", "PlacesUtils.sys.mjs", diff --git a/toolkit/components/translations/actors/TranslationsChild.sys.mjs b/toolkit/components/translations/actors/TranslationsChild.sys.mjs @@ -4,6 +4,9 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + // translations-document.sys.mjs is missing. tor-browser#44045. + // NOTE: We don't expect these missing modules to be called since + // browser.translations.enable is false. TranslationsDocument: "chrome://global/content/translations/translations-document.sys.mjs", LRUCache: diff --git a/toolkit/components/translations/actors/TranslationsParent.sys.mjs b/toolkit/components/translations/actors/TranslationsParent.sys.mjs @@ -89,6 +89,8 @@ ChromeUtils.defineESModuleGetters(lazy, { "chrome://global/content/translations/TranslationsTelemetry.sys.mjs", TranslationsUtils: "chrome://global/content/translations/TranslationsUtils.mjs", + // "EngineProcess.sys.mjs" is missing. Should be unused since + // browser.translations.enable is set to "false". tor-browser#44045. EngineProcess: "chrome://global/content/ml/EngineProcess.sys.mjs", }); diff --git a/toolkit/components/translations/actors/moz.build b/toolkit/components/translations/actors/moz.build @@ -3,10 +3,14 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. FINAL_TARGET_FILES.actors += [ - "AboutTranslationsChild.sys.mjs", - "AboutTranslationsParent.sys.mjs", + # Exclude AboutTranslationsChild.sys.mjs, AboutTranslationsParent.sys.mjs + # because translations are disabled. tor-browser#44045. "TranslationsChild.sys.mjs", - "TranslationsEngineChild.sys.mjs", - "TranslationsEngineParent.sys.mjs", + # Exclude TranslationsEngineChild.sys.mjs and + # TranslationsEngineParent.sys.mjs because we do not want to include the ML + # engine in our build. tor-browser#44045. + # NOTE: Whilst we might want to exclude TranslationsParent.sys.mjs, which is + # not functional, this module is called from a few places, including + # geckoview, which would be difficult to disentangle. "TranslationsParent.sys.mjs", ] diff --git a/toolkit/components/translations/jar.mn b/toolkit/components/translations/jar.mn @@ -6,11 +6,7 @@ toolkit.jar: content/global/translations/about-translations.html (content/about-translations.html) content/global/translations/about-translations.css (content/about-translations.css) content/global/translations/about-translations.mjs (content/about-translations.mjs) - content/global/translations/bergamot-translator.js (bergamot-translator/bergamot-translator.js) - content/global/translations/translations-document.sys.mjs (content/translations-document.sys.mjs) - content/global/translations/translations-engine.sys.mjs (content/translations-engine.sys.mjs) - content/global/translations/translations-engine.worker.js (content/translations-engine.worker.js) - content/global/translations/Translator.mjs (content/Translator.mjs) + # Exclude translations engine-related content scripts. tor-browser#44045. content/global/translations/TranslationsTelemetry.sys.mjs (TranslationsTelemetry.sys.mjs) content/global/translations/TranslationsUtils.mjs (TranslationsUtils.mjs) diff --git a/toolkit/modules/ActorManagerParent.sys.mjs b/toolkit/modules/ActorManagerParent.sys.mjs @@ -49,17 +49,8 @@ let JSPROCESSACTORS = { }, }, - // A single process (shared with translations) that manages machine learning engines. - MLEngine: { - remoteTypes: ["inference"], - parent: { - esModuleURI: "resource://gre/actors/MLEngineParent.sys.mjs", - }, - child: { - esModuleURI: "resource://gre/actors/MLEngineChild.sys.mjs", - }, - enablePreference: "browser.ml.enable", - }, + // MLEngineParent.sys.mjs and MLEngineChild.sys.mjs are missing. + // tor-browser#44045. ProcessConduits: { parent: { @@ -70,17 +61,8 @@ let JSPROCESSACTORS = { }, }, - // A single process (shared with MLEngine) that controls all of the translations. - TranslationsEngine: { - remoteTypes: ["inference"], - parent: { - esModuleURI: "resource://gre/actors/TranslationsEngineParent.sys.mjs", - }, - child: { - esModuleURI: "resource://gre/actors/TranslationsEngineChild.sys.mjs", - }, - enablePreference: "browser.translations.enable", - }, + // TranslationsEngineParent.sys.mjs and TranslationsEngineChild.sys.mjs are + // missing. tor-browser#44045. }; /** @@ -765,25 +747,8 @@ if (AppConstants.platform != "android") { allFrames: true, }; - JSWINDOWACTORS.AboutTranslations = { - parent: { - esModuleURI: "resource://gre/actors/AboutTranslationsParent.sys.mjs", - }, - child: { - esModuleURI: "resource://gre/actors/AboutTranslationsChild.sys.mjs", - events: { - // Run the actor before any content of the page appears to inject functions. - DOMDocElementInserted: {}, - DOMContentLoaded: {}, - // Used to show and hide the translations button. - pageshow: { mozSystemGroup: true }, - pagehide: { mozSystemGroup: true }, - }, - }, - matches: ["about:translations"], - remoteTypes: ["privilegedabout"], - enablePreference: "browser.translations.enable", - }; + // AboutTranslationsParent.sys.mjs and AboutTranslationsChild.sys.mjs are + // missing. tor-browser#44045. JSWINDOWACTORS.ColorPicker = { parent: { diff --git a/toolkit/mozapps/extensions/content/aboutaddons.js b/toolkit/mozapps/extensions/content/aboutaddons.js @@ -24,6 +24,10 @@ ChromeUtils.defineESModuleGetters(this, { ExtensionParent: "resource://gre/modules/ExtensionParent.sys.mjs", ExtensionPermissions: "resource://gre/modules/ExtensionPermissions.sys.mjs", PrivateBrowsingUtils: "resource://gre/modules/PrivateBrowsingUtils.sys.mjs", + // ml/Utils.sys.mjs is missing. This should be unused since only addons with + // type "mlmodel" would use these methods. Such addons are probably excluded + // since ModelHubProvider.sys.mjs defines the "mlmodel" type, but is excluded + // from the build. tor-browser#44045. recordListViewTelemetry: "chrome://global/content/ml/Utils.sys.mjs", recordDetailsViewTelemetry: "chrome://global/content/ml/Utils.sys.mjs", recordRemoveInitiatedTelemetry: "chrome://global/content/ml/Utils.sys.mjs", diff --git a/toolkit/mozapps/extensions/content/components/addon-mlmodel-details.mjs b/toolkit/mozapps/extensions/content/components/addon-mlmodel-details.mjs @@ -8,6 +8,8 @@ import { MozLitElement } from "chrome://global/content/lit-utils.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { DownloadUtils: "resource://gre/modules/DownloadUtils.sys.mjs", + // ml/Utils.sys.mjs is missing but should be unused since addons with type + // "mlmodel" should be excluded. tor-browser#44045. featureEngineIdToFluentId: "chrome://global/content/ml/Utils.sys.mjs", recordModelCardLinkTelemetry: "chrome://global/content/ml/Utils.sys.mjs", }); diff --git a/toolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.mjs b/toolkit/mozapps/extensions/content/components/mlmodel-card-list-additions.mjs @@ -7,6 +7,8 @@ import { MozLitElement } from "chrome://global/content/lit-utils.mjs"; const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + // ml/Utils.sys.mjs is missing but should be unused since addons with type + // "mlmodel" should be excluded. tor-browser#44045. featureEngineIdToFluentId: "chrome://global/content/ml/Utils.sys.mjs", }); diff --git a/toolkit/mozapps/extensions/extensions.manifest b/toolkit/mozapps/extensions/extensions.manifest @@ -6,7 +6,7 @@ category update-timer addonManager @mozilla.org/addons/integration;1,getService, #ifndef MOZ_THUNDERBIRD #ifndef MOZ_WIDGET_ANDROID category addon-provider-module GMPProvider resource://gre/modules/addons/GMPProvider.sys.mjs -category addon-provider-module ModelHubProvider resource://gre/modules/addons/ModelHubProvider.sys.mjs +# ModelHubProvider.sys.mjs is missing. tor-browser#44045. category addon-provider-module SitePermsAddonProvider resource://gre/modules/addons/SitePermsAddonProvider.sys.mjs #endif #endif diff --git a/toolkit/mozapps/extensions/internal/moz.build b/toolkit/mozapps/extensions/internal/moz.build @@ -20,7 +20,8 @@ EXTRA_JS_MODULES.addons += [ if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": EXTRA_JS_MODULES.addons += [ "GMPProvider.sys.mjs", - "ModelHubProvider.sys.mjs", + # Exclude ModelHubProvider.sys.mjs, which requires the missing "ml" + # component. tor-browser#44045. ## TODO consider extending it to mobile builds too (See Bug 1790084). "SitePermsAddonProvider.sys.mjs", ]