commit 4cb2ef62c4b884377bac1b4c1f5633b69dba843d
parent 9a065a86d8133b31cbccad984d573e6051de0bff
Author: Morgan <morgan@torproject.org>
Date: Thu, 16 Feb 2023 17:13:55 +0100
BB 42716: Disable unwanted about: pages
Diffstat:
5 files changed, 33 insertions(+), 16 deletions(-)
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
@@ -96,9 +96,11 @@ static const RedirEntry kRedirMap[] = {
{"rights", "https://www.mozilla.org/about/legal/terms/firefox/",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD},
+#ifndef BASE_BROWSER_VERSION
{"robots", "chrome://browser/content/aboutRobots.xhtml",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT},
+#endif
{"sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT |
nsIAboutModule::IS_SECURE_CHROME_UI},
diff --git a/browser/components/about/components.conf b/browser/components/about/components.conf
@@ -25,7 +25,7 @@ pages = [
'reader',
'restartrequired',
'rights',
- 'robots',
+ # Removed 'robots'. tor-browser#42831.
'sessionrestore',
'settings',
'tabcrashed',
diff --git a/docshell/base/nsAboutRedirector.cpp b/docshell/base/nsAboutRedirector.cpp
@@ -146,10 +146,9 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::IS_SECURE_CHROME_UI},
{"logging", "chrome://global/content/aboutLogging/aboutLogging.html",
nsIAboutModule::ALLOW_SCRIPT},
- {"logo", "chrome://branding/content/about.png",
- nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
- // Linkable for testing reasons.
- nsIAboutModule::MAKE_LINKABLE},
+ // Do not allow web pages to link to about:logo, which varies between
+ // channels. See tor-browser#43308.
+ // Moreover, it exposes firefox-specific branding.
{"memory", "chrome://global/content/aboutMemory.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
{"certificate", "chrome://global/content/certviewer/certviewer.html",
@@ -158,8 +157,10 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
nsIAboutModule::IS_SECURE_CHROME_UI},
+#ifndef BASE_BROWSER_VERSION
{"mozilla", "chrome://global/content/mozilla.html",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT},
+#endif
#if !defined(ANDROID) && !defined(XP_WIN)
{"webauthn", "chrome://global/content/aboutWebauthn.html",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
@@ -209,15 +210,17 @@ static const RedirEntry kRedirMap[] = {
{"windows-messages", "chrome://global/content/aboutWindowsMessages.html",
nsIAboutModule::ALLOW_SCRIPT},
#endif
-#ifndef MOZ_GLEAN_ANDROID
+#ifdef MOZ_TELEMETRY_REPORTING
+# ifndef MOZ_GLEAN_ANDROID
{"glean", "chrome://global/content/aboutGlean.html",
-# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL)
+# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL)
nsIAboutModule::HIDE_FROM_ABOUTABOUT |
-# endif
+# endif
nsIAboutModule::ALLOW_SCRIPT},
-#endif
+# endif
{"telemetry", "chrome://global/content/aboutTelemetry.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
+#endif
#ifndef BASE_BROWSER_VERSION
// Remove about:translations since translations are disabled.
// See tor-browser#44045 and tor-browser#42872.
@@ -228,10 +231,16 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
#endif
+#ifndef BASE_BROWSER_VERSION
+ // We disable safe browsing and the data update mechanisms. So this page
+ // will be non-functional or at least unreliable.
{"url-classifier", "chrome://global/content/aboutUrlClassifier.xhtml",
nsIAboutModule::ALLOW_SCRIPT},
+#endif
+#ifdef MOZ_WEBRTC
{"webrtc", "chrome://global/content/aboutwebrtc/aboutWebrtc.html",
nsIAboutModule::ALLOW_SCRIPT},
+#endif
{"crashparent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT},
{"crashcontent", "about:blank",
nsIAboutModule::HIDE_FROM_ABOUTABOUT |
diff --git a/docshell/build/components.conf b/docshell/build/components.conf
@@ -21,7 +21,7 @@ about_pages = [
'logging',
'logo',
'memory',
- 'mozilla',
+ # Removed 'mozilla'. tor-browser#42831.
'neterror',
'networking',
'performance',
@@ -30,15 +30,17 @@ about_pages = [
'serviceworkers',
'srcdoc',
'support',
- 'telemetry',
- 'url-classifier',
- 'webrtc',
+ # Removed 'url-classifier'. tor-browser#42831.
]
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android':
about_pages.append('addons')
if defined('MOZ_CRASHREPORTER'):
about_pages.append('crashes')
+if defined('MOZ_TELEMETRY_REPORTING'):
+ about_pages.append('telemetry')
+if defined('MOZ_WEBRTC'):
+ about_pages.append('webrtc')
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android':
about_pages.append('profiles')
# Remove about:translations since translations are disabled.
@@ -49,7 +51,7 @@ if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android':
if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'windows':
about_pages.append('third-party')
about_pages.append('windows-messages')
-if not defined('MOZ_GLEAN_ANDROID'):
+if defined('MOZ_TELEMETRY_REPORTING') and 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')
diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn
@@ -24,6 +24,7 @@ toolkit.jar:
#endif
content/global/aboutServiceWorkers.js
content/global/aboutServiceWorkers.xhtml
+#ifdef MOZ_WEBRTC
content/global/aboutwebrtc/aboutWebrtc.css (aboutwebrtc/aboutWebrtc.css)
content/global/aboutwebrtc/aboutWebrtc.mjs (aboutwebrtc/aboutWebrtc.mjs)
content/global/aboutwebrtc/graph.mjs (aboutwebrtc/graph.mjs)
@@ -32,19 +33,22 @@ toolkit.jar:
content/global/aboutwebrtc/disclosure.mjs (aboutwebrtc/disclosure.mjs)
content/global/aboutwebrtc/copyButton.mjs (aboutwebrtc/copyButton.mjs)
content/global/aboutwebrtc/aboutWebrtc.html (aboutwebrtc/aboutWebrtc.html)
+#endif
content/global/aboutRestricted/aboutRestricted.mjs (aboutRestricted/aboutRestricted.mjs)
content/global/aboutRestricted/aboutRestricted.html (aboutRestricted/aboutRestricted.html)
content/global/aboutRestricted/aboutRestricted.css (aboutRestricted/aboutRestricted.css)
content/global/aboutSupport.js
* content/global/aboutSupport.xhtml
-#ifndef MOZ_GLEAN_ANDROID
+#ifdef MOZ_TELEMETRY_REPORTING
+# ifndef MOZ_GLEAN_ANDROID
content/global/aboutGlean.js
content/global/aboutGlean.html
content/global/aboutGlean.css
-#endif
+# endif
content/global/aboutTelemetry.js
content/global/aboutTelemetry.xhtml
content/global/aboutTelemetry.css
+#endif
content/global/aboutUrlClassifier.js
content/global/aboutUrlClassifier.xhtml
content/global/aboutUrlClassifier.css