From 19b6f2d9b71ca5f355dbf416ff599370c8ca0eb4 Mon Sep 17 00:00:00 2001 From: Gaming4JC Date: Fri, 12 Oct 2018 23:17:14 -0400 Subject: 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. --- toolkit/components/build/nsToolkitCompsModule.cpp | 10 ++++++++++ toolkit/components/startup/moz.build | 21 ++++++++------------- toolkit/components/startup/public/moz.build | 8 ++++---- 3 files changed, 22 insertions(+), 17 deletions(-) (limited to 'toolkit/components') diff --git a/toolkit/components/build/nsToolkitCompsModule.cpp b/toolkit/components/build/nsToolkitCompsModule.cpp index 190c4da06..2b4d7c14b 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 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(NS_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(NS_USERINFO) { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID }, +#endif // defined(NSUSERINFO) { 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' -- cgit v1.2.3