Commit cbf24cb6 authored by henry's avatar henry Committed by Pier Angelo Vendrame
Browse files

BB 31575: Disable Firefox Home (Activity Stream)

Treat about:blank as the default home page and new tab page.

BB 43886: Disable the newtab component/addon.

Bug 41624: Disable about:pocket-* pages.

Bug 40144: Redirect about:privatebrowsing to the user's home
parent afb9df4b
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -90,8 +90,7 @@ with Files("WebRTC*.sys.mjs"):
    BUG_COMPONENT = ("Firefox", "Site Permissions")

FINAL_TARGET_FILES.actors += [
    "AboutNewTabChild.sys.mjs",
    "AboutNewTabParent.sys.mjs",
    # Remove newtab actors. tor-browser#43886.
    "AboutPrivateBrowsingChild.sys.mjs",
    "AboutPrivateBrowsingParent.sys.mjs",
    "AboutProtectionsChild.sys.mjs",
+1 −5
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@ category browser-before-ui-startup resource://normandy/Normandy.sys.mjs Normandy
#endif
category browser-before-ui-startup moz-src:///browser/components/nova/NovaPrefs.sys.mjs NovaPrefs.init
category browser-before-ui-startup moz-src:///browser/components/privatebrowsing/ResetPBMPanel.sys.mjs ResetPBMPanel.init
category browser-before-ui-startup resource:///modules/AboutHomeStartupCache.sys.mjs AboutHomeStartupCache.init
# newtab component is disabled. tor-browser#43886
category browser-before-ui-startup resource:///modules/AccountsGlue.sys.mjs AccountsGlue.init
category browser-before-ui-startup moz-src:///browser/modules/ObserverForwarder.sys.mjs ObserverForwarder.init

@@ -66,7 +66,6 @@ category browser-window-final-unload resource:///modules/BrowserDOMWindow.sys.mj

# App startup consumers

category browser-first-window-ready resource:///modules/AboutNewTab.sys.mjs AboutNewTab.init
category browser-first-window-ready resource:///modules/ContentCrashHandlers.sys.mjs TabCrashHandler.init
category browser-first-window-ready resource:///modules/ProcessHangMonitor.sys.mjs ProcessHangMonitor.init
category browser-first-window-ready resource://gre/modules/PageThumbs.sys.mjs PageThumbs.init
@@ -126,7 +125,6 @@ category browser-quit-application-granted resource://gre/modules/NewTabUtils.sys
category browser-quit-application-granted resource://normandy/Normandy.sys.mjs Normandy.uninit
#endif
category browser-quit-application-granted resource://gre/modules/RFPHelper.sys.mjs RFPHelper.uninit
category browser-quit-application-granted resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs ASRouterNewTabHook.destroy
category browser-quit-application-granted moz-src:///browser/components/search/SERPCategorization.sys.mjs SERPCategorization.uninit
category browser-quit-application-granted moz-src:///browser/components/search/SearchSERPTelemetry.sys.mjs SearchSERPTelemetry.uninit
#ifdef MOZ_UPDATER
@@ -135,6 +133,4 @@ category browser-quit-application-granted resource://gre/modules/UpdateListener.
category browser-quit-application-granted moz-src:///browser/components/urlbar/UrlbarSearchTermsPersistence.sys.mjs UrlbarSearchTermsPersistence.uninit
category browser-quit-application-granted moz-src:///browser/components/ipprotection/IPProtectionHelpers.sys.mjs IPProtectionActivator.uninit

category search-service-notification moz-src:///browser/components/search/SearchUIUtils.sys.mjs SearchUIUtils.showSearchServiceNotification

category browser-newtab-external-component moz-src:///browser/components/search/SearchUIUtils.sys.mjs SearchNewTabComponentsRegistrant
+2 −15
Original line number Diff line number Diff line
@@ -8,12 +8,9 @@ import { XPCOMUtils } from "resource://gre/modules/XPCOMUtils.sys.mjs";
const lazy = {};

ChromeUtils.defineESModuleGetters(lazy, {
  AboutHomeStartupCache: "resource:///modules/AboutHomeStartupCache.sys.mjs",
  // newtab component is disabled. tor-browser#43886
  AWToolbarButton: "resource:///modules/aboutwelcome/AWToolbarUtils.sys.mjs",
  ASRouter: "resource:///modules/asrouter/ASRouter.sys.mjs",
  ASRouterDefaultConfig:
    "resource:///modules/asrouter/ASRouterDefaultConfig.sys.mjs",
  ASRouterNewTabHook: "resource:///modules/asrouter/ASRouterNewTabHook.sys.mjs",
  AddonManager: "resource://gre/modules/AddonManager.sys.mjs",
  BackupService: "resource:///modules/backup/BackupService.sys.mjs",
  BrowserSearchTelemetry:
@@ -359,10 +356,7 @@ BrowserGlue.prototype = {

  // cleanup (called on application shutdown)
  _dispose: function BG__dispose() {
    // AboutHomeStartupCache might write to the cache during
    // quit-application-granted, so we defer uninitialization
    // until here.
    lazy.AboutHomeStartupCache.uninit();
    // newtab component is disabled. tor-browser#43886

    if (this._lateTasksIdleObserver) {
      this._userIdleService.removeIdleObserver(
@@ -1199,13 +1193,6 @@ BrowserGlue.prototype = {
        },
      },

      {
        name: "ASRouterNewTabHook.createInstance",
        task: () => {
          lazy.ASRouterNewTabHook.createInstance(lazy.ASRouterDefaultConfig());
        },
      },

      {
        name: "BackgroundUpdate",
        condition: AppConstants.MOZ_UPDATE_AGENT && AppConstants.MOZ_UPDATER,
+0 −22
Original line number Diff line number Diff line
@@ -758,28 +758,6 @@ let JSWINDOWACTORS = {
    allFrames: true,
  },

  ASRouter: {
    parent: {
      esModuleURI: "resource:///actors/ASRouterParent.sys.mjs",
    },
    child: {
      esModuleURI: "resource:///actors/ASRouterChild.sys.mjs",
      events: {
        // This is added so the actor instantiates immediately and makes
        // methods available to the page js on load.
        DOMDocElementInserted: {},
      },
    },
    matches: [
      "about:asrouter*",
      "about:welcome*",
      "about:privatebrowsing*",
      "about:newtab*",
      "about:home*",
    ],
    remoteTypes: ["privilegedabout"],
  },

  SwitchDocumentDirection: {
    child: {
      esModuleURI: "resource:///actors/SwitchDocumentDirectionChild.sys.mjs",
+17 −16
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#define ABOUT_WELCOME_CHROME_URL \
  "chrome://browser/content/aboutwelcome/aboutwelcome.html"
#define ABOUT_HOME_URL "about:home"
#define BASE_BROWSER_HOME_PAGE_URL "chrome://browser/content/blanktab.html"

namespace mozilla {
namespace browser {
@@ -32,6 +33,12 @@ struct RedirEntry {
  uint32_t flags;
};

static const uint32_t BASE_BROWSER_HOME_PAGE_FLAGS =
    nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
    nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
    nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
    nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI;

/*
  Entries which do not have URI_SAFE_FOR_UNTRUSTED_CONTENT will run with chrome
  privileges. This is potentially dangerous. Please use
@@ -84,10 +91,7 @@ static const RedirEntry kRedirMap[] = {
         nsIAboutModule::HIDE_FROM_ABOUTABOUT},
    {"policies", "chrome://browser/content/policies/aboutPolicies.html",
     nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
    {"privatebrowsing", "chrome://browser/content/aboutPrivateBrowsing.html",
     nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
         nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
         nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
    {"privatebrowsing", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    {"profiling",
     "chrome://devtools/content/performance-new/aboutprofiling/index.html",
     nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
@@ -106,11 +110,10 @@ static const RedirEntry kRedirMap[] = {
    {"welcomeback", "chrome://browser/content/aboutWelcomeBack.xhtml",
     nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT |
         nsIAboutModule::IS_SECURE_CHROME_UI},
    {"welcome", "about:blank",
     nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
         nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
         nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
         nsIAboutModule::ALLOW_SCRIPT},
    {"welcome", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    {"home", "about:blank", BASE_BROWSER_HOME_PAGE_FLAGS},
    {"newtab", "chrome://browser/content/blanktab.html",
     BASE_BROWSER_HOME_PAGE_FLAGS},
    {"messagepreview",
     "chrome://browser/content/messagepreview/messagepreview.html",
     nsIAboutModule::URI_MUST_LOAD_IN_CHILD |
@@ -205,13 +208,11 @@ AboutRedirector::NewChannel(nsIURI* aURI, nsILoadInfo* aLoadInfo,
    if (!strcmp(path.get(), redir.id)) {
      nsAutoCString url;

      if (path.EqualsLiteral("welcome")) {
        NimbusFeatures::RecordExposureEvent("aboutwelcome"_ns, true);
        if (NimbusFeatures::GetBool("aboutwelcome"_ns, "enabled"_ns, true)) {
          url.AssignASCII(ABOUT_WELCOME_CHROME_URL);
        } else {
          url.AssignASCII(ABOUT_HOME_URL);
        }
      if (path.EqualsLiteral("welcome") || path.EqualsLiteral("home") ||
          path.EqualsLiteral("privatebrowsing") ||
          (path.EqualsLiteral("newtab") &&
           StaticPrefs::browser_newtabpage_enabled())) {
        url.AssignASCII(BASE_BROWSER_HOME_PAGE_URL);
      }

      // fall back to the specified url in the map
Loading