|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #include "mozilla/ModuleUtils.h" |
|
6 #include "nsAppStartup.h" |
|
7 #include "nsUserInfo.h" |
|
8 #include "nsToolkitCompsCID.h" |
|
9 #include "nsFindService.h" |
|
10 #if defined(USE_MOZ_UPDATER) |
|
11 #include "nsUpdateDriver.h" |
|
12 #endif |
|
13 |
|
14 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
|
15 #include "nsParentalControlsServiceWin.h" |
|
16 #endif |
|
17 |
|
18 #include "nsAlertsService.h" |
|
19 |
|
20 #include "nsDownloadManager.h" |
|
21 #include "DownloadPlatform.h" |
|
22 #include "nsDownloadProxy.h" |
|
23 #include "nsCharsetMenu.h" |
|
24 #include "rdf.h" |
|
25 |
|
26 #include "nsTypeAheadFind.h" |
|
27 |
|
28 #ifdef MOZ_URL_CLASSIFIER |
|
29 #include "ApplicationReputation.h" |
|
30 #include "nsUrlClassifierDBService.h" |
|
31 #include "nsUrlClassifierStreamUpdater.h" |
|
32 #include "nsUrlClassifierUtils.h" |
|
33 #include "nsUrlClassifierPrefixSet.h" |
|
34 #endif |
|
35 |
|
36 #include "nsBrowserStatusFilter.h" |
|
37 #include "mozilla/FinalizationWitnessService.h" |
|
38 #include "mozilla/NativeOSFileInternals.h" |
|
39 |
|
40 using namespace mozilla; |
|
41 |
|
42 ///////////////////////////////////////////////////////////////////////////// |
|
43 |
|
44 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init) |
|
45 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo) |
|
46 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService) |
|
47 |
|
48 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
|
49 NS_GENERIC_FACTORY_CONSTRUCTOR(nsParentalControlsServiceWin) |
|
50 #endif |
|
51 |
|
52 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService) |
|
53 |
|
54 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsDownloadManager, |
|
55 nsDownloadManager::GetSingleton) |
|
56 NS_GENERIC_FACTORY_CONSTRUCTOR(DownloadPlatform) |
|
57 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloadProxy) |
|
58 |
|
59 NS_GENERIC_FACTORY_CONSTRUCTOR(nsTypeAheadFind) |
|
60 |
|
61 #ifdef MOZ_URL_CLASSIFIER |
|
62 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ApplicationReputationService, |
|
63 ApplicationReputationService::GetSingleton) |
|
64 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierPrefixSet) |
|
65 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierStreamUpdater) |
|
66 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlClassifierUtils, Init) |
|
67 |
|
68 static nsresult |
|
69 nsUrlClassifierDBServiceConstructor(nsISupports *aOuter, REFNSIID aIID, |
|
70 void **aResult) |
|
71 { |
|
72 nsresult rv; |
|
73 NS_ENSURE_ARG_POINTER(aResult); |
|
74 NS_ENSURE_NO_AGGREGATION(aOuter); |
|
75 |
|
76 nsUrlClassifierDBService *inst = nsUrlClassifierDBService::GetInstance(&rv); |
|
77 if (nullptr == inst) { |
|
78 return rv; |
|
79 } |
|
80 /* NS_ADDREF(inst); */ |
|
81 rv = inst->QueryInterface(aIID, aResult); |
|
82 NS_RELEASE(inst); |
|
83 |
|
84 return rv; |
|
85 } |
|
86 #endif |
|
87 |
|
88 NS_GENERIC_FACTORY_CONSTRUCTOR(nsBrowserStatusFilter) |
|
89 #if defined(USE_MOZ_UPDATER) |
|
90 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUpdateProcessor) |
|
91 #endif |
|
92 NS_GENERIC_FACTORY_CONSTRUCTOR(FinalizationWitnessService) |
|
93 NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService) |
|
94 |
|
95 NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID); |
|
96 NS_DEFINE_NAMED_CID(NS_USERINFO_CID); |
|
97 NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID); |
|
98 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
|
99 NS_DEFINE_NAMED_CID(NS_PARENTALCONTROLSSERVICE_CID); |
|
100 #endif |
|
101 NS_DEFINE_NAMED_CID(NS_DOWNLOADMANAGER_CID); |
|
102 NS_DEFINE_NAMED_CID(NS_DOWNLOADPLATFORM_CID); |
|
103 NS_DEFINE_NAMED_CID(NS_DOWNLOAD_CID); |
|
104 NS_DEFINE_NAMED_CID(NS_FIND_SERVICE_CID); |
|
105 NS_DEFINE_NAMED_CID(NS_TYPEAHEADFIND_CID); |
|
106 #ifdef MOZ_URL_CLASSIFIER |
|
107 NS_DEFINE_NAMED_CID(NS_APPLICATION_REPUTATION_SERVICE_CID); |
|
108 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERPREFIXSET_CID); |
|
109 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERDBSERVICE_CID); |
|
110 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERSTREAMUPDATER_CID); |
|
111 NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERUTILS_CID); |
|
112 #endif |
|
113 NS_DEFINE_NAMED_CID(NS_BROWSERSTATUSFILTER_CID); |
|
114 NS_DEFINE_NAMED_CID(NS_CHARSETMENU_CID); |
|
115 #if defined(USE_MOZ_UPDATER) |
|
116 NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID); |
|
117 #endif |
|
118 NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID); |
|
119 NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID); |
|
120 |
|
121 static const Module::CIDEntry kToolkitCIDs[] = { |
|
122 { &kNS_TOOLKIT_APPSTARTUP_CID, false, nullptr, nsAppStartupConstructor }, |
|
123 { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor }, |
|
124 { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor }, |
|
125 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
|
126 { &kNS_PARENTALCONTROLSSERVICE_CID, false, nullptr, nsParentalControlsServiceWinConstructor }, |
|
127 #endif |
|
128 { &kNS_DOWNLOADMANAGER_CID, false, nullptr, nsDownloadManagerConstructor }, |
|
129 { &kNS_DOWNLOADPLATFORM_CID, false, nullptr, DownloadPlatformConstructor }, |
|
130 { &kNS_DOWNLOAD_CID, false, nullptr, nsDownloadProxyConstructor }, |
|
131 { &kNS_FIND_SERVICE_CID, false, nullptr, nsFindServiceConstructor }, |
|
132 { &kNS_TYPEAHEADFIND_CID, false, nullptr, nsTypeAheadFindConstructor }, |
|
133 #ifdef MOZ_URL_CLASSIFIER |
|
134 { &kNS_APPLICATION_REPUTATION_SERVICE_CID, false, nullptr, ApplicationReputationServiceConstructor }, |
|
135 { &kNS_URLCLASSIFIERPREFIXSET_CID, false, nullptr, nsUrlClassifierPrefixSetConstructor }, |
|
136 { &kNS_URLCLASSIFIERDBSERVICE_CID, false, nullptr, nsUrlClassifierDBServiceConstructor }, |
|
137 { &kNS_URLCLASSIFIERSTREAMUPDATER_CID, false, nullptr, nsUrlClassifierStreamUpdaterConstructor }, |
|
138 { &kNS_URLCLASSIFIERUTILS_CID, false, nullptr, nsUrlClassifierUtilsConstructor }, |
|
139 #endif |
|
140 { &kNS_BROWSERSTATUSFILTER_CID, false, nullptr, nsBrowserStatusFilterConstructor }, |
|
141 { &kNS_CHARSETMENU_CID, false, nullptr, NS_NewCharsetMenu }, |
|
142 #if defined(USE_MOZ_UPDATER) |
|
143 { &kNS_UPDATEPROCESSOR_CID, false, nullptr, nsUpdateProcessorConstructor }, |
|
144 #endif |
|
145 { &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor }, |
|
146 { &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor }, |
|
147 { nullptr } |
|
148 }; |
|
149 |
|
150 static const Module::ContractIDEntry kToolkitContracts[] = { |
|
151 { NS_APPSTARTUP_CONTRACTID, &kNS_TOOLKIT_APPSTARTUP_CID }, |
|
152 { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID }, |
|
153 { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID }, |
|
154 #if defined(XP_WIN) && !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
|
155 { NS_PARENTALCONTROLSSERVICE_CONTRACTID, &kNS_PARENTALCONTROLSSERVICE_CID }, |
|
156 #endif |
|
157 { NS_DOWNLOADMANAGER_CONTRACTID, &kNS_DOWNLOADMANAGER_CID }, |
|
158 { NS_DOWNLOADPLATFORM_CONTRACTID, &kNS_DOWNLOADPLATFORM_CID }, |
|
159 { NS_TRANSFER_CONTRACTID, &kNS_DOWNLOAD_CID }, |
|
160 { NS_FIND_SERVICE_CONTRACTID, &kNS_FIND_SERVICE_CID }, |
|
161 { NS_TYPEAHEADFIND_CONTRACTID, &kNS_TYPEAHEADFIND_CID }, |
|
162 #ifdef MOZ_URL_CLASSIFIER |
|
163 { NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID, &kNS_APPLICATION_REPUTATION_SERVICE_CID }, |
|
164 { NS_URLCLASSIFIERPREFIXSET_CONTRACTID, &kNS_URLCLASSIFIERPREFIXSET_CID }, |
|
165 { NS_URLCLASSIFIERDBSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, |
|
166 { NS_URICLASSIFIERSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, |
|
167 { NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID, &kNS_URLCLASSIFIERSTREAMUPDATER_CID }, |
|
168 { NS_URLCLASSIFIERUTILS_CONTRACTID, &kNS_URLCLASSIFIERUTILS_CID }, |
|
169 #endif |
|
170 { NS_BROWSERSTATUSFILTER_CONTRACTID, &kNS_BROWSERSTATUSFILTER_CID }, |
|
171 { NS_RDF_DATASOURCE_CONTRACTID_PREFIX NS_CHARSETMENU_PID, &kNS_CHARSETMENU_CID }, |
|
172 #if defined(USE_MOZ_UPDATER) |
|
173 { NS_UPDATEPROCESSOR_CONTRACTID, &kNS_UPDATEPROCESSOR_CID }, |
|
174 #endif |
|
175 { FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID }, |
|
176 { NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID }, |
|
177 { nullptr } |
|
178 }; |
|
179 |
|
180 static const Module kToolkitModule = { |
|
181 Module::kVersion, |
|
182 kToolkitCIDs, |
|
183 kToolkitContracts |
|
184 }; |
|
185 |
|
186 NSMODULE_DEFN(nsToolkitCompsModule) = &kToolkitModule; |