Bug 1835710 - Cancel off-thread JIT compilation before changing nursery allocation...
[gecko.git] / netwerk / build / components.conf
blob474a98354bdbf6666a66ba2d11ac5b37a733751f
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     '/netwerk/build/nsNetModule.h'
11 InitFunc = 'nsNetStartup'
12 UnloadFunc = 'nsNetShutdown'
14 Categories = {
15     '@mozilla.org/streamconv;1': {
16         '?from=application/http-index-format&to=text/html': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
17         '?from=multipart/x-mixed-replace&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
18         '?from=multipart/mixed&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
19         '?from=multipart/byteranges&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
20         '?from=application/x-unknown-content-type&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
21         '?from=gzip&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
22         '?from=x-gzip&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
23         '?from=br&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
24         '?from=compress&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
25         '?from=x-compress&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
26         '?from=deflate&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
27     },
30 Classes = [
31     {
32         'cid': '{3014dde6-aa1c-41db-87d0-48764a3710f6}',
33         'contract_ids': ['@mozilla.org/io/arraybuffer-input-stream;1'],
34         'type': 'ArrayBufferInputStream',
35         'headers': ['/netwerk/base/ArrayBufferInputStream.h'],
36     },
37     {
38         'js_name': 'loadContextInfo',
39         'cid': '{62d4b190-3642-4450-b019-d1c1fba56025}',
40         'contract_ids': ['@mozilla.org/load-context-info-factory;1'],
41         'interfaces': ['nsILoadContextInfoFactory'],
42         'type': 'mozilla::net::LoadContextInfoFactory',
43         'headers': ['mozilla/LoadContextInfo.h'],
44     },
45     {
46         'name': 'CacheStorage',
47         'js_name': 'cache2',
48         'cid': '{ea70b098-5014-4e21-aee1-75e6b2c4b8e0}',
49         'contract_ids': [
50             '@mozilla.org/netwerk/cache-storage-service;1',
51             '@mozilla.org/network/cache-storage-service;1',
52         ],
53         'interfaces': ['nsICacheStorageService'],
54         'singleton': True,
55         'type': 'mozilla::net::CacheStorageService',
56         'headers': ['CacheStorageService.h'],
57     },
58     {
59         'cid': '{e746a8b1-c97a-4fc5-baa4-66607521bd08}',
60         'contract_ids': ['@mozilla.org/network/async-stream-copier;1'],
61         'type': 'nsAsyncStreamCopier',
62         'headers': ['/netwerk/base/nsAsyncStreamCopier.h'],
63     },
64     {
65         'cid': '{6eae857e-4ba9-11e3-9b39-b4036188709b}',
66         'contract_ids': ['@mozilla.org/network/atomic-file-output-stream;1'],
67         'type': 'nsAtomicFileOutputStream',
68         'headers': ['nsFileStreams.h'],
69     },
70     {
71         'cid': '{62147d1e-ef6a-40e8-aaf8-d039f5caaa81}',
72         'contract_ids': ['@mozilla.org/network/background-file-saver;1?mode=outputstream'],
73         'type': 'mozilla::net::BackgroundFileSaverOutputStream',
74         'headers': ['/netwerk/base/BackgroundFileSaver.h'],
75         'init_method': 'Init',
76     },
77     {
78         'cid': '{208de7fc-a781-4031-bbae-cc0de539f61a}',
79         'contract_ids': ['@mozilla.org/network/background-file-saver;1?mode=streamlistener'],
80         'type': 'mozilla::net::BackgroundFileSaverStreamListener',
81         'headers': ['/netwerk/base/BackgroundFileSaver.h'],
82         'init_method': 'Init',
83     },
84     {
85         'cid': '{a2027ec6-ba0d-4c72-805d-148233f5f33c}',
86         'contract_ids': ['@mozilla.org/network/binary-detector;1'],
87         'legacy_constructor': 'CreateNewBinaryDetectorFactory',
88         'categories': {'net-content-sniffers': 'Binary Detector'}
89     },
90     {
91         'cid': '{9226888e-da08-11d3-8cda-0060b0fc14a3}',
92         'contract_ids': ['@mozilla.org/network/buffered-input-stream;1'],
93         'legacy_constructor': 'nsBufferedInputStream::Create',
94         'headers': ['/netwerk/base/nsBufferedStreams.h'],
95     },
96     {
97         'cid': '{9868b4ce-da08-11d3-8cda-0060b0fc14a3}',
98         'contract_ids': ['@mozilla.org/network/buffered-output-stream;1'],
99         'legacy_constructor': 'nsBufferedOutputStream::Create',
100         'headers': ['/netwerk/base/nsBufferedStreams.h'],
101     },
102     {
103         'cid': '{bdbe0555-fc3d-4f7b-9205-c309ceb2d641}',
104         'contract_ids': ['@mozilla.org/network/captive-portal-service;1'],
105         'singleton': True,
106         'type': 'nsICaptivePortalService',
107         'constructor': 'mozilla::net::CaptivePortalService::GetSingleton',
108         'headers': ['mozilla/net/CaptivePortalService.h'],
109     },
110     {
111         'cid': '{c79eb3c6-091a-45a6-8544-5a8d1ab79537}',
112         'contract_ids': ['@mozilla.org/network/dashboard;1'],
113         'type': 'mozilla::net::Dashboard',
114         'headers': ['mozilla/net/Dashboard.h'],
115     },
116     {
117         'name': 'DNS',
118         'js_name': 'dns',
119         'cid': '{b0ff4572-dae4-4bef-a092-83c1b88f6be9}',
120         'contract_ids': ['@mozilla.org/network/dns-service;1'],
121         'interfaces': ['nsIDNSService'],
122         'singleton': True,
123         'type': 'nsIDNSService',
124         'constructor': 'nsDNSService::GetXPCOMSingleton',
125         'headers': ['/netwerk/dns/nsDNSService2.h'],
126         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
127     },
128     {
129         'cid': '{4ffae79e-57bd-4d7a-a0c9-0045a17b3615}',
130         'contract_ids': ['@mozilla.org/network/native-dns-override;1'],
131         'singleton': True,
132         'type': 'nsINativeDNSResolverOverride',
133         'constructor': 'mozilla::net::NativeDNSResolverOverride::GetSingleton',
134         'headers': ['/netwerk/dns/GetAddrInfo.h'],
135         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
136     },
137     {
138         'cid': '{510a86bb-6019-4ed1-bb4f-965cffd23ece}',
139         'contract_ids': ['@mozilla.org/network/downloader;1'],
140         'type': 'nsDownloader',
141         'headers': ['/netwerk/base/nsDownloader.h'],
142     },
143     {
144         'js_name': 'eTLD',
145         'cid': '{cb9abbae-66b6-4609-8594-5c4ff300888e}',
146         'contract_ids': ['@mozilla.org/network/effective-tld-service;1'],
147         'interfaces': ['nsIEffectiveTLDService'],
148         'singleton': True,
149         'type': 'nsEffectiveTLDService',
150         'headers': ['/netwerk/dns/nsEffectiveTLDService.h'],
151         'init_method': 'Init',
152     },
153     {
154         'cid': '{be9a53ae-c7e9-11d3-8cda-0060b0fc14a3}',
155         'contract_ids': ['@mozilla.org/network/file-input-stream;1'],
156         'legacy_constructor': 'nsFileInputStream::Create',
157         'headers': ['nsFileStreams.h'],
158     },
159     {
160         'cid': '{c272fee0-c7e9-11d3-8cda-0060b0fc14a3}',
161         'contract_ids': ['@mozilla.org/network/file-output-stream;1'],
162         'legacy_constructor': 'nsFileOutputStream::Create',
163         'headers': ['nsFileStreams.h'],
164     },
165     {
166         'cid': '{648705e9-757a-4d4b-a5bF-0248e512c309}',
167         'contract_ids': ['@mozilla.org/network/file-random-access-stream;1'],
168         'legacy_constructor': 'nsFileRandomAccessStream::Create',
169         'headers': ['nsFileStreams.h'],
170     },
171     {
172         'name': 'HttpActivityDistributor',
173         'cid': '{15629ada-a41c-4a09-961f-6553cd60b1a2}',
174         'contract_ids': ['@mozilla.org/network/http-activity-distributor;1'],
175         'type': 'mozilla::net::nsHttpActivityDistributor',
176         'headers': ['/netwerk/protocol/http/nsHttpActivityDistributor.h'],
177         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
178     },
179     {
180         'cid': '{36b63ef3-e0fa-4c49-9fd4-e065e85568f4}',
181         'contract_ids': ['@mozilla.org/network/http-auth-manager;1'],
182         'type': 'mozilla::net::nsHttpAuthManager',
183         'headers': ['/netwerk/protocol/http/nsHttpAuthManager.h'],
184         'init_method': 'Init',
185     },
186     {
187         'cid': '{62b778a6-bce3-456b-8c31-2865fbb68c91}',
188         'contract_ids': ['@mozilla.org/network/idn-service;1'],
189         'type': 'nsIDNService',
190         'headers': ['/netwerk/dns/nsIDNService.h'],
191         'init_method': 'Init',
192         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
193     },
194     {
195         'cid': '{a62af1ba-79b3-4896-8aaf-b148bfce4280}',
196         'contract_ids': ['@mozilla.org/network/incremental-download;1'],
197         'legacy_constructor': 'net_NewIncrementalDownload',
198     },
199     {
200         'cid': '{5d6352a3-b9c3-4fa3-87aa-b2a3c6e5a501}',
201         'contract_ids': ['@mozilla.org/network/incremental-stream-loader;1'],
202         'legacy_constructor': 'nsIncrementalStreamLoader::Create',
203         'headers': ['/netwerk/base/nsIncrementalStreamLoader.h'],
204     },
205     {
206         'cid': '{6ddb050c-0d04-11d4-986e-00c04fa0cf4a}',
207         'contract_ids': ['@mozilla.org/network/input-stream-channel;1'],
208         'type': 'mozilla::net::nsInputStreamChannel',
209         'headers': ['/netwerk/base/nsInputStreamChannel.h'],
210     },
211     {
212         'cid': '{ccd0e960-7947-4635-b70e-4c661b63d675}',
213         'contract_ids': ['@mozilla.org/network/input-stream-pump;1'],
214         'type': 'nsInputStreamPump',
215         'headers': ['nsInputStreamPump.h'],
216     },
217     {
218         'name': 'IO',
219         'js_name': 'io',
220         'cid': '{9ac9e770-18bc-11d3-9337-00104ba0fd40}',
221         'contract_ids': [
222             '@mozilla.org/network/io-service;1',
223             '@mozilla.org/network/util;1',
224         ],
225         'interfaces': ['nsIIOService', 'nsISpeculativeConnect', 'nsINetUtil'],
226         'singleton': True,
227         'type': 'mozilla::net::nsIOService',
228         'headers': ['/netwerk/base/nsIOService.h'],
229         'constructor': 'mozilla::net::nsIOService::GetInstance',
230         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
231     },
232     {
233         'cid': '{e1c61582-2a84-11d3-8cce-0060b0fc14a3}',
234         'contract_ids': ['@mozilla.org/network/load-group;1'],
235         'legacy_constructor': 'nsLoadGroupConstructor',
236     },
237     {
238         'cid': '{1f4dbcf7-245c-4c8c-943d-8a1da0495e8a}',
239         'contract_ids': ['@mozilla.org/network/mime-hdrparam;1'],
240         'type': 'nsMIMEHeaderParamImpl',
241         'headers': ['/netwerk/mime/nsMIMEHeaderParamImpl.h'],
242     },
243     {
244         'cid': '{58a1c31c-1dd2-11b2-a3f6-d36949d48268}',
245         'contract_ids': ['@mozilla.org/network/mime-input-stream;1'],
246         'legacy_constructor': 'nsMIMEInputStreamConstructor',
247         'headers': ['nsMIMEInputStream.h'],
248     },
249     {
250         'cid': '{2693457e-3ba5-4455-991f-5350946adb12}',
251         'contract_ids': ['@mozilla.org/network/network-connectivity-service;1'],
252         'singleton': True,
253         'type': 'nsINetworkConnectivityService',
254         'constructor': 'mozilla::net::NetworkConnectivityService::GetSingleton',
255         'headers': ['mozilla/net/NetworkConnectivityService.h'],
256     },
257     {
258         'cid': '{969adfdf-7221-4419-aecf-05f8faf00c9b}',
259         'contract_ids': ['@mozilla.org/network/predictor;1'],
260         'singleton': True,
261         'legacy_constructor': 'mozilla::net::Predictor::Create',
262         'headers': ['mozilla/net/Predictor.h'],
263     },
264     {
265         'cid': '{e9b301c0-e0e4-11d3-a1a8-0050041caf44}',
266         'contract_ids': ['@mozilla.org/network/protocol-proxy-service;1'],
267         'singleton': True,
268         'type': 'mozilla::net::nsProtocolProxyService',
269         'headers': ['/netwerk/base/nsProtocolProxyService.h'],
270         'init_method': 'Init',
271     },
272     {
273         'cid': '{3decd6c8-30ef-11d3-8cd0-0060b0fc14a3}',
274         'contract_ids': ['@mozilla.org/network/protocol/about;1?what=blank'],
275         'legacy_constructor': 'nsAboutBlank::Create',
276         'headers': ['/netwerk/protocol/about/nsAboutBlank.h'],
277     },
278     {
279         'cid': '{9158c470-86e4-11d4-9be2-00e09872a416}',
280         'contract_ids': ['@mozilla.org/network/protocol/about;1?what=cache'],
281         'legacy_constructor': 'nsAboutCache::Create',
282         'headers': ['/netwerk/protocol/about/nsAboutCache.h'],
283     },
284     {
285         'cid': '{7fa5237d-b0eb-438f-9e50-ca0166e63788}',
286         'contract_ids': ['@mozilla.org/network/protocol/about;1?what=cache-entry'],
287         'type': 'nsAboutCacheEntry',
288         'headers': ['/netwerk/protocol/about/nsAboutCacheEntry.h'],
289     },
290     {
291         'cid': '{9e3b6c90-2f75-11d3-8cd0-0060b0fc14a3}',
292         'contract_ids': ['@mozilla.org/network/protocol;1?name=about'],
293         'singleton': True,
294         'type': 'mozilla::net::nsAboutProtocolHandler',
295         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
296         'protocol_config': {
297             'scheme': 'about',
298             'flags': [
299                 'URI_NORELATIVE',
300                 'URI_NOAUTH',
301                 'URI_DANGEROUS_TO_LOAD',
302                 'URI_SCHEME_NOT_SELF_LINKABLE',
303             ],
304             'has_dynamic_flags': True,
305         },
306     },
307     {
308         'cid': '{b6ed3030-6183-11d3-a178-0050041caf44}',
309         'contract_ids': ['@mozilla.org/network/protocol;1?name=data'],
310         'singleton': True,
311         'legacy_constructor': 'nsDataHandler::Create',
312         'headers': ['/netwerk/protocol/data/nsDataHandler.h'],
313         'protocol_config': {
314             'scheme': 'data',
315             'flags': [
316                 'URI_NORELATIVE',
317                 'URI_NOAUTH',
318                 'URI_INHERITS_SECURITY_CONTEXT',
319                 'URI_LOADABLE_BY_ANYONE',
320                 'URI_NON_PERSISTABLE',
321                 'URI_IS_LOCAL_RESOURCE',
322                 'URI_SYNC_LOAD_IS_OK',
323             ],
324         },
325     },
326     {
327         'cid': '{fbc81170-1f69-11d3-9344-00104ba0fd40}',
328         'contract_ids': ['@mozilla.org/network/protocol;1?name=file'],
329         'singleton': True,
330         'type': 'nsFileProtocolHandler',
331         'headers': ['mozilla/net/nsFileProtocolHandler.h'],
332         'init_method': 'Init',
333         'protocol_config': {
334             'scheme': 'file',
335             'flags': [
336                 'URI_NOAUTH',
337                 'URI_IS_LOCAL_FILE',
338                 'URI_IS_LOCAL_RESOURCE',
339                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
340             ],
341         },
342     },
343     {
344         'cid': '{4f47e42e-4d23-4dd3-bfda-eb29255e9ea3}',
345         'contract_ids': ['@mozilla.org/network/protocol;1?name=http'],
346         'singleton': True,
347         'type': 'mozilla::net::nsHttpHandler',
348         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
349         'protocol_config': {
350             'scheme': 'http',
351             'flags': [
352                 'URI_STD',
353                 'ALLOWS_PROXY',
354                 'ALLOWS_PROXY_HTTP',
355                 'URI_LOADABLE_BY_ANYONE',
356             ],
357             'default_port': 80,
358         },
359     },
360     {
361         'cid': '{dccbe7e4-7750-466b-a557-5ea36c8ff24e}',
362         'contract_ids': ['@mozilla.org/network/protocol;1?name=https'],
363         'singleton': True,
364         'type': 'mozilla::net::nsHttpsHandler',
365         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
366         'protocol_config': {
367             'scheme': 'https',
368             'flags': [
369                 'URI_STD',
370                 'ALLOWS_PROXY',
371                 'ALLOWS_PROXY_HTTP',
372                 'URI_LOADABLE_BY_ANYONE',
373                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
374             ],
375             'default_port': 443,
376         },
377     },
378     {
379         'cid': '{aea16cd0-f020-4138-b068-0716c4a15b5a}',
380         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-extension'],
381         'singleton': True,
382         'type': 'mozilla::net::ExtensionProtocolHandler',
383         'headers': ['mozilla/net/ExtensionProtocolHandler.h'],
384         'constructor': 'mozilla::net::ExtensionProtocolHandler::GetSingleton',
385         'protocol_config': {
386             'scheme': 'moz-extension',
387             'flags': [
388                 'URI_STD',
389                 'URI_IS_LOCAL_RESOURCE',
390                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
391             ],
392             'has_dynamic_flags': True,
393         },
394     },
395     {
396         'cid': '{450a2b55-620a-44b3-9f67-839b3b0c329c}',
397         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-page-thumb'],
398         'singleton': True,
399         'type': 'mozilla::net::PageThumbProtocolHandler',
400         'headers': ['mozilla/net/PageThumbProtocolHandler.h'],
401         'constructor': 'mozilla::net::PageThumbProtocolHandler::GetSingleton',
402         'protocol_config': {
403             'scheme': 'moz-page-thumb',
404             'flags': [
405                 'URI_STD',
406                 'URI_IS_UI_RESOURCE',
407                 'URI_IS_LOCAL_RESOURCE',
408                 'URI_NORELATIVE',
409                 'URI_NOAUTH',
410             ],
411         },
412     },
413     {
414         'cid': '{1423e739-782c-4081-b5d8-fe6fba68c0ef}',
415         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-safe-about'],
416         'singleton': True,
417         'type': 'mozilla::net::nsSafeAboutProtocolHandler',
418         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
419         'protocol_config': {
420             'scheme': 'moz-safe-about',
421             'flags': [
422                 'URI_NORELATIVE',
423                 'URI_NOAUTH',
424                 'URI_LOADABLE_BY_ANYONE',
425                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
426             ],
427         },
428     },
429     {
430         'cid': '{e64f152a-9f07-11d3-8cda-0060b0fc14a3}',
431         'contract_ids': ['@mozilla.org/network/protocol;1?name=resource'],
432         'singleton': True,
433         'type': 'nsResProtocolHandler',
434         'headers': ['/netwerk/protocol/res/nsResProtocolHandler.h'],
435         'constructor': 'nsResProtocolHandler::GetSingleton',
436         'protocol_config': {
437             'scheme': 'resource',
438             'flags': [
439                 'URI_STD',
440                 'URI_IS_UI_RESOURCE',
441                 'URI_IS_LOCAL_RESOURCE',
442                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
443             ],
444         },
445     },
446     {
447         'cid': '{9c7ec5d1-23f9-11d5-aea8-8fcc0793e97f}',
448         'contract_ids': ['@mozilla.org/network/protocol;1?name=view-source'],
449         'singleton': True,
450         'type': 'mozilla::net::nsViewSourceHandler',
451         'headers': ['/netwerk/protocol/viewsource/nsViewSourceHandler.h'],
452         'protocol_config': {
453             'scheme': 'view-source',
454             'flags': [
455                 'URI_NORELATIVE',
456                 'URI_NOAUTH',
457                 'URI_DANGEROUS_TO_LOAD',
458                 'URI_NON_PERSISTABLE',
459             ],
460             'has_dynamic_flags': True,
461         },
462     },
463     {
464         'cid': '{dc01db59-a513-4c90-824b-085cce06c0aa}',
465         'contract_ids': ['@mozilla.org/network/protocol;1?name=ws'],
466         'singleton': True,
467         'legacy_constructor': 'mozilla::net::WebSocketChannelConstructor',
468         'protocol_config': {
469             'scheme': 'ws',
470             'flags': [
471                 'URI_NORELATIVE',
472                 'URI_NON_PERSISTABLE',
473                 'ALLOWS_PROXY',
474                 'ALLOWS_PROXY_HTTP',
475                 'URI_DOES_NOT_RETURN_DATA',
476                 'URI_DANGEROUS_TO_LOAD',
477             ],
478             'default_port': 80,
479         },
480     },
481     {
482         'cid': '{dc01dbbb-a5bb-4cbb-82bb-085cce06c0bb}',
483         'contract_ids': ['@mozilla.org/network/protocol;1?name=wss'],
484         'singleton': True,
485         'legacy_constructor': 'mozilla::net::WebSocketSSLChannelConstructor',
486         'protocol_config': {
487             'scheme': 'wss',
488             'flags': [
489                 'URI_NORELATIVE',
490                 'URI_NON_PERSISTABLE',
491                 'ALLOWS_PROXY',
492                 'ALLOWS_PROXY_HTTP',
493                 'URI_DOES_NOT_RETURN_DATA',
494                 'URI_DANGEROUS_TO_LOAD',
495                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
496             ],
497             'default_port': 443,
498         },
499     },
500     {
501         'cid': '{a181af0d-68b8-4308-94db-d4f859058215}',
502         'contract_ids': ['@mozilla.org/network/safe-file-output-stream;1'],
503         'type': 'nsSafeFileOutputStream',
504         'headers': ['nsFileStreams.h'],
505     },
506     {
507         'cid': '{d6ef593d-a429-4b14-a887-d9e2f765d9ed}',
508         'contract_ids': ['@mozilla.org/network/serialization-helper;1'],
509         'type': 'nsSerializationHelper',
510         'headers': ['nsSerializationHelper.h'],
511     },
512     {
513         'cid': '{2ec62893-3b35-48fa-ab1d-5e68a9f45f08}',
514         'contract_ids': ['@mozilla.org/network/server-socket;1'],
515         'type': 'mozilla::net::nsServerSocket',
516         'headers': ['/netwerk/base/nsServerSocket.h'],
517     },
518     {
519         'cid': '{fb8cbf4e-4701-4ba1-b1d6-5388e041fb67}',
520         'contract_ids': ['@mozilla.org/network/simple-stream-listener;1'],
521         'type': 'mozilla::net::nsSimpleStreamListener',
522         'headers': ['/netwerk/base/nsSimpleStreamListener.h'],
523     },
524     {
525         'cid': '{2be14592-28d4-4a83-8fe9-08e778849f6e}',
526         'contract_ids': ['@mozilla.org/network/simple-uri-mutator;1'],
527         'type': 'mozilla::net::nsSimpleURI::Mutator',
528         'headers': ['nsSimpleURI.h'],
529         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
530     },
531     {
532         'cid': '{04445aa0-fd27-4c99-bd41-6be6318ae92c}',
533         'contract_ids': ['@mozilla.org/network/default-uri-mutator;1'],
534         'type': 'mozilla::net::DefaultURI::Mutator',
535         'headers': ['/netwerk/base/DefaultURI.h'],
536         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
537     },
538     {
539         'name': 'SocketTransport',
540         'cid': '{ad56b25f-e6bb-4db3-9f7b-5b7db33fd2b1}',
541         'contract_ids': ['@mozilla.org/network/socket-transport-service;1'],
542         'singleton': True,
543         'type': 'mozilla::net::nsSocketTransportService',
544         'headers': ['/netwerk/base/nsSocketTransportService2.h'],
545         'init_method': 'Init',
546         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
547     },
548     {
549         'cid': '{ce7d7da0-fb28-44a3-8c7b-000c165918f4}',
550         'contract_ids': ['@mozilla.org/network/standard-url-mutator;1'],
551         'type': 'mozilla::net::nsStandardURL::Mutator',
552         'headers': ['/netwerk/base/nsStandardURL.h'],
553         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
554     },
555     {
556         'cid': '{831f8f13-7aa8-485f-b02e-77c881cc5773}',
557         'contract_ids': ['@mozilla.org/network/stream-listener-tee;1'],
558         'type': 'mozilla::net::nsStreamListenerTee',
559         'headers': ['/netwerk/base/nsStreamListenerTee.h'],
560     },
561     {
562         'cid': '{9879908a-2972-40c0-890b-a91dd7dfb954}',
563         'contract_ids': ['@mozilla.org/network/stream-loader;1'],
564         'legacy_constructor': 'mozilla::net::nsStreamLoader::Create',
565         'headers': ['/netwerk/base/nsStreamLoader.h'],
566         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
567     },
568     {
569         'name': 'StreamTransport',
570         'cid': '{0885d4f8-f7b8-4cda-902e-94ba38bc256e}',
571         'contract_ids': ['@mozilla.org/network/stream-transport-service;1'],
572         'type': 'mozilla::net::nsStreamTransportService',
573         'headers': ['/netwerk/base/nsStreamTransportService.h'],
574         'init_method': 'Init',
575     },
576     {
577         'cid': '{4c39159c-cd90-4dd3-97a7-06af5e6d84c4}',
578         'contract_ids': ['@mozilla.org/network/throttlequeue;1'],
579         'type': 'nsIInputChannelThrottleQueue',
580         'constructor': 'mozilla::net::ThrottleQueue::Create',
581         'headers': ['/netwerk/base/ThrottleQueue.h'],
582     },
583     {
584         'cid': '{1813cbb4-c98e-4622-8c7d-839167f3f272}',
585         'contract_ids': ['@mozilla.org/network/tls-server-socket;1'],
586         'type': 'mozilla::net::TLSServerSocket',
587         'headers': ['/netwerk/base/TLSServerSocket.h'],
588     },
589     {
590         'cid': '{c9f74572-7b8e-4fec-bb4a-03c0d3021bd6}',
591         'contract_ids': ['@mozilla.org/network/udp-socket;1'],
592         'type': 'mozilla::net::nsUDPSocket',
593         'headers': ['/netwerk/base/nsUDPSocket.h'],
594         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
595     },
596     {
597         'cid': '{ff41913b-546a-4bff-9201-dc9b2c032eba}',
598         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=maybe'],
599         'type': 'nsStdURLParser',
600         'headers': ['nsURLParsers.h'],
601         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
602     },
603     {
604         'cid': '{78804a84-8173-42b6-bb94-789f0816a810}',
605         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=no'],
606         'type': 'nsNoAuthURLParser',
607         'headers': ['nsURLParsers.h'],
608         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
609     },
610     {
611         'cid': '{275d800e-3f60-4896-adb7-d7f390ce0e42}',
612         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=yes'],
613         'type': 'nsAuthURLParser',
614         'headers': ['nsURLParsers.h'],
615         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
616     },
617     {
618         'cid': '{892ffeb0-3f80-11d3-a16c-0050041caf44}',
619         'contract_ids': ['@mozilla.org/streamConverters;1'],
620         'legacy_constructor': 'CreateNewStreamConvServiceFactory',
621         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
622     },
623     {
624         'cid': '{cf0f71fd-fafd-4e2b-9fdc-134d972e16e2}',
625         'contract_ids': ['@mozilla.org/streamconv;1?from=application/http-index-format&to=text/html'],
626         'legacy_constructor': 'nsIndexedToHTML::Create',
627         'headers': ['/netwerk/streamconv/converters/nsIndexedToHTML.h'],
628     },
629     {
630         'cid': '{7d7008a0-c49a-11d3-9b22-0080c7cb1080}',
631         'contract_ids': ['@mozilla.org/streamconv;1?from=application/x-unknown-content-type&to=*/*'],
632         'legacy_constructor': 'CreateNewUnknownDecoderFactory',
633     },
634     {
635         'cid': '{66230b2b-17fa-4bd3-abf4-07986151022d}',
636         'contract_ids': [
637             '@mozilla.org/streamconv;1?from=br&to=uncompressed',
638             '@mozilla.org/streamconv;1?from=compress&to=uncompressed',
639             '@mozilla.org/streamconv;1?from=deflate&to=uncompressed',
640             '@mozilla.org/streamconv;1?from=gzip&to=uncompressed',
641             '@mozilla.org/streamconv;1?from=x-compress&to=uncompressed',
642             '@mozilla.org/streamconv;1?from=x-gzip&to=uncompressed',
643         ],
644         'legacy_constructor': 'CreateNewHTTPCompressConvFactory',
645         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
646     },
647     {
648         'cid': '{7584ce90-5b25-11d3-a175-0050041caf44}',
649         'contract_ids': [
650             '@mozilla.org/streamconv;1?from=multipart/byteranges&to=*/*',
651             '@mozilla.org/streamconv;1?from=multipart/mixed&to=*/*',
652             '@mozilla.org/streamconv;1?from=multipart/x-mixed-replace&to=*/*',
653         ],
654         'legacy_constructor': 'CreateNewMultiMixedConvFactory',
655     },
656     {
657         'cid': '{77c0e42a-1dd2-11b2-8ebf-edc6606f2f4b}',
658         'contract_ids': ['@mozilla.org/txttohtmlconv;1'],
659         'legacy_constructor': 'CreateNewTXTToHTMLConvFactory',
660     },
661     {
662         'cid': '{2f277c00-0eaf-4ddb-b936-41326ba48aae}',
663         'contract_ids': [],
664         'type': 'mozilla::net::nsNestedAboutURI::Mutator',
665         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
666     },
667     {
668         'cid': '{56388dad-287b-4240-a785-85c394012503}',
669         'contract_ids': [],
670         'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
671         'headers': ['nsSimpleNestedURI.h'],
672     },
673     {
674         'cid': '{9c4e9d49-ce64-4ca3-acef-3075c5e5aba7}',
675         'contract_ids': [],
676         'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
677         'headers': ['nsSimpleNestedURI.h'],
678     },
679     {
680         'cid': '{b0054ef3-b096-483d-8242-4ee36b7b2115}',
681         'contract_ids': [],
682         'type': 'mozilla::net::nsNestedAboutURI::Mutator',
683         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
684     },
685     {
686         'cid': '{b3cfeb91-332a-46c9-ad97-93ff39841494}',
687         'contract_ids': [],
688         'type': 'mozilla::net::SubstitutingURL::Mutator',
689         'headers': ['mozilla/net/SubstitutingURL.h'],
690     },
691     {
692         'cid': '{de9472d0-8034-11d3-9399-00104ba0fd40}',
693         'contract_ids': [],
694         'type': 'mozilla::net::nsStandardURL::Mutator',
695         'headers': ['/netwerk/base/nsStandardURL.h'],
696         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
697     },
698     {
699         'cid': '{dea9657c-18cf-4984-bde9-ccef5d8ab473}',
700         'contract_ids': [],
701         'type': 'mozilla::net::SubstitutingURL::Mutator',
702         'headers': ['mozilla/net/SubstitutingURL.h'],
703     },
704     {
705         'cid': '{50d50ddf-f16a-4652-8705-936b19c3763b}',
706         'contract_ids': [],
707         'type': 'mozilla::net::SubstitutingJARURI',
708         'headers': ['mozilla/net/SubstitutingJARURI.h'],
709         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
710     },
711     {
712         'cid': '{e0da1d70-2f7b-11d3-8cd0-0060b0fc14a3}',
713         'contract_ids': [],
714         'type': 'mozilla::net::nsSimpleURI::Mutator',
715         'headers': ['nsSimpleURI.h'],
716         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
717     },
718     {
719         'js_name': 'cookies',
720         'cid': '{c375fa80-150f-11d6-a618-0010a401eb10}',
721         'contract_ids': [
722             '@mozilla.org/cookieService;1',
723             '@mozilla.org/cookiemanager;1',
724         ],
725         'interfaces': ['nsICookieService', 'nsICookieManager'],
726         'singleton': True,
727         'type': 'nsICookieService',
728         'constructor': 'mozilla::net::CookieService::GetXPCOMSingleton',
729         'headers': ['/netwerk/cookie/CookieService.h'],
730     },
731     {
732         'cid': '{e1676f84-e6e5-45d0-a4bf-d9905efc5b2e}',
733         'contract_ids': ['@mozilla.org/http-sfv-service;1'],
734         'singleton': True,
735         'constructor': 'mozilla::net::GetSFVService',
736         'headers': ['mozilla/net/SFVService.h'],
737     },
738     {
739         'cid': '{4ce234f1-52e8-47a9-8c8d-b02f815733c7}',
740         'contract_ids': ['@mozilla.org/cookieJarSettings;1'],
741         'type': 'nsICookieJarSettings',
742         'constructor': 'mozilla::net::CookieJarSettings::CreateForXPCOM',
743         'headers': ['mozilla/net/CookieJarSettings.h'],
744     },
747 if defined('NECKO_WIFI'):
748     Classes += [
749         {
750             'cid': '{3ff8fb9f-ee63-48df-89f0-dace0242fd82}',
751             'contract_ids': ['@mozilla.org/wifi/monitor;1'],
752             'singleton': True,
753             'type': 'nsWifiMonitor',
754             'headers': ['/netwerk/wifi/nsWifiMonitor.h'],
755         },
756     ]
758 if buildconfig.substs['OS_ARCH'] in ('WINNT', 'Darwin', 'Linux'):
759     Classes += [
760         {
761             'cid': '{296d0900-f8ef-4df0-9c35-db5862abc58d}',
762             'contract_ids': ['@mozilla.org/network-info-service;1'],
763             'type': 'mozilla::net::nsNetworkInfoService',
764             'headers': ['/netwerk/base/nsNetworkInfoService.h'],
765             'init_method': 'Init',
766         },
767     ]
770 toolkit = buildconfig.substs['MOZ_WIDGET_TOOLKIT']
771 link_service = None
772 if toolkit == 'windows':
773     link_service = {
774         'type': 'nsNotifyAddrListener',
775         'headers': ['/netwerk/system/win32/nsNotifyAddrListener.h'],
776         'init_method': 'Init',
777     }
778 elif toolkit == 'cocoa':
779     link_service = {
780         'type': 'nsNetworkLinkService',
781         'headers': ['/netwerk/system/mac/nsNetworkLinkService.h'],
782         'init_method': 'Init',
783     }
784 elif toolkit == 'android':
785     link_service = {
786         'type': 'nsAndroidNetworkLinkService',
787         'headers': ['/netwerk/system/android/nsAndroidNetworkLinkService.h'],
788         'init_method': 'Init',
789     }
790 elif buildconfig.substs['OS_ARCH'] == 'Linux':
791     link_service = {
792         'type': 'nsNetworkLinkService',
793         'headers': ['/netwerk/system/linux/nsNetworkLinkService.h'],
794         'init_method': 'Init',
795     }
797 if link_service:
798     Classes += [
799         dict({
800             'cid': '{75a500a2-0030-40f7-86f8-63f225b940ae}',
801             'contract_ids': ['@mozilla.org/network/network-link-service;1'],
802             'singleton': True,
803         }, **link_service)
804     ]
806 if toolkit != 'android':
807     Classes += [
808         {
809         'cid': '{72da39cc-0b9b-4fff-8ff9-d3b9a41d0dc4}',
810         'contract_ids': ['@mozilla.org/net/CachePurgeLock;1'],
811         'type': 'mozilla::net::CachePurgeLock',
812         'headers': ['mozilla/net/CachePurgeLock.h'],
813         },
814     ]