Bug 986688 - Load SignInToWebsite.jsm lazily and on Nightly only. r=felipe

This commit is contained in:
Matthew Noorenberghe 2014-03-22 20:46:18 -07:00
parent 9f6f9d5b81
commit 6ca67f7da9
3 changed files with 36 additions and 7 deletions

View File

@ -12,7 +12,6 @@ const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource:///modules/SignInToWebsite.jsm");
XPCOMUtils.defineLazyModuleGetter(this, "AboutHome",
"resource:///modules/AboutHome.jsm");
@ -88,6 +87,11 @@ XPCOMUtils.defineLazyModuleGetter(this, "BrowserUITelemetry",
XPCOMUtils.defineLazyModuleGetter(this, "AsyncShutdown",
"resource://gre/modules/AsyncShutdown.jsm");
#ifdef NIGHTLY_BUILD
XPCOMUtils.defineLazyModuleGetter(this, "SignInToWebsiteUX",
"resource:///modules/SignInToWebsite.jsm");
#endif
const PREF_PLUGINS_NOTIFYUSER = "plugins.update.notifyUser";
const PREF_PLUGINS_UPDATEURL = "plugins.update.url";
@ -472,7 +476,11 @@ BrowserGlue.prototype = {
PageThumbs.init();
NewTabUtils.init();
BrowserNewTabPreloader.init();
SignInToWebsiteUX.init();
#ifdef NIGHTLY_BUILD
if (Services.prefs.getBoolPref("dom.identity.enabled")) {
SignInToWebsiteUX.init();
}
#endif
PdfJs.init();
#ifdef NIGHTLY_BUILD
ShumwayUtils.init();
@ -655,7 +663,11 @@ BrowserGlue.prototype = {
BrowserNewTabPreloader.uninit();
CustomizationTabPreloader.uninit();
WebappManager.uninit();
SignInToWebsiteUX.uninit();
#ifdef NIGHTLY_BUILD
if (Services.prefs.getBoolPref("dom.identity.enabled")) {
SignInToWebsiteUX.uninit();
}
#endif
webrtcUI.uninit();
},

View File

@ -16,7 +16,6 @@ EXTRA_JS_MODULES += [
'NetworkPrioritizer.jsm',
'offlineAppCache.jsm',
'SharedFrame.jsm',
'SignInToWebsite.jsm',
'SitePermissions.jsm',
'Social.jsm',
'TabCrashReporter.jsm',
@ -31,6 +30,11 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'WindowsPreviewPerTab.jsm',
]
if CONFIG['NIGHTLY_BUILD']:
EXTRA_JS_MODULES += [
'SignInToWebsite.jsm',
]
EXTRA_PP_JS_MODULES += [
'AboutHome.jsm',
'RecentWindow.jsm',

View File

@ -267,12 +267,22 @@ function test_auth() {
function test() {
waitForExplicitFinish();
let sitw = {};
try {
Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
} catch (ex) {
ok(true, "Skip the test since SignInToWebsite.jsm isn't packaged outside outside mozilla-central");
finish();
return;
}
registerCleanupFunction(cleanUp);
let sitw = {};
Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
ok(sitw.SignInToWebsiteUX, "SignInToWebsiteUX object exists");
if (!Services.prefs.getBoolPref("dom.identity.enabled")) {
// If the pref isn't enabled then init wasn't called so do that for the test.
sitw.SignInToWebsiteUX.init();
}
// Replace implementation of ID Service functions for testing
window.selectIdentity = sitw.SignInToWebsiteUX.selectIdentity;
@ -317,6 +327,9 @@ function cleanUp() {
Components.utils.import("resource:///modules/SignInToWebsite.jsm", sitw);
sitw.SignInToWebsiteUX.selectIdentity = window.selectIdentity;
delete window.selectIdentity;
if (!Services.prefs.getBoolPref("dom.identity.enabled")) {
sitw.SignInToWebsiteUX.uninit();
}
Services.prefs.clearUserPref("toolkit.identity.debug");
}