tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

components.conf (35746B)


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