summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGaming4JC <g4jc@bulletmail.org>2018-10-25 18:12:58 -0400
committerGaming4JC <g4jc@bulletmail.org>2018-10-25 18:12:58 -0400
commit6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe (patch)
treeb5ed402996e73e08ebec26e5476a0b3a15c42b3b
parentb927e0d5caad3a7703829bdc1093bfc67ef3fb97 (diff)
downloadUXP-6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe.tar
UXP-6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe.tar.gz
UXP-6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe.tar.lz
UXP-6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe.tar.xz
UXP-6a2ff38f0fb2ed00e96a1a3d4cd2c655774e87fe.zip
Issue #795 - Make nsIUserInfo component optional
This allows the nsIUserinfo component to be disabled with --disable-userinfo in mozconfig at build time, but leaves it on by default to avoid any compatibility issues in existing applications.
-rw-r--r--build/moz.configure/old.configure1
-rw-r--r--old-configure.in15
-rw-r--r--toolkit/components/build/nsToolkitCompsModule.cpp10
-rw-r--r--toolkit/components/startup/moz.build21
-rw-r--r--toolkit/components/startup/public/moz.build8
5 files changed, 38 insertions, 17 deletions
diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure
index 20bde1eee..e6eaa8228 100644
--- a/build/moz.configure/old.configure
+++ b/build/moz.configure/old.configure
@@ -243,6 +243,7 @@ def old_configure_options(*options):
'--enable-universalchardet',
'--enable-updater',
'--enable-url-classifier',
+ '--enable-userinfo',
'--enable-valgrind',
'--enable-verify-mar',
'--enable-webrtc',
diff --git a/old-configure.in b/old-configure.in
index 80597eb73..d0b17835c 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -2247,6 +2247,7 @@ MOZ_PLACES=1
MOZ_SERVICES_HEALTHREPORT=1
MOZ_SERVICES_SYNC=1
MOZ_SERVICES_CLOUDSYNC=1
+MOZ_USERINFO=1
case "$target_os" in
mingw*)
@@ -4587,6 +4588,20 @@ fi
AC_SUBST(MOZ_DEVTOOLS)
dnl ========================================================
+dnl = Disable nsUserInfo
+dnl ========================================================
+MOZ_ARG_DISABLE_BOOL(userinfo,
+[ --disable-userinfo Disable nsUserInfo (default=enabled)],
+ MOZ_USERINFO=,
+ MOZ_USERINFO=1)
+
+if test -n "$MOZ_USERINFO"; then
+ AC_DEFINE(MOZ_USERINFO)
+fi
+
+AC_SUBST(MOZ_USERINFO)
+
+dnl ========================================================
dnl = Define default location for MOZILLA_FIVE_HOME
dnl ========================================================
MOZ_ARG_WITH_STRING(default-mozilla-five-home,
diff --git a/toolkit/components/build/nsToolkitCompsModule.cpp b/toolkit/components/build/nsToolkitCompsModule.cpp
index 190c4da06..33c604c4e 100644
--- a/toolkit/components/build/nsToolkitCompsModule.cpp
+++ b/toolkit/components/build/nsToolkitCompsModule.cpp
@@ -5,7 +5,9 @@
#include "mozilla/ModuleUtils.h"
#include "nsAppStartup.h"
#include "nsNetCID.h"
+#ifdef MOZ_USERINFO
#include "nsUserInfo.h"
+#endif
#include "nsToolkitCompsCID.h"
#include "nsFindService.h"
#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID)
@@ -76,7 +78,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPerformanceStatsService, Init)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsTerminator)
#endif
+#if defined(MOZ_USERINFO)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo)
+#endif // defined (MOZ_USERINFO)
NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService)
#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
@@ -141,7 +145,9 @@ NS_DEFINE_NAMED_CID(NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID);
#if defined(MOZ_HAS_TERMINATOR)
NS_DEFINE_NAMED_CID(NS_TOOLKIT_TERMINATOR_CID);
#endif
+#if defined(MOZ_USERINFO)
NS_DEFINE_NAMED_CID(NS_USERINFO_CID);
+#endif // defined (MOZ_USERINFO)
NS_DEFINE_NAMED_CID(ALERT_NOTIFICATION_CID);
NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID);
#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
@@ -179,7 +185,9 @@ static const Module::CIDEntry kToolkitCIDs[] = {
#if defined(MOZ_HAS_PERFSTATS)
{ &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID, false, nullptr, nsPerformanceStatsServiceConstructor },
#endif // defined (MOZ_HAS_PERFSTATS)
+#if defined(MOZ_USERINFO)
{ &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor },
+#endif // defined (MOZ_USERINFO)
{ &kALERT_NOTIFICATION_CID, false, nullptr, AlertNotificationConstructor },
{ &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor },
#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
@@ -219,7 +227,9 @@ static const Module::ContractIDEntry kToolkitContracts[] = {
#if defined(MOZ_HAS_PERFSTATS)
{ NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID, &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID },
#endif // defined (MOZ_HAS_PERFSTATS)
+#if defined(MOZ_USERINFO)
{ NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID },
+#endif // defined(MOZ_USERINFO)
{ ALERT_NOTIFICATION_CONTRACTID, &kALERT_NOTIFICATION_CID },
{ NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID },
#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS)
diff --git a/toolkit/components/startup/moz.build b/toolkit/components/startup/moz.build
index dbd580384..5f290b783 100644
--- a/toolkit/components/startup/moz.build
+++ b/toolkit/components/startup/moz.build
@@ -18,19 +18,14 @@ UNIFIED_SOURCES += [
'StartupTimeline.cpp',
]
-if CONFIG['OS_ARCH'] == 'WINNT':
- # This file cannot be built in unified mode because of name clashes with Windows headers.
- SOURCES += [
- 'nsUserInfoWin.cpp',
- ]
-elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- UNIFIED_SOURCES += [
- 'nsUserInfoMac.mm',
- ]
-else:
- UNIFIED_SOURCES += [
- 'nsUserInfoUnix.cpp',
- ]
+if CONFIG['MOZ_USERINFO']:
+ if CONFIG['OS_ARCH'] == 'WINNT':
+ # This file cannot be built in unified mode because of name clashes with Windows headers.
+ SOURCES += ['nsUserInfoWin.cpp']
+ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
+ UNIFIED_SOURCES += ['nsUserInfoMac.mm']
+ else:
+ UNIFIED_SOURCES += ['nsUserInfoUnix.cpp']
FINAL_LIBRARY = 'xul'
diff --git a/toolkit/components/startup/public/moz.build b/toolkit/components/startup/public/moz.build
index 5894b6c51..948a7d7ee 100644
--- a/toolkit/components/startup/public/moz.build
+++ b/toolkit/components/startup/public/moz.build
@@ -4,10 +4,10 @@
# 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/.
-XPIDL_SOURCES += [
- 'nsIAppStartup.idl',
- 'nsIUserInfo.idl',
-]
+XPIDL_SOURCES += ['nsIAppStartup.idl']
+
+if CONFIG['MOZ_USERINFO']:
+ XPIDL_SOURCES += ['nsIUserInfo.idl']
XPIDL_MODULE = 'appstartup'