Bug 1876289 [wpt PR 44165] - Unskip loaf-source-location-redirect and deflake, a...
[gecko.git] / netwerk / build / components.conf
blob68d7be7ec3315121e82b9fe5318e3ba3bd6148c4
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                 'URI_HAS_WEB_EXPOSED_ORIGIN',
357             ],
358             'default_port': 80,
359         },
360     },
361     {
362         'cid': '{dccbe7e4-7750-466b-a557-5ea36c8ff24e}',
363         'contract_ids': ['@mozilla.org/network/protocol;1?name=https'],
364         'singleton': True,
365         'type': 'mozilla::net::nsHttpsHandler',
366         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
367         'protocol_config': {
368             'scheme': 'https',
369             'flags': [
370                 'URI_STD',
371                 'ALLOWS_PROXY',
372                 'ALLOWS_PROXY_HTTP',
373                 'URI_LOADABLE_BY_ANYONE',
374                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
375                 'URI_HAS_WEB_EXPOSED_ORIGIN',
376             ],
377             'default_port': 443,
378         },
379     },
380     {
381         'cid': '{aea16cd0-f020-4138-b068-0716c4a15b5a}',
382         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-extension'],
383         'singleton': True,
384         'type': 'mozilla::net::ExtensionProtocolHandler',
385         'headers': ['mozilla/net/ExtensionProtocolHandler.h'],
386         'constructor': 'mozilla::net::ExtensionProtocolHandler::GetSingleton',
387         'protocol_config': {
388             'scheme': 'moz-extension',
389             'flags': [
390                 'URI_STD',
391                 'URI_IS_LOCAL_RESOURCE',
392                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
393                 'URI_HAS_WEB_EXPOSED_ORIGIN',
394             ],
395             'has_dynamic_flags': True,
396         },
397     },
398     {
399         'cid': '{450a2b55-620a-44b3-9f67-839b3b0c329c}',
400         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-page-thumb'],
401         'singleton': True,
402         'type': 'mozilla::net::PageThumbProtocolHandler',
403         'headers': ['mozilla/net/PageThumbProtocolHandler.h'],
404         'constructor': 'mozilla::net::PageThumbProtocolHandler::GetSingleton',
405         'protocol_config': {
406             'scheme': 'moz-page-thumb',
407             'flags': [
408                 'URI_STD',
409                 'URI_IS_UI_RESOURCE',
410                 'URI_IS_LOCAL_RESOURCE',
411                 'URI_NORELATIVE',
412                 'URI_NOAUTH',
413             ],
414         },
415     },
416     {
417         'cid': '{1423e739-782c-4081-b5d8-fe6fba68c0ef}',
418         'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-safe-about'],
419         'singleton': True,
420         'type': 'mozilla::net::nsSafeAboutProtocolHandler',
421         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
422         'protocol_config': {
423             'scheme': 'moz-safe-about',
424             'flags': [
425                 'URI_NORELATIVE',
426                 'URI_NOAUTH',
427                 'URI_LOADABLE_BY_ANYONE',
428                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
429             ],
430         },
431     },
432     {
433         'cid': '{e64f152a-9f07-11d3-8cda-0060b0fc14a3}',
434         'contract_ids': ['@mozilla.org/network/protocol;1?name=resource'],
435         'singleton': True,
436         'type': 'nsResProtocolHandler',
437         'headers': ['/netwerk/protocol/res/nsResProtocolHandler.h'],
438         'constructor': 'nsResProtocolHandler::GetSingleton',
439         'protocol_config': {
440             'scheme': 'resource',
441             'flags': [
442                 'URI_STD',
443                 'URI_IS_UI_RESOURCE',
444                 'URI_IS_LOCAL_RESOURCE',
445                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
446                 'URI_HAS_WEB_EXPOSED_ORIGIN',
447             ],
448         },
449     },
450     {
451         'cid': '{9c7ec5d1-23f9-11d5-aea8-8fcc0793e97f}',
452         'contract_ids': ['@mozilla.org/network/protocol;1?name=view-source'],
453         'singleton': True,
454         'type': 'mozilla::net::nsViewSourceHandler',
455         'headers': ['/netwerk/protocol/viewsource/nsViewSourceHandler.h'],
456         'protocol_config': {
457             'scheme': 'view-source',
458             'flags': [
459                 'URI_NORELATIVE',
460                 'URI_NOAUTH',
461                 'URI_DANGEROUS_TO_LOAD',
462                 'URI_NON_PERSISTABLE',
463             ],
464             'has_dynamic_flags': True,
465         },
466     },
467     {
468         'cid': '{dc01db59-a513-4c90-824b-085cce06c0aa}',
469         'contract_ids': ['@mozilla.org/network/protocol;1?name=ws'],
470         'singleton': True,
471         'legacy_constructor': 'mozilla::net::WebSocketChannelConstructor',
472         'protocol_config': {
473             'scheme': 'ws',
474             'flags': [
475                 'URI_NORELATIVE',
476                 'URI_NON_PERSISTABLE',
477                 'ALLOWS_PROXY',
478                 'ALLOWS_PROXY_HTTP',
479                 'URI_DOES_NOT_RETURN_DATA',
480                 'URI_DANGEROUS_TO_LOAD',
481                 'URI_HAS_WEB_EXPOSED_ORIGIN',
482             ],
483             'default_port': 80,
484         },
485     },
486     {
487         'cid': '{dc01dbbb-a5bb-4cbb-82bb-085cce06c0bb}',
488         'contract_ids': ['@mozilla.org/network/protocol;1?name=wss'],
489         'singleton': True,
490         'legacy_constructor': 'mozilla::net::WebSocketSSLChannelConstructor',
491         'protocol_config': {
492             'scheme': 'wss',
493             'flags': [
494                 'URI_NORELATIVE',
495                 'URI_NON_PERSISTABLE',
496                 'ALLOWS_PROXY',
497                 'ALLOWS_PROXY_HTTP',
498                 'URI_DOES_NOT_RETURN_DATA',
499                 'URI_DANGEROUS_TO_LOAD',
500                 'URI_IS_POTENTIALLY_TRUSTWORTHY',
501                 'URI_HAS_WEB_EXPOSED_ORIGIN',
502             ],
503             'default_port': 443,
504         },
505     },
506     {
507         'cid': '{a181af0d-68b8-4308-94db-d4f859058215}',
508         'contract_ids': ['@mozilla.org/network/safe-file-output-stream;1'],
509         'type': 'nsSafeFileOutputStream',
510         'headers': ['nsFileStreams.h'],
511     },
512     {
513         'cid': '{d6ef593d-a429-4b14-a887-d9e2f765d9ed}',
514         'contract_ids': ['@mozilla.org/network/serialization-helper;1'],
515         'type': 'nsSerializationHelper',
516         'headers': ['nsSerializationHelper.h'],
517     },
518     {
519         'cid': '{2ec62893-3b35-48fa-ab1d-5e68a9f45f08}',
520         'contract_ids': ['@mozilla.org/network/server-socket;1'],
521         'type': 'mozilla::net::nsServerSocket',
522         'headers': ['/netwerk/base/nsServerSocket.h'],
523     },
524     {
525         'cid': '{fb8cbf4e-4701-4ba1-b1d6-5388e041fb67}',
526         'contract_ids': ['@mozilla.org/network/simple-stream-listener;1'],
527         'type': 'mozilla::net::nsSimpleStreamListener',
528         'headers': ['/netwerk/base/nsSimpleStreamListener.h'],
529     },
530     {
531         'cid': '{2be14592-28d4-4a83-8fe9-08e778849f6e}',
532         'contract_ids': ['@mozilla.org/network/simple-uri-mutator;1'],
533         'type': 'mozilla::net::nsSimpleURI::Mutator',
534         'headers': ['nsSimpleURI.h'],
535         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
536     },
537     {
538         'cid': '{04445aa0-fd27-4c99-bd41-6be6318ae92c}',
539         'contract_ids': ['@mozilla.org/network/default-uri-mutator;1'],
540         'type': 'mozilla::net::DefaultURI::Mutator',
541         'headers': ['/netwerk/base/DefaultURI.h'],
542         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
543     },
544     {
545         'name': 'SocketTransport',
546         'cid': '{ad56b25f-e6bb-4db3-9f7b-5b7db33fd2b1}',
547         'contract_ids': ['@mozilla.org/network/socket-transport-service;1'],
548         'singleton': True,
549         'type': 'mozilla::net::nsSocketTransportService',
550         'headers': ['/netwerk/base/nsSocketTransportService2.h'],
551         'init_method': 'Init',
552         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
553     },
554     {
555         'cid': '{ce7d7da0-fb28-44a3-8c7b-000c165918f4}',
556         'contract_ids': ['@mozilla.org/network/standard-url-mutator;1'],
557         'type': 'mozilla::net::nsStandardURL::Mutator',
558         'headers': ['/netwerk/base/nsStandardURL.h'],
559         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
560     },
561     {
562         'cid': '{831f8f13-7aa8-485f-b02e-77c881cc5773}',
563         'contract_ids': ['@mozilla.org/network/stream-listener-tee;1'],
564         'type': 'mozilla::net::nsStreamListenerTee',
565         'headers': ['/netwerk/base/nsStreamListenerTee.h'],
566     },
567     {
568         'cid': '{9879908a-2972-40c0-890b-a91dd7dfb954}',
569         'contract_ids': ['@mozilla.org/network/stream-loader;1'],
570         'legacy_constructor': 'mozilla::net::nsStreamLoader::Create',
571         'headers': ['/netwerk/base/nsStreamLoader.h'],
572         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
573     },
574     {
575         'name': 'StreamTransport',
576         'cid': '{0885d4f8-f7b8-4cda-902e-94ba38bc256e}',
577         'contract_ids': ['@mozilla.org/network/stream-transport-service;1'],
578         'type': 'mozilla::net::nsStreamTransportService',
579         'headers': ['/netwerk/base/nsStreamTransportService.h'],
580         'init_method': 'Init',
581     },
582     {
583         'cid': '{4c39159c-cd90-4dd3-97a7-06af5e6d84c4}',
584         'contract_ids': ['@mozilla.org/network/throttlequeue;1'],
585         'type': 'nsIInputChannelThrottleQueue',
586         'constructor': 'mozilla::net::ThrottleQueue::Create',
587         'headers': ['/netwerk/base/ThrottleQueue.h'],
588     },
589     {
590         'cid': '{1813cbb4-c98e-4622-8c7d-839167f3f272}',
591         'contract_ids': ['@mozilla.org/network/tls-server-socket;1'],
592         'type': 'mozilla::net::TLSServerSocket',
593         'headers': ['/netwerk/base/TLSServerSocket.h'],
594     },
595     {
596         'cid': '{c9f74572-7b8e-4fec-bb4a-03c0d3021bd6}',
597         'contract_ids': ['@mozilla.org/network/udp-socket;1'],
598         'type': 'mozilla::net::nsUDPSocket',
599         'headers': ['/netwerk/base/nsUDPSocket.h'],
600         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
601     },
602     {
603         'cid': '{ff41913b-546a-4bff-9201-dc9b2c032eba}',
604         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=maybe'],
605         'type': 'nsStdURLParser',
606         'headers': ['nsURLParsers.h'],
607         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
608     },
609     {
610         'cid': '{78804a84-8173-42b6-bb94-789f0816a810}',
611         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=no'],
612         'type': 'nsNoAuthURLParser',
613         'headers': ['nsURLParsers.h'],
614         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
615     },
616     {
617         'cid': '{275d800e-3f60-4896-adb7-d7f390ce0e42}',
618         'contract_ids': ['@mozilla.org/network/url-parser;1?auth=yes'],
619         'type': 'nsAuthURLParser',
620         'headers': ['nsURLParsers.h'],
621         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
622     },
623     {
624         'cid': '{892ffeb0-3f80-11d3-a16c-0050041caf44}',
625         'contract_ids': ['@mozilla.org/streamConverters;1'],
626         'legacy_constructor': 'CreateNewStreamConvServiceFactory',
627         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
628     },
629     {
630         'cid': '{cf0f71fd-fafd-4e2b-9fdc-134d972e16e2}',
631         'contract_ids': ['@mozilla.org/streamconv;1?from=application/http-index-format&to=text/html'],
632         'legacy_constructor': 'nsIndexedToHTML::Create',
633         'headers': ['/netwerk/streamconv/converters/nsIndexedToHTML.h'],
634     },
635     {
636         'cid': '{7d7008a0-c49a-11d3-9b22-0080c7cb1080}',
637         'contract_ids': ['@mozilla.org/streamconv;1?from=application/x-unknown-content-type&to=*/*'],
638         'legacy_constructor': 'CreateNewUnknownDecoderFactory',
639     },
640     {
641         'cid': '{66230b2b-17fa-4bd3-abf4-07986151022d}',
642         'contract_ids': [
643             '@mozilla.org/streamconv;1?from=br&to=uncompressed',
644             '@mozilla.org/streamconv;1?from=compress&to=uncompressed',
645             '@mozilla.org/streamconv;1?from=deflate&to=uncompressed',
646             '@mozilla.org/streamconv;1?from=gzip&to=uncompressed',
647             '@mozilla.org/streamconv;1?from=x-compress&to=uncompressed',
648             '@mozilla.org/streamconv;1?from=x-gzip&to=uncompressed',
649         ],
650         'legacy_constructor': 'CreateNewHTTPCompressConvFactory',
651         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
652     },
653     {
654         'cid': '{7584ce90-5b25-11d3-a175-0050041caf44}',
655         'contract_ids': [
656             '@mozilla.org/streamconv;1?from=multipart/byteranges&to=*/*',
657             '@mozilla.org/streamconv;1?from=multipart/mixed&to=*/*',
658             '@mozilla.org/streamconv;1?from=multipart/x-mixed-replace&to=*/*',
659         ],
660         'legacy_constructor': 'CreateNewMultiMixedConvFactory',
661     },
662     {
663         'cid': '{77c0e42a-1dd2-11b2-8ebf-edc6606f2f4b}',
664         'contract_ids': ['@mozilla.org/txttohtmlconv;1'],
665         'legacy_constructor': 'CreateNewTXTToHTMLConvFactory',
666     },
667     {
668         'cid': '{2f277c00-0eaf-4ddb-b936-41326ba48aae}',
669         'contract_ids': [],
670         'type': 'mozilla::net::nsNestedAboutURI::Mutator',
671         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
672     },
673     {
674         'cid': '{56388dad-287b-4240-a785-85c394012503}',
675         'contract_ids': [],
676         'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
677         'headers': ['nsSimpleNestedURI.h'],
678     },
679     {
680         'cid': '{9c4e9d49-ce64-4ca3-acef-3075c5e5aba7}',
681         'contract_ids': [],
682         'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
683         'headers': ['nsSimpleNestedURI.h'],
684     },
685     {
686         'cid': '{b0054ef3-b096-483d-8242-4ee36b7b2115}',
687         'contract_ids': [],
688         'type': 'mozilla::net::nsNestedAboutURI::Mutator',
689         'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
690     },
691     {
692         'cid': '{b3cfeb91-332a-46c9-ad97-93ff39841494}',
693         'contract_ids': [],
694         'type': 'mozilla::net::SubstitutingURL::Mutator',
695         'headers': ['mozilla/net/SubstitutingURL.h'],
696     },
697     {
698         'cid': '{de9472d0-8034-11d3-9399-00104ba0fd40}',
699         'contract_ids': [],
700         'type': 'mozilla::net::nsStandardURL::Mutator',
701         'headers': ['/netwerk/base/nsStandardURL.h'],
702         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
703     },
704     {
705         'cid': '{dea9657c-18cf-4984-bde9-ccef5d8ab473}',
706         'contract_ids': [],
707         'type': 'mozilla::net::SubstitutingURL::Mutator',
708         'headers': ['mozilla/net/SubstitutingURL.h'],
709     },
710     {
711         'cid': '{50d50ddf-f16a-4652-8705-936b19c3763b}',
712         'contract_ids': [],
713         'type': 'mozilla::net::SubstitutingJARURI',
714         'headers': ['mozilla/net/SubstitutingJARURI.h'],
715         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
716     },
717     {
718         'cid': '{e0da1d70-2f7b-11d3-8cd0-0060b0fc14a3}',
719         'contract_ids': [],
720         'type': 'mozilla::net::nsSimpleURI::Mutator',
721         'headers': ['nsSimpleURI.h'],
722         'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
723     },
724     {
725         'js_name': 'cookies',
726         'cid': '{c375fa80-150f-11d6-a618-0010a401eb10}',
727         'contract_ids': [
728             '@mozilla.org/cookieService;1',
729             '@mozilla.org/cookiemanager;1',
730         ],
731         'interfaces': ['nsICookieService', 'nsICookieManager'],
732         'singleton': True,
733         'type': 'nsICookieService',
734         'constructor': 'mozilla::net::CookieService::GetXPCOMSingleton',
735         'headers': ['/netwerk/cookie/CookieService.h'],
736     },
737     {
738         'cid': '{e1676f84-e6e5-45d0-a4bf-d9905efc5b2e}',
739         'contract_ids': ['@mozilla.org/http-sfv-service;1'],
740         'singleton': True,
741         'constructor': 'mozilla::net::GetSFVService',
742         'headers': ['mozilla/net/SFVService.h'],
743     },
744     {
745         'cid': '{4ce234f1-52e8-47a9-8c8d-b02f815733c7}',
746         'contract_ids': ['@mozilla.org/cookieJarSettings;1'],
747         'type': 'nsICookieJarSettings',
748         'constructor': 'mozilla::net::CookieJarSettings::CreateForXPCOM',
749         'headers': ['mozilla/net/CookieJarSettings.h'],
750     },
753 if defined('NECKO_WIFI'):
754     Classes += [
755         {
756             'cid': '{3ff8fb9f-ee63-48df-89f0-dace0242fd82}',
757             'contract_ids': ['@mozilla.org/wifi/monitor;1'],
758             'singleton': True,
759             'type': 'nsWifiMonitor',
760             'headers': ['/netwerk/wifi/nsWifiMonitor.h'],
761         },
762     ]
764 toolkit = buildconfig.substs['MOZ_WIDGET_TOOLKIT']
765 link_service = None
766 if toolkit == 'windows':
767     link_service = {
768         'type': 'nsNotifyAddrListener',
769         'headers': ['/netwerk/system/win32/nsNotifyAddrListener.h'],
770         'init_method': 'Init',
771     }
772 elif toolkit == 'cocoa':
773     link_service = {
774         'type': 'nsNetworkLinkService',
775         'headers': ['/netwerk/system/mac/nsNetworkLinkService.h'],
776         'init_method': 'Init',
777     }
778 elif toolkit == 'android':
779     link_service = {
780         'type': 'nsAndroidNetworkLinkService',
781         'headers': ['/netwerk/system/android/nsAndroidNetworkLinkService.h'],
782         'init_method': 'Init',
783     }
784 elif buildconfig.substs['OS_ARCH'] == 'Linux':
785     link_service = {
786         'type': 'nsNetworkLinkService',
787         'headers': ['/netwerk/system/linux/nsNetworkLinkService.h'],
788         'init_method': 'Init',
789     }
791 if link_service:
792     Classes += [
793         dict({
794             'cid': '{75a500a2-0030-40f7-86f8-63f225b940ae}',
795             'contract_ids': ['@mozilla.org/network/network-link-service;1'],
796             'singleton': True,
797         }, **link_service)
798     ]
800 if toolkit != 'android':
801     Classes += [
802         {
803         'cid': '{72da39cc-0b9b-4fff-8ff9-d3b9a41d0dc4}',
804         'contract_ids': ['@mozilla.org/net/CachePurgeLock;1'],
805         'type': 'mozilla::net::CachePurgeLock',
806         'headers': ['mozilla/net/CachePurgeLock.h'],
807         },
808     ]