diff options
Diffstat (limited to 'toolkit/components/build')
-rw-r--r-- | toolkit/components/build/moz.build | 35 | ||||
-rw-r--r-- | toolkit/components/build/nsToolkitCompsCID.h | 188 | ||||
-rw-r--r-- | toolkit/components/build/nsToolkitCompsModule.cpp | 246 |
3 files changed, 469 insertions, 0 deletions
diff --git a/toolkit/components/build/moz.build b/toolkit/components/build/moz.build new file mode 100644 index 000000000..0851091b1 --- /dev/null +++ b/toolkit/components/build/moz.build @@ -0,0 +1,35 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# 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/. + +EXPORTS += [ + 'nsToolkitCompsCID.h', +] + +SOURCES += [ + 'nsToolkitCompsModule.cpp', +] + +FINAL_LIBRARY = 'xul' + +LOCAL_INCLUDES += [ + '../../xre', + '../alerts', + '../downloads', + '../feeds', + '../find', + '../jsdownloads/src', + '../perfmonitoring', + '../protobuf', + '../startup', + '../statusfilter', + '../typeaheadfind', + '../url-classifier', +] + +if not CONFIG['MOZ_DISABLE_PARENTAL_CONTROLS']: + LOCAL_INCLUDES += [ + '../parentalcontrols', + ] diff --git a/toolkit/components/build/nsToolkitCompsCID.h b/toolkit/components/build/nsToolkitCompsCID.h new file mode 100644 index 000000000..064f1dbc4 --- /dev/null +++ b/toolkit/components/build/nsToolkitCompsCID.h @@ -0,0 +1,188 @@ +/* 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/. */ + +#define NS_ALERTSERVICE_CONTRACTID \ + "@mozilla.org/alerts-service;1" + +// This separate service uses the same nsIAlertsService interface, +// but instead sends a notification to a platform alerts API +// if available. Using a separate CID allows us to overwrite the XUL +// alerts service at runtime. +#define NS_SYSTEMALERTSERVICE_CONTRACTID \ + "@mozilla.org/system-alerts-service;1" + +#define NS_AUTOCOMPLETECONTROLLER_CONTRACTID \ + "@mozilla.org/autocomplete/controller;1" + +#define NS_AUTOCOMPLETESIMPLERESULT_CONTRACTID \ + "@mozilla.org/autocomplete/simple-result;1" + +#define NS_AUTOCOMPLETEMDBRESULT_CONTRACTID \ + "@mozilla.org/autocomplete/mdb-result;1" + +#define NS_DOWNLOADMANAGER_CONTRACTID \ + "@mozilla.org/download-manager;1" + +#define NS_DOWNLOADPLATFORM_CONTRACTID \ + "@mozilla.org/toolkit/download-platform;1" + +#define NS_FORMHISTORY_CONTRACTID \ + "@mozilla.org/satchel/form-history;1" + +#define NS_FORMFILLCONTROLLER_CONTRACTID \ + "@mozilla.org/satchel/form-fill-controller;1" + +#define NS_FORMHISTORYAUTOCOMPLETE_CONTRACTID \ + "@mozilla.org/autocomplete/search;1?name=form-history" + +#define NS_GLOBALHISTORY_DATASOURCE_CONTRACTID \ + "@mozilla.org/rdf/datasource;1?name=history" + +#define NS_TYPEAHEADFIND_CONTRACTID \ + "@mozilla.org/typeaheadfind;1" + +#define NS_PARENTALCONTROLSSERVICE_CONTRACTID \ + "@mozilla.org/parental-controls-service;1" + +#define NS_URLCLASSIFIERPREFIXSET_CONTRACTID \ + "@mozilla.org/url-classifier/prefixset;1" + +#define NS_URLCLASSIFIERDBSERVICE_CONTRACTID \ + "@mozilla.org/url-classifier/dbservice;1" + +#define NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID \ + "@mozilla.org/url-classifier/streamupdater;1" + +#define NS_URLCLASSIFIERUTILS_CONTRACTID \ + "@mozilla.org/url-classifier/utils;1" + +#define NS_URLCLASSIFIERHASHCOMPLETER_CONTRACTID \ + "@mozilla.org/url-classifier/hashcompleter;1" + +#define NS_NAVHISTORYSERVICE_CONTRACTID \ + "@mozilla.org/browser/nav-history-service;1" + +#define NS_ANNOTATIONSERVICE_CONTRACTID \ + "@mozilla.org/browser/annotation-service;1" + +#define NS_NAVBOOKMARKSSERVICE_CONTRACTID \ + "@mozilla.org/browser/nav-bookmarks-service;1" + +#define NS_LIVEMARKSERVICE_CONTRACTID \ + "@mozilla.org/browser/livemark-service;2" + +#define NS_TAGGINGSERVICE_CONTRACTID \ +"@mozilla.org/browser/tagging-service;1" + +#define NS_FAVICONSERVICE_CONTRACTID \ + "@mozilla.org/browser/favicon-service;1" + +#define NS_APPSTARTUP_CONTRACTID \ + "@mozilla.org/toolkit/app-startup;1" + +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) +#define NS_UPDATEPROCESSOR_CONTRACTID \ + "@mozilla.org/updates/update-processor;1" +#endif + +#define NS_ADDONCONTENTPOLICY_CONTRACTID \ + "@mozilla.org/addons/content-policy;1" + +#define NS_ADDONPATHSERVICE_CONTRACTID \ + "@mozilla.org/addon-path-service;1" + +///////////////////////////////////////////////////////////////////////////// + +#define ALERT_NOTIFICATION_CID \ +{ 0x9a7b7a41, 0x0b47, 0x47f7, { 0xb6, 0x1b, 0x15, 0xa2, 0x10, 0xd6, 0xf0, 0x20 } } + +// {A0CCAAF8-09DA-44D8-B250-9AC3E93C8117} +#define NS_ALERTSSERVICE_CID \ +{ 0xa0ccaaf8, 0x9da, 0x44d8, { 0xb2, 0x50, 0x9a, 0xc3, 0xe9, 0x3c, 0x81, 0x17 } } + +// {84E11F80-CA55-11DD-AD8B-0800200C9A66} +#define NS_SYSTEMALERTSSERVICE_CID \ +{ 0x84e11f80, 0xca55, 0x11dd, { 0xad, 0x8b, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 } } + +// {F6D5EBBD-34F4-487d-9D10-3D34123E3EB9} +#define NS_AUTOCOMPLETECONTROLLER_CID \ +{ 0xf6d5ebbd, 0x34f4, 0x487d, { 0x9d, 0x10, 0x3d, 0x34, 0x12, 0x3e, 0x3e, 0xb9 } } + +// {2ee3039b-2de4-43d9-93b0-649beacff39a} +#define NS_AUTOCOMPLETESIMPLERESULT_CID \ +{ 0x2ee3039b, 0x2de4, 0x43d9, { 0x93, 0xb0, 0x64, 0x9b, 0xea, 0xcf, 0xf3, 0x9a } } + +// {7A6F70B6-2BBD-44b5-9304-501352D44AB5} +#define NS_AUTOCOMPLETEMDBRESULT_CID \ +{ 0x7a6f70b6, 0x2bbd, 0x44b5, { 0x93, 0x4, 0x50, 0x13, 0x52, 0xd4, 0x4a, 0xb5 } } + +#define NS_DOWNLOADMANAGER_CID \ + { 0xedb0490e, 0x1dd1, 0x11b2, { 0x83, 0xb8, 0xdb, 0xf8, 0xd8, 0x59, 0x06, 0xa6 } } + +#define NS_DOWNLOADPLATFORM_CID \ + { 0x649a14c9, 0xfe5c, 0x48ec, { 0x9c, 0x85, 0x00, 0xca, 0xd9, 0xcc, 0xf3, 0x2e } } + +// {895DB6C7-DBDF-40ea-9F64-B175033243DC} +#define NS_FORMFILLCONTROLLER_CID \ +{ 0x895db6c7, 0xdbdf, 0x40ea, { 0x9f, 0x64, 0xb1, 0x75, 0x3, 0x32, 0x43, 0xdc } } + +// {59648a91-5a60-4122-8ff2-54b839c84aed} +#define NS_GLOBALHISTORY_CID \ +{ 0x59648a91, 0x5a60, 0x4122, { 0x8f, 0xf2, 0x54, 0xb8, 0x39, 0xc8, 0x4a, 0xed} } + +// {59648a91-5a60-4122-8ff2-54b839c84aed} +#define NS_PARENTALCONTROLSSERVICE_CID \ +{ 0x580530e5, 0x118c, 0x4bc7, { 0xab, 0x88, 0xbc, 0x2c, 0xd2, 0xb9, 0x72, 0x23 } } + +// {e7f70966-9a37-48d7-8aeb-35998f31090e} +#define NS_TYPEAHEADFIND_CID \ +{ 0xe7f70966, 0x9a37, 0x48d7, { 0x8a, 0xeb, 0x35, 0x99, 0x8f, 0x31, 0x09, 0x0e} } + +// {3d8579f0-75fa-4e00-ba41-38661d5b5d17} + #define NS_URLCLASSIFIERPREFIXSET_CID \ +{ 0x3d8579f0, 0x75fa, 0x4e00, { 0xba, 0x41, 0x38, 0x66, 0x1d, 0x5b, 0x5d, 0x17} } + +// {7a258022-6765-11e5-b379-b37b1f2354be} +#define NS_URLCLASSIFIERDBSERVICE_CID \ +{ 0x7a258022, 0x6765, 0x11e5, { 0xb3, 0x79, 0xb3, 0x7b, 0x1f, 0x23, 0x54, 0xbe} } + +// e1797597-f4d6-4dd3-a1e1-745ad352cd80 +#define NS_URLCLASSIFIERSTREAMUPDATER_CID \ +{ 0xe1797597, 0xf4d6, 0x4dd3, { 0xa1, 0xe1, 0x74, 0x5a, 0xd3, 0x52, 0xcd, 0x80 }} + +// {b7b2ccec-7912-4ea6-a548-b038447004bd} +#define NS_URLCLASSIFIERUTILS_CID \ +{ 0xb7b2ccec, 0x7912, 0x4ea6, { 0xa5, 0x48, 0xb0, 0x38, 0x44, 0x70, 0x04, 0xbd} } + +#define NS_NAVHISTORYSERVICE_CID \ +{ 0x88cecbb7, 0x6c63, 0x4b3b, { 0x8c, 0xd4, 0x84, 0xf3, 0xb8, 0x22, 0x8c, 0x69 } } + +#define NS_NAVHISTORYRESULTTREEVIEWER_CID \ +{ 0x2ea8966f, 0x0671, 0x4c02, { 0x9c, 0x70, 0x94, 0x59, 0x56, 0xd4, 0x54, 0x34 } } + +#define NS_ANNOTATIONSERVICE_CID \ +{ 0x5e8d4751, 0x1852, 0x434b, { 0xa9, 0x92, 0x2c, 0x6d, 0x2a, 0x25, 0xfa, 0x46 } } + +#define NS_NAVBOOKMARKSSERVICE_CID \ +{ 0x9de95a0c, 0x39a4, 0x4d64, {0x9a, 0x53, 0x17, 0x94, 0x0d, 0xd7, 0xca, 0xbb}} + +#define NS_FAVICONSERVICE_CID \ +{ 0x984e3259, 0x9266, 0x49cf, { 0xb6, 0x05, 0x60, 0xb0, 0x22, 0xa0, 0x07, 0x56 } } + +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) +#define NS_UPDATEPROCESSOR_CID \ +{ 0xf3dcf644, 0x79e8, 0x4f59, { 0xa1, 0xbb, 0x87, 0x84, 0x54, 0x48, 0x8e, 0xf9 } } +#endif + +#define NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID \ + "@mozilla.org/downloads/application-reputation-service;1" + +#define NS_APPLICATION_REPUTATION_SERVICE_CID \ +{ 0x8576c950, 0xf4a2, 0x11e2, { 0xb7, 0x78, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 } } + +#define NS_ADDONCONTENTPOLICY_CID \ +{ 0xc26a8241, 0xecf4, 0x4aed, { 0x9f, 0x3c, 0xf1, 0xf5, 0xc7, 0x13, 0xb9, 0xa5 } } + +#define NS_ADDON_PATH_SERVICE_CID \ +{ 0xa39f39d0, 0xdfb6, 0x11e3, { 0x8b, 0x68, 0x08, 0x00, 0x20, 0x0c, 0x9a, 0x66 } } diff --git a/toolkit/components/build/nsToolkitCompsModule.cpp b/toolkit/components/build/nsToolkitCompsModule.cpp new file mode 100644 index 000000000..675c8c92b --- /dev/null +++ b/toolkit/components/build/nsToolkitCompsModule.cpp @@ -0,0 +1,246 @@ +/* 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/. */ + +#include "mozilla/ModuleUtils.h" +#include "nsAppStartup.h" +#include "nsNetCID.h" +#include "nsUserInfo.h" +#include "nsToolkitCompsCID.h" +#include "nsFindService.h" +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) +#include "nsUpdateDriver.h" +#endif + +#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) +#include "nsParentalControlsService.h" +#endif + +#include "mozilla/AlertNotification.h" +#include "nsAlertsService.h" + +#include "nsDownloadManager.h" +#include "DownloadPlatform.h" +#include "nsDownloadProxy.h" +#include "rdf.h" + +#include "nsTypeAheadFind.h" + +#include "ApplicationReputation.h" +#include "nsUrlClassifierDBService.h" +#include "nsUrlClassifierStreamUpdater.h" +#include "nsUrlClassifierUtils.h" +#include "nsUrlClassifierPrefixSet.h" + +#include "nsBrowserStatusFilter.h" +#include "mozilla/FinalizationWitnessService.h" +#include "mozilla/NativeOSFileInternals.h" +#include "mozilla/AddonContentPolicy.h" +#include "mozilla/AddonPathService.h" + +#if defined(XP_WIN) +#include "NativeFileWatcherWin.h" +#else +#include "NativeFileWatcherNotSupported.h" +#endif // (XP_WIN) + +#if !defined(MOZ_WIDGET_GONK) && !defined(MOZ_WIDGET_ANDROID) +#define MOZ_HAS_TERMINATOR +#endif + +#if defined(MOZ_HAS_TERMINATOR) +#include "nsTerminator.h" +#endif + +#define MOZ_HAS_PERFSTATS + +#if defined(MOZ_HAS_PERFSTATS) +#include "nsPerformanceStats.h" +#endif // defined (MOZ_HAS_PERFSTATS) + +using namespace mozilla; + +///////////////////////////////////////////////////////////////////////////// + +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init) + +#if defined(MOZ_HAS_PERFSTATS) +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPerformanceStatsService, Init) +#endif // defined (MOZ_HAS_PERFSTATS) + +#if defined(MOZ_HAS_TERMINATOR) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsTerminator) +#endif + +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService) + +#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsParentalControlsService) +#endif + +NS_GENERIC_FACTORY_CONSTRUCTOR(AlertNotification) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService) + +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsDownloadManager, + nsDownloadManager::GetSingleton) +NS_GENERIC_FACTORY_CONSTRUCTOR(DownloadPlatform) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadProxy) + +NS_GENERIC_FACTORY_CONSTRUCTOR(nsTypeAheadFind) + +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ApplicationReputationService, + ApplicationReputationService::GetSingleton) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierPrefixSet) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierStreamUpdater) +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlClassifierUtils, Init) + +static nsresult +nsUrlClassifierDBServiceConstructor(nsISupports *aOuter, REFNSIID aIID, + void **aResult) +{ + nsresult rv; + NS_ENSURE_ARG_POINTER(aResult); + NS_ENSURE_NO_AGGREGATION(aOuter); + + nsUrlClassifierDBService *inst = nsUrlClassifierDBService::GetInstance(&rv); + if (nullptr == inst) { + return rv; + } + /* NS_ADDREF(inst); */ + rv = inst->QueryInterface(aIID, aResult); + NS_RELEASE(inst); + + return rv; +} + +NS_GENERIC_FACTORY_CONSTRUCTOR(nsBrowserStatusFilter) +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUpdateProcessor) +#endif +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(FinalizationWitnessService, Init) +NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService) +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(NativeFileWatcherService, Init) + +NS_GENERIC_FACTORY_CONSTRUCTOR(AddonContentPolicy) +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AddonPathService, AddonPathService::GetInstance) + +NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID); +#if defined(MOZ_HAS_PERFSTATS) +NS_DEFINE_NAMED_CID(NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID); +#endif // defined (MOZ_HAS_PERFSTATS) + +#if defined(MOZ_HAS_TERMINATOR) +NS_DEFINE_NAMED_CID(NS_TOOLKIT_TERMINATOR_CID); +#endif +NS_DEFINE_NAMED_CID(NS_USERINFO_CID); +NS_DEFINE_NAMED_CID(ALERT_NOTIFICATION_CID); +NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID); +#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) +NS_DEFINE_NAMED_CID(NS_PARENTALCONTROLSSERVICE_CID); +#endif +NS_DEFINE_NAMED_CID(NS_DOWNLOADMANAGER_CID); +NS_DEFINE_NAMED_CID(NS_DOWNLOADPLATFORM_CID); +NS_DEFINE_NAMED_CID(NS_DOWNLOAD_CID); +NS_DEFINE_NAMED_CID(NS_FIND_SERVICE_CID); +NS_DEFINE_NAMED_CID(NS_TYPEAHEADFIND_CID); +NS_DEFINE_NAMED_CID(NS_APPLICATION_REPUTATION_SERVICE_CID); +NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERPREFIXSET_CID); +NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERDBSERVICE_CID); +NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERSTREAMUPDATER_CID); +NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERUTILS_CID); +NS_DEFINE_NAMED_CID(NS_BROWSERSTATUSFILTER_CID); +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) +NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID); +#endif +NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID); +NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID); +NS_DEFINE_NAMED_CID(NS_ADDONCONTENTPOLICY_CID); +NS_DEFINE_NAMED_CID(NS_ADDON_PATH_SERVICE_CID); +NS_DEFINE_NAMED_CID(NATIVE_FILEWATCHER_SERVICE_CID); + +static const Module::CIDEntry kToolkitCIDs[] = { + { &kNS_TOOLKIT_APPSTARTUP_CID, false, nullptr, nsAppStartupConstructor }, +#if defined(MOZ_HAS_TERMINATOR) + { &kNS_TOOLKIT_TERMINATOR_CID, false, nullptr, nsTerminatorConstructor }, +#endif +#if defined(MOZ_HAS_PERFSTATS) + { &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID, false, nullptr, nsPerformanceStatsServiceConstructor }, +#endif // defined (MOZ_HAS_PERFSTATS) + { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor }, + { &kALERT_NOTIFICATION_CID, false, nullptr, AlertNotificationConstructor }, + { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor }, +#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) + { &kNS_PARENTALCONTROLSSERVICE_CID, false, nullptr, nsParentalControlsServiceConstructor }, +#endif + { &kNS_DOWNLOADMANAGER_CID, false, nullptr, nsDownloadManagerConstructor }, + { &kNS_DOWNLOADPLATFORM_CID, false, nullptr, DownloadPlatformConstructor }, + { &kNS_DOWNLOAD_CID, false, nullptr, nsDownloadProxyConstructor }, + { &kNS_FIND_SERVICE_CID, false, nullptr, nsFindServiceConstructor }, + { &kNS_TYPEAHEADFIND_CID, false, nullptr, nsTypeAheadFindConstructor }, + { &kNS_APPLICATION_REPUTATION_SERVICE_CID, false, nullptr, ApplicationReputationServiceConstructor }, + { &kNS_URLCLASSIFIERPREFIXSET_CID, false, nullptr, nsUrlClassifierPrefixSetConstructor }, + { &kNS_URLCLASSIFIERDBSERVICE_CID, false, nullptr, nsUrlClassifierDBServiceConstructor }, + { &kNS_URLCLASSIFIERSTREAMUPDATER_CID, false, nullptr, nsUrlClassifierStreamUpdaterConstructor }, + { &kNS_URLCLASSIFIERUTILS_CID, false, nullptr, nsUrlClassifierUtilsConstructor }, + { &kNS_BROWSERSTATUSFILTER_CID, false, nullptr, nsBrowserStatusFilterConstructor }, +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) + { &kNS_UPDATEPROCESSOR_CID, false, nullptr, nsUpdateProcessorConstructor }, +#endif + { &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor }, + { &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor }, + { &kNS_ADDONCONTENTPOLICY_CID, false, nullptr, AddonContentPolicyConstructor }, + { &kNS_ADDON_PATH_SERVICE_CID, false, nullptr, AddonPathServiceConstructor }, + { &kNATIVE_FILEWATCHER_SERVICE_CID, false, nullptr, NativeFileWatcherServiceConstructor }, + { nullptr } +}; + +static const Module::ContractIDEntry kToolkitContracts[] = { + { NS_APPSTARTUP_CONTRACTID, &kNS_TOOLKIT_APPSTARTUP_CID }, +#if defined(MOZ_HAS_TERMINATOR) + { NS_TOOLKIT_TERMINATOR_CONTRACTID, &kNS_TOOLKIT_TERMINATOR_CID }, +#endif +#if defined(MOZ_HAS_PERFSTATS) + { NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID, &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID }, +#endif // defined (MOZ_HAS_PERFSTATS) + { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID }, + { ALERT_NOTIFICATION_CONTRACTID, &kALERT_NOTIFICATION_CID }, + { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID }, +#if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) + { NS_PARENTALCONTROLSSERVICE_CONTRACTID, &kNS_PARENTALCONTROLSSERVICE_CID }, +#endif + { NS_DOWNLOADMANAGER_CONTRACTID, &kNS_DOWNLOADMANAGER_CID }, + { NS_DOWNLOADPLATFORM_CONTRACTID, &kNS_DOWNLOADPLATFORM_CID }, + { NS_FIND_SERVICE_CONTRACTID, &kNS_FIND_SERVICE_CID }, + { NS_TYPEAHEADFIND_CONTRACTID, &kNS_TYPEAHEADFIND_CID }, + { NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID, &kNS_APPLICATION_REPUTATION_SERVICE_CID }, + { NS_URLCLASSIFIERPREFIXSET_CONTRACTID, &kNS_URLCLASSIFIERPREFIXSET_CID }, + { NS_URLCLASSIFIERDBSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, + { NS_URICLASSIFIERSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, + { NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID, &kNS_URLCLASSIFIERSTREAMUPDATER_CID }, + { NS_URLCLASSIFIERUTILS_CONTRACTID, &kNS_URLCLASSIFIERUTILS_CID }, + { NS_BROWSERSTATUSFILTER_CONTRACTID, &kNS_BROWSERSTATUSFILTER_CID }, +#if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) + { NS_UPDATEPROCESSOR_CONTRACTID, &kNS_UPDATEPROCESSOR_CID }, +#endif + { FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID }, + { NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID }, + { NS_ADDONCONTENTPOLICY_CONTRACTID, &kNS_ADDONCONTENTPOLICY_CID }, + { NS_ADDONPATHSERVICE_CONTRACTID, &kNS_ADDON_PATH_SERVICE_CID }, + { NATIVE_FILEWATCHER_SERVICE_CONTRACTID, &kNATIVE_FILEWATCHER_SERVICE_CID }, + { nullptr } +}; + +static const mozilla::Module::CategoryEntry kToolkitCategories[] = { + { "content-policy", NS_ADDONCONTENTPOLICY_CONTRACTID, NS_ADDONCONTENTPOLICY_CONTRACTID }, + { nullptr } +}; + +static const Module kToolkitModule = { + Module::kVersion, + kToolkitCIDs, + kToolkitContracts, + kToolkitCategories +}; + +NSMODULE_DEFN(nsToolkitCompsModule) = &kToolkitModule; |