Skip to content
Snippets Groups Projects
Commit 2d0ff6c0 authored by henry's avatar henry Committed by Richard Pospesel
Browse files

Bug 31575: Disable Firefox Home (Activity Stream)

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

Avoid loading AboutNewTab in BrowserGlue.jsm in order
to avoid several network requests that we do not need.

Bug 41624: Disable about:pocket-* pages and about:firefoxview.
parent 494eb3a4
1 merge request!573Bug 41670: Rebase base-browser alpha to 102.9.0esr
......@@ -18,13 +18,9 @@ const { AppConstants } = ChromeUtils.import(
);
XPCOMUtils.defineLazyModuleGetters(this, {
AboutNewTab: "resource:///modules/AboutNewTab.jsm",
ActorManagerParent: "resource://gre/modules/ActorManagerParent.jsm",
AddonManager: "resource://gre/modules/AddonManager.jsm",
AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.jsm",
ASRouterDefaultConfig:
"resource://activity-stream/lib/ASRouterDefaultConfig.jsm",
ASRouterNewTabHook: "resource://activity-stream/lib/ASRouterNewTabHook.jsm",
ASRouter: "resource://activity-stream/lib/ASRouter.jsm",
AsyncShutdown: "resource://gre/modules/AsyncShutdown.jsm",
BackgroundUpdate: "resource://gre/modules/BackgroundUpdate.jsm",
......@@ -226,28 +222,6 @@ let JSWINDOWACTORS = {
remoteTypes: ["privilegedabout"],
},
AboutNewTab: {
parent: {
moduleURI: "resource:///actors/AboutNewTabParent.jsm",
},
child: {
moduleURI: "resource:///actors/AboutNewTabChild.jsm",
events: {
DOMContentLoaded: {},
pageshow: {},
visibilitychange: {},
},
},
// The wildcard on about:newtab is for the ?endpoint query parameter
// that is used for snippets debugging. The wildcard for about:home
// is similar, and also allows for falling back to loading the
// about:home document dynamically if an attempt is made to load
// about:home?jscache from the AboutHomeStartupCache as a top-level
// load.
matches: ["about:home*", "about:welcome", "about:newtab*"],
remoteTypes: ["privilegedabout"],
},
AboutPlugins: {
parent: {
moduleURI: "resource:///actors/AboutPluginsParent.jsm",
......@@ -263,26 +237,6 @@ let JSWINDOWACTORS = {
matches: ["about:plugins"],
},
AboutPocket: {
parent: {
moduleURI: "resource:///actors/AboutPocketParent.jsm",
},
child: {
moduleURI: "resource:///actors/AboutPocketChild.jsm",
events: {
DOMDocElementInserted: { capture: true },
},
},
matches: [
"about:pocket-saved*",
"about:pocket-signup*",
"about:pocket-home*",
"about:pocket-style-guide*",
],
},
AboutPrivateBrowsing: {
parent: {
moduleURI: "resource:///actors/AboutPrivateBrowsingParent.jsm",
......@@ -717,27 +671,6 @@ let JSWINDOWACTORS = {
matches: ["about:studies*"],
},
ASRouter: {
parent: {
moduleURI: "resource:///actors/ASRouterParent.jsm",
},
child: {
moduleURI: "resource:///actors/ASRouterChild.jsm",
events: {
// This is added so the actor instantiates immediately and makes
// methods available to the page js on load.
DOMDocElementInserted: {},
},
},
matches: [
"about:home*",
"about:newtab*",
"about:welcome*",
"about:privatebrowsing",
],
remoteTypes: ["privilegedabout"],
},
SwitchDocumentDirection: {
child: {
moduleURI: "resource:///actors/SwitchDocumentDirectionChild.jsm",
......@@ -1600,8 +1533,6 @@ BrowserGlue.prototype = {
// the first browser window has finished initializing
_onFirstWindowLoaded: function BG__onFirstWindowLoaded(aWindow) {
AboutNewTab.init();
TabCrashHandler.init();
ProcessHangMonitor.init();
......@@ -2008,7 +1939,6 @@ BrowserGlue.prototype = {
() => NewTabUtils.uninit(),
() => Normandy.uninit(),
() => RFPHelper.uninit(),
() => ASRouterNewTabHook.destroy(),
() => UpdateListener.reset(),
];
......@@ -2717,12 +2647,6 @@ BrowserGlue.prototype = {
},
},
{
task: () => {
ASRouterNewTabHook.createInstance(ASRouterDefaultConfig());
},
},
{
condition: AppConstants.MOZ_UPDATE_AGENT,
task: () => {
......@@ -5816,12 +5740,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 is requesting cache streams.");
this._procManager.sendAsyncMessage(this.CACHE_REQUEST_MESSAGE, { state });
});
this.log.error("Activity Stream is disabled.");
return { pageInputStream: null, scriptInputStream: null };
},
/**
......
......@@ -70,9 +70,11 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::IS_SECURE_CHROME_UI},
#ifndef BASE_BROWSER
{"firefoxview", "chrome://browser/content/firefoxview.html",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI |
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
#endif
{"policies", "chrome://browser/content/policies/aboutPolicies.html",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
{"privatebrowsing", "chrome://browser/content/aboutPrivateBrowsing.html",
......@@ -106,6 +108,7 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS |
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::ALLOW_SCRIPT},
#ifndef BASE_BROWSER
{"pocket-saved", "chrome://pocket/content/panels/saved.html",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
......@@ -122,6 +125,7 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
nsIAboutModule::HIDE_FROM_ABOUTABOUT},
#endif
{"preferences", "chrome://browser/content/preferences/preferences.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
{"downloads",
......
......@@ -12,12 +12,7 @@ pages = [
'home',
'logins',
'loginsimportreport',
'firefoxview',
'newtab',
'pocket-home',
'pocket-saved',
'pocket-signup',
'pocket-style-guide',
'policies',
'preferences',
'privatebrowsing',
......
......@@ -41,7 +41,6 @@ DIRS += [
"newtab",
"originattributes",
"places",
"pocket",
"preferences",
"privatebrowsing",
"prompts",
......@@ -63,7 +62,6 @@ DIRS += ["build"]
if CONFIG["NIGHTLY_BUILD"]:
DIRS += [
"colorways",
"firefoxview",
]
......
......@@ -420,20 +420,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:blank";
}
get welcomeURL() {
......
......@@ -33,7 +33,6 @@
class="check-home-page-controlled"
data-preference-related="browser.startup.homepage">
<menupopup>
<menuitem value="0" data-l10n-id="home-mode-choice-default" />
<menuitem value="2" data-l10n-id="home-mode-choice-custom" />
<menuitem value="1" data-l10n-id="home-mode-choice-blank" />
</menupopup>
......@@ -84,7 +83,6 @@
Preferences so we need to handle setting the pref manually.-->
<menulist id="newTabMode" flex="1" data-preference-related="browser.newtabpage.enabled">
<menupopup>
<menuitem value="0" data-l10n-id="home-mode-choice-default" />
<menuitem value="1" data-l10n-id="home-mode-choice-blank" />
</menupopup>
</menulist>
......
......@@ -380,10 +380,14 @@ var gHomePane = {
if (controllingExtension && controllingExtension.id) {
newValue = controllingExtension.id;
} else if (isDefault) {
newValue = this.HOME_MODE_FIREFOX_HOME;
} else if (isBlank) {
// For base-browser, we want to check isBlank first since the default page
// is also the blank page, but we only have a menu option for
// HOME_MODE_BLANK, rather than HOME_MODE_FIREFOX_HOME.
// See tor-browser#41609.
newValue = this.HOME_MODE_BLANK;
} else if (isDefault) {
newValue = this.HOME_MODE_FIREFOX_HOME;
} else {
newValue = this.HOME_MODE_CUSTOM;
}
......
......@@ -21,7 +21,7 @@ XPCOMUtils.defineLazyModuleGetters(this, {
});
const kPrefName = "browser.startup.homepage";
const kDefaultHomePage = "about:home";
const kDefaultHomePage = "about:blank";
const kExtensionControllerPref =
"browser.startup.homepage_override.extensionControlled";
const kHomePageIgnoreListId = "homepage-urls";
......
......@@ -98,29 +98,6 @@ let RemotePageAccessManager = {
"about:plugins": {
RPMSendQuery: ["RequestPlugins"],
},
"about:pocket-saved": {
RPMSendAsyncMessage: ["*"],
RPMAddMessageListener: ["*"],
RPMRemoveMessageListener: ["*"],
RPMGetStringPref: ["extensions.pocket.site"],
},
"about:pocket-signup": {
RPMSendAsyncMessage: ["*"],
RPMAddMessageListener: ["*"],
RPMRemoveMessageListener: ["*"],
RPMGetStringPref: ["extensions.pocket.site"],
},
"about:pocket-home": {
RPMSendAsyncMessage: ["*"],
RPMAddMessageListener: ["*"],
RPMRemoveMessageListener: ["*"],
RPMGetStringPref: ["extensions.pocket.site"],
},
"about:pocket-style-guide": {
RPMSendAsyncMessage: ["*"],
RPMAddMessageListener: ["*"],
RPMRemoveMessageListener: ["*"],
},
"about:privatebrowsing": {
RPMSendAsyncMessage: [
"OpenPrivateWindow",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment