Bug 976002 - Build time flag to enable/disable FxA. r=markh
--- a/b2g/app/b2g.js
+++ b/b2g/app/b2g.js
@@ -902,8 +902,14 @@ pref("apz.enlarge_displayport_when_clipp
pref("gfx.canvas.willReadFrequently.enable", true);
// Disable autofocus until we can have it not bring up the keyboard.
// https://bugzilla.mozilla.org/show_bug.cgi?id=965763
pref("browser.autofocus", false);
// Enable wakelock
pref("dom.wakelock.enabled", true);
+
+// Enable sync and mozId with Firefox Accounts.
+#ifdef MOZ_SERVICES_FXACCOUNTS
+pref("services.sync.fxaccounts.enabled", true);
+pref("identity.fxaccounts.enabled", true);
+#endif
--- a/b2g/app/moz.build
+++ b/b2g/app/moz.build
@@ -17,17 +17,17 @@ if not CONFIG['LIBXUL_SDK']:
# a console application.
WIN32_EXE_LDFLAGS += ['-ENTRY:wmainCRTStartup']
if CONFIG['ENABLE_MARIONETTE']:
DEFINES['ENABLE_MARIONETTE'] = 1
DEFINES['XPCOM_GLUE'] = True
-for var in ('MOZ_APP_NAME', 'MOZ_APP_VERSION', 'MOZ_UPDATER'):
+for var in ('MOZ_APP_NAME', 'MOZ_APP_VERSION', 'MOZ_UPDATER', 'MOZ_SERVICES_FXACCOUNTS'):
DEFINES[var] = CONFIG[var]
GENERATED_INCLUDES += [
'/build',
]
LOCAL_INCLUDES += [
'/toolkit/xre',
--- a/b2g/chrome/content/shell.js
+++ b/b2g/chrome/content/shell.js
@@ -18,17 +18,20 @@ Cu.import('resource://gre/modules/Keyboa
Cu.import('resource://gre/modules/ErrorPage.jsm');
#ifdef MOZ_WIDGET_GONK
Cu.import('resource://gre/modules/NetworkStatsService.jsm');
#endif
// Identity
Cu.import('resource://gre/modules/SignInToWebsite.jsm');
SignInToWebsiteController.init();
+
+#ifdef MOZ_SERVICES_FXACCOUNTS
Cu.import('resource://gre/modules/FxAccountsMgmtService.jsm');
+#endif
Cu.import('resource://gre/modules/DownloadsAPI.jsm');
Cu.import('resource://gre/modules/Webapps.jsm');
DOMApplicationRegistry.allAppsLaunchable = true;
XPCOMUtils.defineLazyServiceGetter(Services, 'env',
'@mozilla.org/process/environment;1',
--- a/b2g/components/B2GComponents.manifest
+++ b/b2g/components/B2GComponents.manifest
@@ -67,15 +67,17 @@ contract @mozilla.org/network/protocol/a
component {436ff8f9-0acc-4b11-8ec7-e293efba3141} FilePicker.js
contract @mozilla.org/filepicker;1 {436ff8f9-0acc-4b11-8ec7-e293efba3141}
# WebappsUpdateTimer.js
component {637b0f77-2429-49a0-915f-abf5d0db8b9a} WebappsUpdateTimer.js
contract @mozilla.org/b2g/webapps-update-timer;1 {637b0f77-2429-49a0-915f-abf5d0db8b9a}
category update-timer WebappsUpdateTimer @mozilla.org/b2g/webapps-update-timer;1,getService,background-update-timer,webapps.update.interval,86400
+#ifdef MOZ_SERVICES_FXACCOUNTS
# FxAccountsUIGlue.js
component {51875c14-91d7-4b8c-b65d-3549e101228c} FxAccountsUIGlue.js
contract @mozilla.org/fxaccounts/fxaccounts-ui-glue;1 {51875c14-91d7-4b8c-b65d-3549e101228c}
+#endif
# HelperAppDialog.js
component {710322af-e6ae-4b0c-b2c9-1474a87b077e} HelperAppDialog.js
contract @mozilla.org/helperapplauncherdialog;1 {710322af-e6ae-4b0c-b2c9-1474a87b077e}
--- a/b2g/components/moz.build
+++ b/b2g/components/moz.build
@@ -8,17 +8,16 @@ TEST_DIRS += ['test']
EXTRA_COMPONENTS += [
'ActivitiesGlue.js',
'AlertsService.js',
'B2GAboutRedirector.js',
'ContentHandler.js',
'ContentPermissionPrompt.js',
'FilePicker.js',
- 'FxAccountsUIGlue.js',
'HelperAppDialog.js',
'MailtoProtocolHandler.js',
'PaymentGlue.js',
'ProcessGlobal.js',
'SmsProtocolHandler.js',
'TelProtocolHandler.js',
'WebappsUpdateTimer.js',
'YoutubeProtocolHandler.js',
@@ -32,13 +31,20 @@ EXTRA_PP_COMPONENTS += [
if CONFIG['MOZ_UPDATER']:
EXTRA_PP_COMPONENTS += [
'UpdatePrompt.js',
]
EXTRA_JS_MODULES += [
'ErrorPage.jsm',
- 'FxAccountsMgmtService.jsm',
'SignInToWebsite.jsm',
'TelURIParser.jsm',
'WebappsUpdater.jsm',
]
+
+if CONFIG['MOZ_SERVICES_FXACCOUNTS']:
+ EXTRA_COMPONENTS += [
+ 'FxAccountsUIGlue.js'
+ ]
+ EXTRA_JS_MODULES += [
+ 'FxAccountsMgmtService.jsm'
+ ]
--- a/b2g/confvars.sh
+++ b/b2g/confvars.sh
@@ -58,8 +58,10 @@ MOZ_PLACES=
MOZ_B2G=1
if test "$OS_TARGET" = "Android"; then
MOZ_NUWA_PROCESS=1
fi
MOZ_FOLD_LIBS=1
MOZ_JSDOWNLOADS=1
+
+MOZ_SERVICES_FXACCOUNTS=1
--- a/b2g/installer/package-manifest.in
+++ b/b2g/installer/package-manifest.in
@@ -778,26 +778,28 @@ bin/components/@DLL_PREFIX@nkgnomevfs@DL
@BINPATH@/components/PaymentGlue.js
@BINPATH@/components/YoutubeProtocolHandler.js
@BINPATH@/components/RecoveryService.js
@BINPATH@/components/MailtoProtocolHandler.js
@BINPATH@/components/SmsProtocolHandler.js
@BINPATH@/components/TelProtocolHandler.js
@BINPATH@/components/B2GAboutRedirector.js
@BINPATH@/components/FilePicker.js
-@BINPATH@/components/FxAccountsUIGlue.js
@BINPATH@/components/HelperAppDialog.js
@BINPATH@/components/DownloadsUI.js
+#ifdef MOZ_SERVICES_FXACCOUNTS
+@BINPATH@/components/FxAccountsUIGlue.js
+@BINPATH@/components/services_fxaccounts.xpt
+#endif
+
@BINPATH@/components/DataStore.manifest
@BINPATH@/components/DataStoreService.js
@BINPATH@/components/dom_datastore.xpt
-@BINPATH@/components/services_fxaccounts.xpt
-
#ifdef MOZ_WEBSPEECH
@BINPATH@/components/dom_webspeechsynth.xpt
#endif
#ifdef XP_MACOSX
@BINPATH@/@DLL_PREFIX@plugin_child_interpose@DLL_SUFFIX@
#endif
--- a/browser/confvars.sh
+++ b/browser/confvars.sh
@@ -23,16 +23,17 @@ if test "$OS_ARCH" = "WINNT"; then
fi
fi
MOZ_CHROME_FILE_FORMAT=omni
MOZ_DISABLE_EXPORT_JS=1
MOZ_SAFE_BROWSING=1
MOZ_SERVICES_COMMON=1
MOZ_SERVICES_CRYPTO=1
+MOZ_SERVICES_FXACCOUNTS=1
MOZ_SERVICES_HEALTHREPORT=1
MOZ_SERVICES_METRICS=1
MOZ_SERVICES_SYNC=1
MOZ_APP_VERSION=$FIREFOX_VERSION
MOZ_EXTENSIONS_DEFAULT=" gio"
# MOZ_APP_DISPLAYNAME will be set by branding/configure.sh
# Changing MOZ_*BRANDING_DIRECTORY requires a clobber to ensure correct results,
# because branding dependencies are broken.
@@ -62,9 +63,8 @@ MOZ_WEBGL_CONFORMANT=1
# Enable navigator.mozPay
MOZ_PAY=1
# Enable activities. These are used for FxOS developers currently.
MOZ_ACTIVITIES=1
MOZ_JSDOWNLOADS=1
MOZ_WEBM_ENCODER=1
# Enable exact rooting on desktop.
JSGC_USE_EXACT_ROOTING=1
-
--- a/configure.in
+++ b/configure.in
@@ -7405,16 +7405,24 @@ dnl ====================================
dnl = Enable Support for AudioChannelManager API
dnl ========================================================
if test -n "$MOZ_AUDIO_CHANNEL_MANAGER"; then
AC_DEFINE(MOZ_AUDIO_CHANNEL_MANAGER)
fi
AC_SUBST(MOZ_AUDIO_CHANNEL_MANAGER)
dnl ========================================================
+dnl = Enable Support for Firefox Accounts in B2G
+dnl ========================================================
+if test -n "$MOZ_SERVICES_FXACCOUNTS"; then
+ AC_DEFINE(MOZ_SERVICES_FXACCOUNTS)
+fi
+AC_SUBST(MOZ_SERVICES_FXACCOUNTS)
+
+dnl ========================================================
dnl = Support for demangling undefined symbols
dnl ========================================================
if test -z "$SKIP_LIBRARY_CHECKS"; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CHECK_FUNCS(__cxa_demangle, HAVE_DEMANGLE=1, HAVE_DEMANGLE=)
AC_LANG_RESTORE
fi
--- a/services/moz.build
+++ b/services/moz.build
@@ -2,27 +2,29 @@
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
PARALLEL_DIRS += [
'common',
'crypto',
- 'fxaccounts',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android':
# MOZ_SERVICES_HEALTHREPORT and therefore MOZ_DATA_REPORTING are
# defined on Android, but these features are implemented using Java.
if CONFIG['MOZ_SERVICES_HEALTHREPORT']:
PARALLEL_DIRS += ['healthreport']
if CONFIG['MOZ_DATA_REPORTING']:
PARALLEL_DIRS += ['datareporting']
if CONFIG['MOZ_SERVICES_METRICS']:
PARALLEL_DIRS += ['metrics']
+if CONFIG['MOZ_SERVICES_FXACCOUNTS']:
+ PARALLEL_DIRS += ['fxaccounts']
+
if CONFIG['MOZ_SERVICES_SYNC']:
PARALLEL_DIRS += ['sync']
SPHINX_TREES['services'] = 'docs'