Commit 87f768e6 authored by Alex Catarineu's avatar Alex Catarineu Committed by Matthew Finkel
Browse files

Bug 31575: Replace Firefox Home (newtab) with about:tor

Avoid loading AboutNewTab in BrowserGlue.jsm in order
to avoid several network requests that we do not need. Besides,
about:newtab will now point to about:blank or about:tor (depending
on browser.newtabpage.enabled) and about:home will point to
about:tor.
parent d25dea62
Loading
Loading
Loading
Loading
+2 −27
Original line number Diff line number Diff line
@@ -29,12 +29,6 @@ ChromeUtils.defineModuleGetter(
  "resource:///modules/CustomizableUI.jsm"
);

ChromeUtils.defineModuleGetter(
  this,
  "AboutNewTab",
  "resource:///modules/AboutNewTab.jsm"
);

ChromeUtils.defineModuleGetter(
  this,
  "E10SUtils",
@@ -123,19 +117,6 @@ let JSWINDOWACTORS = {
    matches: ["about:newinstall"],
  },

  AboutNewTab: {
    child: {
      moduleURI: "resource:///actors/AboutNewTabChild.jsm",
      events: {
        DOMContentLoaded: {},
      },
    },
    // The wildcard on about:newtab is for the ?endpoint query parameter
    // that is used for snippets debugging.
    matches: ["about:home", "about:welcome", "about:newtab*"],
    remoteTypes: ["privilegedabout"],
  },

  AboutPlugins: {
    parent: {
      moduleURI: "resource:///actors/AboutPluginsParent.jsm",
@@ -1730,8 +1711,6 @@ BrowserGlue.prototype = {

  // the first browser window has finished initializing
  _onFirstWindowLoaded: function BG__onFirstWindowLoaded(aWindow) {
    AboutNewTab.init();

    TabCrashHandler.init();

    ProcessHangMonitor.init();
@@ -5199,12 +5178,8 @@ var AboutHomeStartupCache = {
      return { pageInputStream: null, scriptInputStream: null };
    }

    let state = AboutNewTab.activityStream.store.getState();
    return new Promise(resolve => {
      this._cacheDeferred = resolve;
      this.log.trace("Parent received cache streams.");
      this._procManager.sendAsyncMessage(this.CACHE_REQUEST_MESSAGE, { state });
    });
    this.log.error("Activity Stream is disabled in Tor Browser.");
    return { pageInputStream: null, scriptInputStream: null };
  },

  /**
+1 −14
Original line number Diff line number Diff line
@@ -286,20 +286,7 @@ class BaseAboutNewTabService {
   * the newtab page has no effect on the result of this function.
   */
  get defaultURL() {
    // Generate the desired activity stream resource depending on state, e.g.,
    // "resource://activity-stream/prerendered/activity-stream.html"
    // "resource://activity-stream/prerendered/activity-stream-debug.html"
    // "resource://activity-stream/prerendered/activity-stream-noscripts.html"
    return [
      "resource://activity-stream/prerendered/",
      "activity-stream",
      // Debug version loads dev scripts but noscripts separately loads scripts
      this.activityStreamDebug && !this.privilegedAboutProcessEnabled
        ? "-debug"
        : "",
      this.privilegedAboutProcessEnabled ? "-noscripts" : "",
      ".html",
    ].join("");
    return "about:tor";
  }

  /*
+2 −2
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@
                class="check-home-page-controlled"
                data-preference-related="browser.startup.homepage">
        <menupopup>
          <menuitem value="0" data-l10n-id="home-mode-choice-default" />
          <menuitem value="0" label="&aboutTor.title;" />
          <menuitem value="2" data-l10n-id="home-mode-choice-custom" />
          <menuitem value="1" data-l10n-id="home-mode-choice-blank" />
        </menupopup>
@@ -97,7 +97,7 @@
                flex="1"
                preference="browser.newtabpage.enabled">
      <menupopup>
        <menuitem value="0" data-l10n-id="home-mode-choice-default" />
        <menuitem value="0" label="&aboutTor.title;" />
        <menuitem value="1" data-l10n-id="home-mode-choice-blank" />
      </menupopup>
    </menulist>
+4 −1
Original line number Diff line number Diff line
@@ -14,7 +14,10 @@
<?xml-stylesheet href="chrome://browser/skin/preferences/privacy.css"?>
<?xml-stylesheet href="chrome://browser/content/securitylevel/securityLevelPreferences.css"?>

<!DOCTYPE html>
<!DOCTYPE html [
<!ENTITY % aboutTorDTD SYSTEM "chrome://torbutton/locale/aboutTor.dtd">
  %aboutTorDTD;
]>

<html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:html="http://www.w3.org/1999/xhtml"
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
});

const kPrefName = "browser.startup.homepage";
const kDefaultHomePage = "about:home";
const kDefaultHomePage = "about:tor";
const kExtensionControllerPref =
  "browser.startup.homepage_override.extensionControlled";
const kHomePageIgnoreListId = "homepage-urls";