Coverage Report

Created: 2018-09-25 14:53

/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;