no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE
[gecko.git] / layout / build / components.conf
blobeb834a20a1716c9682f8f3f22c98fbe47cbb6767
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 Headers = [
8     '/layout/build/nsLayoutModule.h',
11 UnloadFunc = 'nsLayoutModuleDtor'
13 # This module's unload function needs to be called as late as possible.
14 Priority = 100
16 content_types = [
17     'application/ecmascript',
18     'application/javascript',
19     'application/json',
20     'application/mathml+xml',
21     'application/rdf+xml',
22     'application/vnd.wap.xhtml+xml',
23     'application/x-javascript',
24     'application/x-view-source',
25     'application/xhtml+xml',
26     'application/xml',
27     'image/svg+xml',
28     'text/cache-manifest',
29     'text/css',
30     'text/ecmascript',
31     'text/html',
32     'text/javascript',
33     'text/json',
34     'text/plain',
35     'text/rdf',
36     'text/vtt',
37     'text/xml',
39     'image/apng',
40     'image/bmp',
41     'image/gif',
42     'image/icon',
43     'image/jpeg',
44     'image/jpg',
45     'image/pjpeg',
46     'image/png',
47     'image/vnd.microsoft.icon',
48     'image/webp',
49     'image/x-icon',
50     'image/x-ms-bmp',
51     'image/x-png',
54 if defined('MOZ_WEBM'):
55     content_types += [
56         "audio/webm",
57         "video/webm",
58     ]
60 Classes = [
61     {
62         'cid': '{574ce83e-fe9f-4095-b85c-7909abbf7c37}',
63         'type': 'nsJSURI::Mutator',
64         'headers': ['nsJSProtocolHandler.h'],
65     },
66     {
67         'cid': '{58f089ee-512a-42d2-a935-d0c874128930}',
68         'type': 'nsJSURI::Mutator',
69         'headers': ['nsJSProtocolHandler.h'],
70     },
71     {
72         'cid': '{48118355-e9a5-4452-ab18-59cc426fb817}',
73         'type': 'nsIDocumentViewer',
74     },
75     {
76         'cid': '{bbe50ef2-80eb-469d-b70d-02858275389f}',
77         'type': 'mozilla::dom::BlobURL::Mutator',
78         'headers': ['mozilla/dom/BlobURL.h'],
79     },
80     {
81         'cid': '{f5475c51-59a7-4757-b3d9-e211a9410872}',
82         'type': 'mozilla::dom::BlobURL::Mutator',
83         'headers': ['mozilla/dom/BlobURL.h'],
84     },
85     {
86         'js_name': 'cpmm',
87         'cid': '{fe0ff7c3-8e97-448b-9a8a-86afdb9fbbb6}',
88         'contract_ids': ['@mozilla.org/childprocessmessagemanager;1'],
89         'legacy_constructor': 'CreateChildMessageManager',
90     },
91     {
92         'cid': '{fc886801-e768-11d4-9885-00c04fa0cf4b}',
93         'contract_ids': ['@mozilla.org/content/document-loader-factory;1'],
94         'type': 'nsIDocumentLoaderFactory',
95         'categories': {
96             'Gecko-Content-Viewers': {
97                 'name': content_types,
98                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
99             }
100         },
101     },
102     {
103         'cid': '{0ddf4df8-4dbb-4133-8b79-9afb966514f5}',
104         'contract_ids': ['@mozilla.org/content/plugin/document-loader-factory;1'],
105         'type': 'nsIDocumentLoaderFactory',
106     },
107     {
108         'cid': '{3b55e72e-ab7e-431b-89c0-3b06a8b14016}',
109         'contract_ids': ['@mozilla.org/content/style-sheet-service;1'],
110         'type': 'nsStyleSheetService',
111         'headers': ['nsStyleSheetService.h'],
112         'init_method': 'Init',
113     },
114     {
115         'cid': '{cdcc1ab8-3cea-4e6c-a294-a651fa35227f}',
116         'contract_ids': ['@mozilla.org/contentsecuritymanager;1'],
117         'type': 'nsContentSecurityManager',
118         'headers': ['mozilla/dom/nsContentSecurityManager.h'],
119     },
120     {
121         'cid': '{09d9ed1a-e5d4-4004-bfe0-27ceb923d9ac}',
122         'contract_ids': ['@mozilla.org/cspcontext;1'],
123         'type': 'nsCSPContext',
124         'headers': ['mozilla/dom/nsCSPContext.h'],
125     },
126     {
127         'cid': '{8d2f40b2-4875-4c95-97d9-3f7dca2cb460}',
128         'contract_ids': ['@mozilla.org/cspservice;1'],
129         'type': 'CSPService',
130         'headers': ['mozilla/dom/nsCSPService.h'],
131         'categories': {'content-policy': 'CSPService', 'net-channel-event-sinks': 'CSPService'},
132     },
133     {
134         'cid': '{1147d32c-215b-4014-b180-07fe7aedf915}',
135         'contract_ids': ['@mozilla.org/data-document-content-policy;1'],
136         'type': 'nsDataDocumentContentPolicy',
137         'headers': ['/dom/base/nsDataDocumentContentPolicy.h'],
138         'categories': {'content-policy': '@mozilla.org/data-document-content-policy;1'},
139     },
140     {
141         'cid': '{ecba5203-77da-465a-865e-78b7af10d8f7}',
142         'contract_ids': ['@mozilla.org/devicesensors;1'],
143         'type': 'nsDeviceSensors',
144         'headers': ['nsDeviceSensors.h'],
145     },
146     {
147         'cid': '{38bd0634-0fd4-46f0-b85f-13ced889eeec}',
148         'contract_ids': ['@mozilla.org/docshell/structured-clone-container;1'],
149         'type': 'nsStructuredCloneContainer',
150         'headers': ['nsStructuredCloneContainer.h'],
151     },
152     {
153         'js_name': 'domStorageManager',
154         'cid': '{656db07c-aa80-49e4-bce8-e431baae697d}',
155         'contract_ids': ['@mozilla.org/dom/localStorage-manager;1'],
156         'interfaces': ['nsIDOMStorageManager', 'nsILocalStorageManager'],
157         'legacy_constructor': 'LocalStorageManagerConstructor',
158     },
159     {
160         'cid': '{64e4bf03-773e-408e-939a-e11652fdfd28}',
161         'contract_ids': ['@mozilla.org/dom/sessionStorage-manager;1'],
162         'legacy_constructor': 'SessionStorageManagerConstructor',
163     },
164     {
165         'js_name': 'qms',
166         'cid': '{5a75c25a-5e7e-4d90-8f7c-07eb15cc0aa8}',
167         'contract_ids': ['@mozilla.org/dom/quota-manager-service;1'],
168         'interfaces': ['nsIQuotaManagerService'],
169         'singleton': True,
170         'type': 'mozilla::dom::quota::QuotaManagerService',
171         'headers': ['mozilla/dom/quota/QuotaManagerService.h'],
172         'constructor': 'mozilla::dom::quota::QuotaManagerService::FactoryCreate',
173         'categories': {'idle-daily': 'QuotaManagerService'},
174     },
175     {
176         'cid': '{ae2793c0-2ba3-4adb-9c5e-c23525812c64}',
177         'contract_ids': ['@mozilla.org/dom/sdb-connection;1'],
178         'legacy_constructor': 'mozilla::dom::SDBConnection::Create',
179         'headers': ['mozilla/dom/SDBConnection.h'],
180     },
181     {
182         'cid': '{62ec8731-55ad-4246-b2ea-f26c1fe19d2d}',
183         'contract_ids': ['@mozilla.org/dom/workers/workerdebuggermanager;1'],
184         'singleton': True,
185         'type': 'mozilla::dom::WorkerDebuggerManager',
186         'headers': ['mozilla/dom/WorkerDebuggerManager.h'],
187         'constructor': 'mozilla::dom::WorkerDebuggerManager::GetInstance',
188     },
189     {
190         'js_name': 'els',
191         'cid': '{baa34652-f1f1-4185-b224-244ee82a413a}',
192         'contract_ids': ['@mozilla.org/eventlistenerservice;1'],
193         'interfaces': ['nsIEventListenerService'],
194         'type': 'nsIEventListenerService',
195     },
196     {
197         'cid': '{e8ee88b0-5571-4086-a45b-39a716906bdb}',
198         'contract_ids': [],
199         'type': 'ExpandedPrincipal::Deserializer',
200         'headers': ['/caps/ExpandedPrincipal.h'],
201     },
202     {
203         'js_name': 'focus',
204         'cid': '{cf7fd51f-aba2-44c1-9ff0-11f7508efcd4}',
205         'contract_ids': ['@mozilla.org/focus-manager;1'],
206         'interfaces': ['nsIFocusManager'],
207         'type': 'nsIFocusManager',
208     },
209     {
210         'cid': '{7b121f7e-ebe4-43ab-9410-dc9087a1dba6}',
211         'contract_ids': ['@mozilla.org/gecko-media-plugin-service;1'],
212         'singleton': True,
213         'type': 'mozilla::gmp::GeckoMediaPluginService',
214         'headers': ['GMPService.h'],
215         'constructor': 'mozilla::gmp::GeckoMediaPluginService::GetGeckoMediaPluginService',
216     },
217     {
218         'cid': '{01e1c3ff-094a-d048-44b4-62d29c7b4f39}',
219         'contract_ids': ['@mozilla.org/geolocation;1'],
220         'singleton': True,
221         'type': 'mozilla::dom::Geolocation',
222         'headers': ['/dom/geolocation/Geolocation.h'],
223         'constructor': 'mozilla::dom::Geolocation::NonWindowSingleton',
224     },
225     {
226         'js_name': 'mm',
227         'cid': '{130b016f-fad7-4526-bc7f-827dabf79265}',
228         'contract_ids': ['@mozilla.org/globalmessagemanager;1'],
229         'legacy_constructor': 'CreateGlobalMessageManager',
230     },
231     {
232         'cid': '{bfcb82c2-5611-4318-90d6-baf4a7864252}',
233         'contract_ids': ['@mozilla.org/inspector/deep-tree-walker;1'],
234         'type': 'inDeepTreeWalker',
235         'headers': ['/layout/inspector/inDeepTreeWalker.h'],
236     },
237     {
238         'cid': '{0e3afd3d-eb60-4c2b-963b-56d7c439f124}',
239         'contract_ids': ['@mozilla.org/layout/content-policy;1'],
240         'legacy_constructor': 'CreateContentPolicy',
241     },
242     {
243         'cid': '{4aef38b7-6364-4e23-a5e7-12f837fbbd9c}',
244         'contract_ids': [
245             '@mozilla.org/layout/contentserializer;1?mimetype=application/vnd.mozilla.xul+xml',
246             '@mozilla.org/layout/contentserializer;1?mimetype=application/xml',
247             '@mozilla.org/layout/contentserializer;1?mimetype=image/svg+xml',
248             '@mozilla.org/layout/contentserializer;1?mimetype=text/xml',
249         ],
250         'type': 'nsIContentSerializer',
251         'legacy_constructor': 'CreateXMLContentSerializer',
252     },
253     {
254         'cid': '{e7c2aaf5-c11a-4954-9dbf-e28edec1fd91}',
255         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=application/xhtml+xml'],
256         'legacy_constructor': 'CreateXHTMLContentSerializer',
257     },
258     {
259         'cid': '{9d3f70da-86e9-11d4-95ec-00b0d03e37b7}',
260         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=text/html'],
261         'type': 'nsIContentSerializer',
262         'legacy_constructor': 'CreateHTMLContentSerializer',
263     },
264     {
265         'cid': '{6030f7ef-32ed-46a7-9a63-6a5d3f90445f}',
266         'contract_ids': ['@mozilla.org/layout/contentserializer;1?mimetype=text/plain'],
267         'legacy_constructor': 'CreatePlainTextSerializer',
268     },
269     {
270         'cid': '{abc622ea-9655-4123-80d9-22621bdd5465}',
271         'contract_ids': ['@mozilla.org/mediaManagerService;1'],
272         'singleton': True,
273         'type': 'nsIMediaManagerService',
274         'headers': ['mozilla/MediaManager.h'],
275         'constructor': 'mozilla::MediaManager::GetInstance',
276     },
277     {
278         'cid': '{daf1461b-bf29-4f88-8d0e-4bcdf332c862}',
279         'contract_ids': ['@mozilla.org/mixedcontentblocker;1'],
280         'type': 'nsMixedContentBlocker',
281         'headers': ['mozilla/dom/nsMixedContentBlocker.h'],
282         'categories': {
283             'content-policy': {
284                 'name': '@mozilla.org/mixedcontentblocker;1',
285                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
286             },
287             'net-channel-event-sinks': {
288                 'name': '@mozilla.org/mixedcontentblocker;1',
289                 'backgroundtasks': BackgroundTasksSelector.ALL_TASKS,
290             },
291         },
292     },
293     {
294         'cid': '{041a129f-10ce-4bda-a60d-e027a26d5ed0}',
295         'contract_ids': ['@mozilla.org/referrer-info;1'],
296         'type': 'mozilla::dom::ReferrerInfo',
297         'headers': ['mozilla/dom/ReferrerInfo.h'],
298     },
299     {
300         'cid': '{bfc310d2-38a0-11d3-8cd3-0060b0fc14a3}',
301         'contract_ids': ['@mozilla.org/network/protocol;1?name=javascript'],
302         'type': 'nsJSProtocolHandler',
303         'headers': ['nsJSProtocolHandler.h'],
304         'protocol_config': {
305             'scheme': 'javascript',
306             'flags': [
307                 'URI_NORELATIVE',
308                 'URI_NOAUTH',
309                 'URI_INHERITS_SECURITY_CONTEXT',
310                 'URI_LOADABLE_BY_ANYONE',
311                 'URI_NON_PERSISTABLE',
312                 'URI_OPENING_EXECUTES_SCRIPT',
313             ],
314         },
315     },
316     {
317         'cid': '{ac9e3e82-bfbd-4f26-941e-f58c8ee178c1}',
318         'contract_ids': ['@mozilla.org/no-data-protocol-content-policy;1'],
319         'type': 'nsNoDataProtocolContentPolicy',
320         'headers': ['/dom/base/nsNoDataProtocolContentPolicy.h'],
321         'categories': {'content-policy': '@mozilla.org/no-data-protocol-content-policy;1'},
322     },
323     {
324         'cid': '{bd066e5f-146f-4472-8331-7bfd05b1ed90}',
325         'contract_ids': [],
326         'type': 'mozilla::NullPrincipal::Deserializer',
327         'headers': ['/caps/NullPrincipal.h'],
328     },
329     {
330         'js_name': 'ppmm',
331         'cid': '{2a058404-fb85-44ec-8cfd-e8cbdc988dc1}',
332         'contract_ids': ['@mozilla.org/parentprocessmessagemanager;1'],
333         'legacy_constructor': 'CreateParentMessageManager',
334     },
335     {
336         'cid': '{af7b24cb-893f-41bb-961f-5a69388e27c3}',
337         'contract_ids': ['@mozilla.org/parserutils;1'],
338         'type': 'nsParserUtils',
339         'headers': ['nsParserUtils.h'],
340     },
341     {
342         'cid': '{653e0e4d-3ee4-45fa-b272-97c20bc01eb8}',
343         'contract_ids': [],
344         'type': 'mozilla::ContentPrincipal::Deserializer',
345         'headers': ['/caps/ContentPrincipal.h'],
346     },
347     {
348         'cid': '{2fc2d3e3-020f-404e-b06a-6ecf3ea2334a}',
349         'contract_ids': ['@mozilla.org/push/Notifier;1'],
350         'type': 'mozilla::dom::PushNotifier',
351         'headers': ['mozilla/dom/PushNotifier.h'],
352     },
353     {
354         'cid': '{f68037ec-2790-44c5-8e5f-df5da58b93a7}',
355         'contract_ids': ['@mozilla.org/scriptable-content-iterator;1'],
356         'type': 'ScriptableContentIterator',
357         'headers': ['mozilla/ScriptableContentIterator.h'],
358     },
359     {
360         'cid': '{1950539a-90f0-4d22-b5af-71329c68fa35}',
361         'contract_ids': ['@mozilla.org/scripterror;1'],
362         'type': 'nsScriptError',
363         'headers': ['/dom/bindings/nsScriptError.h'],
364     },
365     {
366         'js_name': 'scriptSecurityManager',
367         'cid': '{7ee2a4c0-4b93-17d3-ba18-0060b0f199a2}',
368         'contract_ids': ['@mozilla.org/scriptsecuritymanager;1'],
369         'interfaces': ['nsIScriptSecurityManager'],
370         'legacy_constructor': 'Construct_nsIScriptSecurityManager',
371     },
372     {
373         'name': 'ServiceWorkerManager',
374         'cid': '{c74bde32-bcc7-4840-8430-c733351b212a}',
375         'contract_ids': ['@mozilla.org/serviceworkers/manager;1'],
376         'singleton': True,
377         'type': 'mozilla::dom::ServiceWorkerManager',
378         'headers': ['mozilla/dom/ServiceWorkerManager.h'],
379         'constructor': 'mozilla::dom::ServiceWorkerManager::GetInstance',
380     },
381     {
382         'cid': '{69da374a-fda3-4a93-9fbc-d9304f66a7fe}',
383         'contract_ids': ['@mozilla.org/storage/activity-service;1'],
384         'singleton': True,
385         'type': 'mozilla::dom::StorageActivityService',
386         'headers': ['mozilla/StaticPtr.h', 'mozilla/dom/StorageActivityService.h'],
387         'constructor': 'mozilla::dom::StorageActivityService::GetOrCreate',
388     },
389     {
390         'cid': '{4a6212db-accb-11d3-b765-0060b0b6cecb}',
391         'contract_ids': ['@mozilla.org/systemprincipal;1'],
392         'singleton': True,
393         'type': 'nsIPrincipal',
394         'headers': ['nsScriptSecurityManager.h', '/caps/SystemPrincipal.h'],
395         'constructor': 'nsScriptSecurityManager::SystemPrincipalSingletonConstructor',
396     },
397     {
398         'cid': '{caaab47f-1e31-478e-8919-970904e9cb72}',
399         'contract_ids': ['@mozilla.org/text-input-processor;1'],
400         'type': 'mozilla::TextInputProcessor',
401         'headers': ['mozilla/TextInputProcessor.h'],
402     },
403     {
404         'name': 'ThirdPartyUtil',
405         'cid': '{08c6cc8b-cfb0-421d-b1f7-683ff2989681}',
406         'contract_ids': ['@mozilla.org/thirdpartyutil;1'],
407         'type': 'ThirdPartyUtil',
408         'headers': ['/dom/base/ThirdPartyUtil.h'],
409         'init_method': 'Init',
410     },
411     {
412         'cid': '{31689828-da66-49a6-870c-df62b83fe789}',
413         'contract_ids': ['@mozilla.org/websocketevent/service;1'],
414         'singleton': True,
415         'type': 'mozilla::net::WebSocketEventService',
416         'headers': ['mozilla/net/WebSocketEventService.h'],
417         'constructor': 'mozilla::net::WebSocketEventService::GetOrCreate',
418     },
419     {
420         'cid': '{abfbb785-5a44-49cf-88db-2f300bf727c9}',
421         'contract_ids': ['@mozilla.org/eventsourceevent/service;1'],
422         'singleton': True,
423         'type': 'mozilla::dom::EventSourceEventService',
424         'headers': ['mozilla/dom/EventSourceEventService.h'],
425         'constructor': 'mozilla::dom::EventSourceEventService::GetOrCreate',
426     },
429 if defined('MOZ_WEBSPEECH'):
430     Classes += [
431         {
432             'cid': '{7090524d-5574-4492-a77f-d8d558ced59d}',
433             'contract_ids': ['@mozilla.org/synth-voice-registry;1'],
434             'singleton': True,
435             'type': 'mozilla::dom::nsSynthVoiceRegistry',
436             'headers': ['mozilla/dom/nsSynthVoiceRegistry.h'],
437             'constructor': 'mozilla::dom::nsSynthVoiceRegistry::GetInstanceForService',
438         },
439         {
440             'cid': '{0ff5ce56-5b09-4db8-adc6-8266af95f864}',
441             'contract_ids': ['@mozilla.org/webspeech/service;1?name=online'],
442             'type': 'mozilla::OnlineSpeechRecognitionService',
443             'headers': ['mozilla/dom/OnlineSpeechRecognitionService.h'],
444         },
445     ]
447 if defined('MOZ_WEBSPEECH_TEST_BACKEND'):
448     Classes += [
449         {
450             'cid': '{48c345e7-9929-4f9a-a563-f478222dabcd}',
451             'contract_ids': ['@mozilla.org/webspeech/service;1?name=fake'],
452             'type': 'mozilla::FakeSpeechRecognitionService',
453             'headers': ['mozilla/dom/FakeSpeechRecognitionService.h'],
454         },
455     ]
457 if defined('ACCESSIBILITY'):
458     Classes += [
459         {
460             'cid': '{3b265b69-f813-48ff-880d-d88d101af404}',
461             'contract_ids': ['@mozilla.org/accessibilityService;1'],
462             'type': 'nsIAccessibilityService',
463         },
464     ]
466 if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'android':
467     Classes += [
468         {
469             'cid': '{1f15dbc8-bfaa-45de-8a46-08e2e26326b0}',
470             'contract_ids': ['@mozilla.org/widget/hapticfeedback;1'],
471             'type': 'nsHapticFeedback',
472             'headers': ['/dom/system/android/nsHapticFeedback.h'],
473         },
474     ]