зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1745495 - Don't initialize activity stream when new tab is disabled. r=daleharvey
This will also load activity stream if the pref is enabled again. Differential Revision: https://phabricator.services.mozilla.com/D133541
This commit is contained in:
Родитель
2c4082a199
Коммит
efbcfe5c99
|
@ -34,11 +34,13 @@ const SEPARATE_PRIVILEGED_CONTENT_PROCESS_PREF =
|
|||
"browser.tabs.remote.separatePrivilegedContentProcess";
|
||||
const ACTIVITY_STREAM_DEBUG_PREF = "browser.newtabpage.activity-stream.debug";
|
||||
const SIMPLIFIED_WELCOME_ENABLED_PREF = "browser.aboutwelcome.enabled";
|
||||
const NEWTAB_PREF = "browser.newtabpage.enabled";
|
||||
|
||||
function cleanup() {
|
||||
Services.prefs.clearUserPref(SEPARATE_PRIVILEGED_CONTENT_PROCESS_PREF);
|
||||
Services.prefs.clearUserPref(ACTIVITY_STREAM_DEBUG_PREF);
|
||||
Services.prefs.clearUserPref(SIMPLIFIED_WELCOME_ENABLED_PREF);
|
||||
Services.prefs.clearUserPref(NEWTAB_PREF);
|
||||
AboutNewTab.resetNewTabURL();
|
||||
}
|
||||
|
||||
|
@ -357,3 +359,20 @@ addTestsWithPrivilegedContentProcessPref(async function test_updates() {
|
|||
|
||||
cleanup();
|
||||
});
|
||||
|
||||
add_task(async function test_disabling_newtab() {
|
||||
// Check disabling new tab also disables activity stream.
|
||||
Services.prefs.setBoolPref(NEWTAB_PREF, false);
|
||||
Assert.ok(
|
||||
!AboutNewTab.activityStreamEnabled,
|
||||
".activityStreamEnabled should be disabled"
|
||||
);
|
||||
|
||||
// Check enabling new tab also enables activity stream.
|
||||
Services.prefs.setBoolPref(NEWTAB_PREF, true);
|
||||
Assert.ok(
|
||||
AboutNewTab.activityStreamEnabled,
|
||||
".activityStreamEnabled should be enabled."
|
||||
);
|
||||
cleanup();
|
||||
});
|
||||
|
|
|
@ -40,6 +40,7 @@ const AboutNewTab = {
|
|||
_activityStreamEnabled: false,
|
||||
activityStream: null,
|
||||
activityStreamDebug: false,
|
||||
browserReady: false,
|
||||
|
||||
_newTabURL: ABOUT_URL,
|
||||
_newTabURLOverridden: false,
|
||||
|
@ -77,8 +78,21 @@ const AboutNewTab = {
|
|||
}
|
||||
);
|
||||
|
||||
XPCOMUtils.defineLazyPreferenceGetter(
|
||||
this,
|
||||
"newTabPageEnabled",
|
||||
"browser.newtabpage.enabled",
|
||||
false,
|
||||
(preference, previousValue, newValue) => {
|
||||
if (newValue && this.browserReady) {
|
||||
this.initializeActivityStream();
|
||||
}
|
||||
this.toggleActivityStream(newValue);
|
||||
}
|
||||
);
|
||||
|
||||
// More initialization happens here
|
||||
this.toggleActivityStream(true);
|
||||
this.toggleActivityStream(this.newTabPageEnabled);
|
||||
this.initialized = true;
|
||||
|
||||
if (this.isPageListenerOverridden) {
|
||||
|
@ -169,6 +183,15 @@ const AboutNewTab = {
|
|||
* onBrowserReady - Continues the initialization of Activity Stream after browser is ready.
|
||||
*/
|
||||
onBrowserReady() {
|
||||
this.browserReady = true;
|
||||
if (!this.newTabPageEnabled) {
|
||||
// Don't bother initializing activity stream if new tab page is disabled.
|
||||
return;
|
||||
}
|
||||
this.initializeActivityStream();
|
||||
},
|
||||
|
||||
initializeActivityStream() {
|
||||
if (this.activityStream && this.activityStream.initialized) {
|
||||
return;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче