/src/mozilla-central/toolkit/components/build/nsToolkitCompsModule.cpp
Line | Count | Source (jump to first uncovered line) |
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 "nsNetCID.h" |
8 | | #include "nsUserInfo.h" |
9 | | #include "nsToolkitCompsCID.h" |
10 | | #include "nsFindService.h" |
11 | | #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) |
12 | | #include "nsUpdateDriver.h" |
13 | | #endif |
14 | | |
15 | | #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
16 | | #include "nsParentalControlsService.h" |
17 | | #endif |
18 | | |
19 | | #include "mozilla/AlertNotification.h" |
20 | | #include "nsAlertsService.h" |
21 | | |
22 | | #include "DownloadPlatform.h" |
23 | | |
24 | | #include "nsTypeAheadFind.h" |
25 | | |
26 | | #include "ApplicationReputation.h" |
27 | | #include "LoginReputation.h" |
28 | | #include "nsUrlClassifierDBService.h" |
29 | | #include "nsUrlClassifierStreamUpdater.h" |
30 | | #include "nsUrlClassifierUtils.h" |
31 | | #include "nsUrlClassifierPrefixSet.h" |
32 | | |
33 | | #include "nsBrowserStatusFilter.h" |
34 | | #include "mozilla/FinalizationWitnessService.h" |
35 | | #include "mozilla/NativeOSFileInternals.h" |
36 | | #include "mozilla/AddonContentPolicy.h" |
37 | | #include "mozilla/AddonManagerStartup.h" |
38 | | #include "mozilla/ExtensionPolicyService.h" |
39 | | |
40 | | #include "nsSessionStoreUtils.h" |
41 | | |
42 | | #if defined(XP_WIN) |
43 | | #include "NativeFileWatcherWin.h" |
44 | | #else |
45 | | #include "NativeFileWatcherNotSupported.h" |
46 | | #endif // (XP_WIN) |
47 | | |
48 | | #if !defined(MOZ_WIDGET_ANDROID) |
49 | | #define MOZ_HAS_TERMINATOR |
50 | | #endif |
51 | | |
52 | | #if defined(MOZ_HAS_TERMINATOR) |
53 | | #include "nsTerminator.h" |
54 | | #endif |
55 | | |
56 | | #define MOZ_HAS_PERFSTATS |
57 | | |
58 | | #if defined(MOZ_HAS_PERFSTATS) |
59 | | #include "nsPerformanceStats.h" |
60 | | #endif // defined (MOZ_HAS_PERFSTATS) |
61 | | |
62 | | #if defined(ENABLE_TESTS) |
63 | | #include "geckoview/TelemetryGeckoViewTesting.h" |
64 | | #endif |
65 | | |
66 | | using namespace mozilla; |
67 | | |
68 | | ///////////////////////////////////////////////////////////////////////////// |
69 | | |
70 | | NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsAppStartup, Init) |
71 | | |
72 | | #if defined(MOZ_HAS_PERFSTATS) |
73 | | NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPerformanceStatsService, Init) |
74 | | #endif // defined (MOZ_HAS_PERFSTATS) |
75 | | |
76 | | #if defined(MOZ_HAS_TERMINATOR) |
77 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsTerminator) |
78 | | #endif |
79 | | |
80 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo) |
81 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService) |
82 | | |
83 | | #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
84 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsParentalControlsService) |
85 | | #endif |
86 | | |
87 | | NS_GENERIC_FACTORY_CONSTRUCTOR(AlertNotification) |
88 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsAlertsService) |
89 | | |
90 | | NS_GENERIC_FACTORY_CONSTRUCTOR(DownloadPlatform) |
91 | | |
92 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsTypeAheadFind) |
93 | | |
94 | | NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ApplicationReputationService, |
95 | | ApplicationReputationService::GetSingleton) |
96 | | NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(LoginReputationService, |
97 | | LoginReputationService::GetSingleton) |
98 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierPrefixSet) |
99 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsUrlClassifierStreamUpdater) |
100 | | NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsUrlClassifierUtils, Init) |
101 | | |
102 | | static nsresult |
103 | | nsUrlClassifierDBServiceConstructor(nsISupports *aOuter, REFNSIID aIID, |
104 | | void **aResult) |
105 | 0 | { |
106 | 0 | nsresult rv; |
107 | 0 | NS_ENSURE_ARG_POINTER(aResult); |
108 | 0 | NS_ENSURE_NO_AGGREGATION(aOuter); |
109 | 0 |
|
110 | 0 | nsUrlClassifierDBService *inst = nsUrlClassifierDBService::GetInstance(&rv); |
111 | 0 | if (nullptr == inst) { |
112 | 0 | return rv; |
113 | 0 | } |
114 | 0 | /* NS_ADDREF(inst); */ |
115 | 0 | rv = inst->QueryInterface(aIID, aResult); |
116 | 0 | NS_RELEASE(inst); |
117 | 0 |
|
118 | 0 | return rv; |
119 | 0 | } |
120 | | |
121 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsBrowserStatusFilter) |
122 | | #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) |
123 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsUpdateProcessor) |
124 | | #endif |
125 | | NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(FinalizationWitnessService, Init) |
126 | | NS_GENERIC_FACTORY_CONSTRUCTOR(NativeOSFileInternalsService) |
127 | | NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(NativeFileWatcherService, Init) |
128 | | |
129 | | NS_GENERIC_FACTORY_CONSTRUCTOR(AddonContentPolicy) |
130 | | NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(AddonManagerStartup, AddonManagerStartup::GetInstance) |
131 | | NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(ExtensionPolicyService, ExtensionPolicyService::GetInstance) |
132 | | |
133 | | NS_GENERIC_FACTORY_CONSTRUCTOR(nsSessionStoreUtils) |
134 | | |
135 | | #if defined(ENABLE_TESTS) |
136 | | NS_GENERIC_FACTORY_CONSTRUCTOR(TelemetryGeckoViewTestingImpl) |
137 | | #endif |
138 | | |
139 | | NS_DEFINE_NAMED_CID(NS_TOOLKIT_APPSTARTUP_CID); |
140 | | #if defined(MOZ_HAS_PERFSTATS) |
141 | | NS_DEFINE_NAMED_CID(NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID); |
142 | | #endif // defined (MOZ_HAS_PERFSTATS) |
143 | | |
144 | | #if defined(MOZ_HAS_TERMINATOR) |
145 | | NS_DEFINE_NAMED_CID(NS_TOOLKIT_TERMINATOR_CID); |
146 | | #endif |
147 | | NS_DEFINE_NAMED_CID(NS_USERINFO_CID); |
148 | | NS_DEFINE_NAMED_CID(ALERT_NOTIFICATION_CID); |
149 | | NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID); |
150 | | #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
151 | | NS_DEFINE_NAMED_CID(NS_PARENTALCONTROLSSERVICE_CID); |
152 | | #endif |
153 | | NS_DEFINE_NAMED_CID(NS_DOWNLOADPLATFORM_CID); |
154 | | NS_DEFINE_NAMED_CID(NS_FIND_SERVICE_CID); |
155 | | NS_DEFINE_NAMED_CID(NS_TYPEAHEADFIND_CID); |
156 | | NS_DEFINE_NAMED_CID(NS_APPLICATION_REPUTATION_SERVICE_CID); |
157 | | NS_DEFINE_NAMED_CID(NS_LOGIN_REPUTATION_SERVICE_CID); |
158 | | NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERPREFIXSET_CID); |
159 | | NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERDBSERVICE_CID); |
160 | | NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERSTREAMUPDATER_CID); |
161 | | NS_DEFINE_NAMED_CID(NS_URLCLASSIFIERUTILS_CID); |
162 | | NS_DEFINE_NAMED_CID(NS_BROWSERSTATUSFILTER_CID); |
163 | | #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) |
164 | | NS_DEFINE_NAMED_CID(NS_UPDATEPROCESSOR_CID); |
165 | | #endif |
166 | | NS_DEFINE_NAMED_CID(FINALIZATIONWITNESSSERVICE_CID); |
167 | | NS_DEFINE_NAMED_CID(NATIVE_OSFILE_INTERNALS_SERVICE_CID); |
168 | | NS_DEFINE_NAMED_CID(NS_ADDONCONTENTPOLICY_CID); |
169 | | NS_DEFINE_NAMED_CID(NS_ADDON_MANAGER_STARTUP_CID); |
170 | | NS_DEFINE_NAMED_CID(NS_ADDON_POLICY_SERVICE_CID); |
171 | | NS_DEFINE_NAMED_CID(NS_SESSIONSTOREUTILS_CID); |
172 | | NS_DEFINE_NAMED_CID(NATIVE_FILEWATCHER_SERVICE_CID); |
173 | | #if defined(ENABLE_TESTS) |
174 | | NS_DEFINE_NAMED_CID(NS_TELEMETRYGECKOVIEWTESTING_CID); |
175 | | #endif |
176 | | |
177 | | static const Module::CIDEntry kToolkitCIDs[] = { |
178 | | { &kNS_TOOLKIT_APPSTARTUP_CID, false, nullptr, nsAppStartupConstructor }, |
179 | | #if defined(MOZ_HAS_TERMINATOR) |
180 | | { &kNS_TOOLKIT_TERMINATOR_CID, false, nullptr, nsTerminatorConstructor }, |
181 | | #endif |
182 | | #if defined(MOZ_HAS_PERFSTATS) |
183 | | { &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID, false, nullptr, nsPerformanceStatsServiceConstructor }, |
184 | | #endif // defined (MOZ_HAS_PERFSTATS) |
185 | | { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor }, |
186 | | { &kALERT_NOTIFICATION_CID, false, nullptr, AlertNotificationConstructor }, |
187 | | { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor }, |
188 | | #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
189 | | { &kNS_PARENTALCONTROLSSERVICE_CID, false, nullptr, nsParentalControlsServiceConstructor }, |
190 | | #endif |
191 | | { &kNS_DOWNLOADPLATFORM_CID, false, nullptr, DownloadPlatformConstructor }, |
192 | | { &kNS_FIND_SERVICE_CID, false, nullptr, nsFindServiceConstructor }, |
193 | | { &kNS_TYPEAHEADFIND_CID, false, nullptr, nsTypeAheadFindConstructor }, |
194 | | { &kNS_APPLICATION_REPUTATION_SERVICE_CID, false, nullptr, ApplicationReputationServiceConstructor }, |
195 | | { &kNS_LOGIN_REPUTATION_SERVICE_CID, false, nullptr, LoginReputationServiceConstructor }, |
196 | | { &kNS_URLCLASSIFIERPREFIXSET_CID, false, nullptr, nsUrlClassifierPrefixSetConstructor }, |
197 | | { &kNS_URLCLASSIFIERDBSERVICE_CID, false, nullptr, nsUrlClassifierDBServiceConstructor }, |
198 | | { &kNS_URLCLASSIFIERSTREAMUPDATER_CID, false, nullptr, nsUrlClassifierStreamUpdaterConstructor }, |
199 | | { &kNS_URLCLASSIFIERUTILS_CID, false, nullptr, nsUrlClassifierUtilsConstructor }, |
200 | | { &kNS_BROWSERSTATUSFILTER_CID, false, nullptr, nsBrowserStatusFilterConstructor }, |
201 | | #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) |
202 | | { &kNS_UPDATEPROCESSOR_CID, false, nullptr, nsUpdateProcessorConstructor }, |
203 | | #endif |
204 | | { &kFINALIZATIONWITNESSSERVICE_CID, false, nullptr, FinalizationWitnessServiceConstructor }, |
205 | | { &kNATIVE_OSFILE_INTERNALS_SERVICE_CID, false, nullptr, NativeOSFileInternalsServiceConstructor }, |
206 | | { &kNS_ADDONCONTENTPOLICY_CID, false, nullptr, AddonContentPolicyConstructor }, |
207 | | { &kNS_ADDON_MANAGER_STARTUP_CID, false, nullptr, AddonManagerStartupConstructor }, |
208 | | { &kNS_ADDON_POLICY_SERVICE_CID, false, nullptr, ExtensionPolicyServiceConstructor }, |
209 | | { &kNS_SESSIONSTOREUTILS_CID, false, nullptr, nsSessionStoreUtilsConstructor }, |
210 | | { &kNATIVE_FILEWATCHER_SERVICE_CID, false, nullptr, NativeFileWatcherServiceConstructor }, |
211 | | #if defined(ENABLE_TESTS) |
212 | | { &kNS_TELEMETRYGECKOVIEWTESTING_CID, false, nullptr, TelemetryGeckoViewTestingImplConstructor }, |
213 | | #endif |
214 | | { nullptr } |
215 | | }; |
216 | | |
217 | | static const Module::ContractIDEntry kToolkitContracts[] = { |
218 | | { NS_APPSTARTUP_CONTRACTID, &kNS_TOOLKIT_APPSTARTUP_CID }, |
219 | | #if defined(MOZ_HAS_TERMINATOR) |
220 | | { NS_TOOLKIT_TERMINATOR_CONTRACTID, &kNS_TOOLKIT_TERMINATOR_CID }, |
221 | | #endif |
222 | | #if defined(MOZ_HAS_PERFSTATS) |
223 | | { NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID, &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID }, |
224 | | #endif // defined (MOZ_HAS_PERFSTATS) |
225 | | { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID }, |
226 | | { ALERT_NOTIFICATION_CONTRACTID, &kALERT_NOTIFICATION_CID }, |
227 | | { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID }, |
228 | | #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) |
229 | | { NS_PARENTALCONTROLSSERVICE_CONTRACTID, &kNS_PARENTALCONTROLSSERVICE_CID }, |
230 | | #endif |
231 | | { NS_DOWNLOADPLATFORM_CONTRACTID, &kNS_DOWNLOADPLATFORM_CID }, |
232 | | { NS_FIND_SERVICE_CONTRACTID, &kNS_FIND_SERVICE_CID }, |
233 | | { NS_TYPEAHEADFIND_CONTRACTID, &kNS_TYPEAHEADFIND_CID }, |
234 | | { NS_APPLICATION_REPUTATION_SERVICE_CONTRACTID, &kNS_APPLICATION_REPUTATION_SERVICE_CID }, |
235 | | { NS_LOGIN_REPUTATION_SERVICE_CONTRACTID, &kNS_LOGIN_REPUTATION_SERVICE_CID }, |
236 | | { NS_URLCLASSIFIERPREFIXSET_CONTRACTID, &kNS_URLCLASSIFIERPREFIXSET_CID }, |
237 | | { NS_URLCLASSIFIERDBSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, |
238 | | { NS_URICLASSIFIERSERVICE_CONTRACTID, &kNS_URLCLASSIFIERDBSERVICE_CID }, |
239 | | { NS_URLCLASSIFIERSTREAMUPDATER_CONTRACTID, &kNS_URLCLASSIFIERSTREAMUPDATER_CID }, |
240 | | { NS_URLCLASSIFIERUTILS_CONTRACTID, &kNS_URLCLASSIFIERUTILS_CID }, |
241 | | { NS_BROWSERSTATUSFILTER_CONTRACTID, &kNS_BROWSERSTATUSFILTER_CID }, |
242 | | #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) |
243 | | { NS_UPDATEPROCESSOR_CONTRACTID, &kNS_UPDATEPROCESSOR_CID }, |
244 | | #endif |
245 | | { FINALIZATIONWITNESSSERVICE_CONTRACTID, &kFINALIZATIONWITNESSSERVICE_CID }, |
246 | | { NATIVE_OSFILE_INTERNALS_SERVICE_CONTRACTID, &kNATIVE_OSFILE_INTERNALS_SERVICE_CID }, |
247 | | { NS_ADDONCONTENTPOLICY_CONTRACTID, &kNS_ADDONCONTENTPOLICY_CID }, |
248 | | { NS_ADDONMANAGERSTARTUP_CONTRACTID, &kNS_ADDON_MANAGER_STARTUP_CID }, |
249 | | { NS_ADDON_POLICY_SERVICE_CONTRACTID, &kNS_ADDON_POLICY_SERVICE_CID }, |
250 | | { NS_SESSIONSTOREUTILS_CONTRACTID, &kNS_SESSIONSTOREUTILS_CID }, |
251 | | { NATIVE_FILEWATCHER_SERVICE_CONTRACTID, &kNATIVE_FILEWATCHER_SERVICE_CID }, |
252 | | #if defined(ENABLE_TESTS) |
253 | | { NS_TELEMETRYGECKOVIEWTESTING_CONTRACTID, &kNS_TELEMETRYGECKOVIEWTESTING_CID }, |
254 | | #endif |
255 | | { nullptr } |
256 | | }; |
257 | | |
258 | | static const mozilla::Module::CategoryEntry kToolkitCategories[] = { |
259 | | { "content-policy", NS_ADDONCONTENTPOLICY_CONTRACTID, NS_ADDONCONTENTPOLICY_CONTRACTID }, |
260 | | { nullptr } |
261 | | }; |
262 | | |
263 | | static const Module kToolkitModule = { |
264 | | Module::kVersion, |
265 | | kToolkitCIDs, |
266 | | kToolkitContracts, |
267 | | kToolkitCategories |
268 | | }; |
269 | | |
270 | | NSMODULE_DEFN(nsToolkitCompsModule) = &kToolkitModule; |