2018-12-17 05:36:32 +03:00
|
|
|
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
|
|
# vim: set filetype=python:
|
|
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
|
|
|
|
Headers = [
|
|
|
|
'/netwerk/build/nsNetModule.h'
|
|
|
|
]
|
|
|
|
|
|
|
|
InitFunc = 'nsNetStartup'
|
|
|
|
UnloadFunc = 'nsNetShutdown'
|
|
|
|
|
2022-06-30 12:12:17 +03:00
|
|
|
Categories = {
|
|
|
|
'@mozilla.org/streamconv;1': {
|
|
|
|
'?from=application/http-index-format&to=text/html': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=multipart/x-mixed-replace&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=multipart/mixed&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=multipart/byteranges&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=application/x-unknown-content-type&to=*/*': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=gzip&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=x-gzip&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=br&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=compress&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=x-compress&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
'?from=deflate&to=uncompressed': ('', ProcessSelector.ALLOW_IN_SOCKET_PROCESS),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2018-12-17 05:36:32 +03:00
|
|
|
Classes = [
|
|
|
|
{
|
|
|
|
'cid': '{3014dde6-aa1c-41db-87d0-48764a3710f6}',
|
|
|
|
'contract_ids': ['@mozilla.org/io/arraybuffer-input-stream;1'],
|
|
|
|
'type': 'ArrayBufferInputStream',
|
|
|
|
'headers': ['/netwerk/base/ArrayBufferInputStream.h'],
|
|
|
|
},
|
|
|
|
{
|
2020-07-10 00:42:25 +03:00
|
|
|
'js_name': 'loadContextInfo',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{62d4b190-3642-4450-b019-d1c1fba56025}',
|
|
|
|
'contract_ids': ['@mozilla.org/load-context-info-factory;1'],
|
2020-07-10 00:42:25 +03:00
|
|
|
'interfaces': ['nsILoadContextInfoFactory'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'type': 'mozilla::net::LoadContextInfoFactory',
|
|
|
|
'headers': ['mozilla/LoadContextInfo.h'],
|
|
|
|
},
|
|
|
|
{
|
2021-02-18 16:26:28 +03:00
|
|
|
'name': 'CacheStorage',
|
2020-07-10 00:42:25 +03:00
|
|
|
'js_name': 'cache2',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{ea70b098-5014-4e21-aee1-75e6b2c4b8e0}',
|
|
|
|
'contract_ids': [
|
|
|
|
'@mozilla.org/netwerk/cache-storage-service;1',
|
|
|
|
'@mozilla.org/network/cache-storage-service;1',
|
|
|
|
],
|
2020-07-10 00:42:25 +03:00
|
|
|
'interfaces': ['nsICacheStorageService'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::CacheStorageService',
|
|
|
|
'headers': ['CacheStorageService.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{e746a8b1-c97a-4fc5-baa4-66607521bd08}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/async-stream-copier;1'],
|
|
|
|
'type': 'nsAsyncStreamCopier',
|
|
|
|
'headers': ['/netwerk/base/nsAsyncStreamCopier.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{6eae857e-4ba9-11e3-9b39-b4036188709b}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/atomic-file-output-stream;1'],
|
|
|
|
'type': 'nsAtomicFileOutputStream',
|
|
|
|
'headers': ['nsFileStreams.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{62147d1e-ef6a-40e8-aaf8-d039f5caaa81}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/background-file-saver;1?mode=outputstream'],
|
|
|
|
'type': 'mozilla::net::BackgroundFileSaverOutputStream',
|
|
|
|
'headers': ['/netwerk/base/BackgroundFileSaver.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{208de7fc-a781-4031-bbae-cc0de539f61a}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/background-file-saver;1?mode=streamlistener'],
|
|
|
|
'type': 'mozilla::net::BackgroundFileSaverStreamListener',
|
|
|
|
'headers': ['/netwerk/base/BackgroundFileSaver.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{a2027ec6-ba0d-4c72-805d-148233f5f33c}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/binary-detector;1'],
|
|
|
|
'legacy_constructor': 'CreateNewBinaryDetectorFactory',
|
2022-06-30 12:12:17 +03:00
|
|
|
'categories': {'net-content-sniffers': 'Binary Detector'}
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9226888e-da08-11d3-8cda-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/buffered-input-stream;1'],
|
|
|
|
'legacy_constructor': 'nsBufferedInputStream::Create',
|
|
|
|
'headers': ['/netwerk/base/nsBufferedStreams.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9868b4ce-da08-11d3-8cda-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/buffered-output-stream;1'],
|
|
|
|
'legacy_constructor': 'nsBufferedOutputStream::Create',
|
|
|
|
'headers': ['/netwerk/base/nsBufferedStreams.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{bdbe0555-fc3d-4f7b-9205-c309ceb2d641}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/captive-portal-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsICaptivePortalService',
|
|
|
|
'constructor': 'mozilla::net::CaptivePortalService::GetSingleton',
|
|
|
|
'headers': ['mozilla/net/CaptivePortalService.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{c79eb3c6-091a-45a6-8544-5a8d1ab79537}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/dashboard;1'],
|
|
|
|
'type': 'mozilla::net::Dashboard',
|
|
|
|
'headers': ['mozilla/net/Dashboard.h'],
|
|
|
|
},
|
|
|
|
{
|
2022-12-23 12:26:17 +03:00
|
|
|
'name': 'DNS',
|
|
|
|
'js_name': 'dns',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{b0ff4572-dae4-4bef-a092-83c1b88f6be9}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/dns-service;1'],
|
2022-12-23 12:26:17 +03:00
|
|
|
'interfaces': ['nsIDNSService'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsIDNSService',
|
|
|
|
'constructor': 'nsDNSService::GetXPCOMSingleton',
|
|
|
|
'headers': ['/netwerk/dns/nsDNSService2.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2020-03-02 22:44:37 +03:00
|
|
|
{
|
|
|
|
'cid': '{4ffae79e-57bd-4d7a-a0c9-0045a17b3615}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/native-dns-override;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsINativeDNSResolverOverride',
|
|
|
|
'constructor': 'mozilla::net::NativeDNSResolverOverride::GetSingleton',
|
|
|
|
'headers': ['/netwerk/dns/GetAddrInfo.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
{
|
|
|
|
'cid': '{510a86bb-6019-4ed1-bb4f-965cffd23ece}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/downloader;1'],
|
|
|
|
'type': 'nsDownloader',
|
|
|
|
'headers': ['/netwerk/base/nsDownloader.h'],
|
|
|
|
},
|
|
|
|
{
|
2020-07-10 00:42:25 +03:00
|
|
|
'js_name': 'eTLD',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{cb9abbae-66b6-4609-8594-5c4ff300888e}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/effective-tld-service;1'],
|
2020-07-10 00:42:25 +03:00
|
|
|
'interfaces': ['nsIEffectiveTLDService'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsEffectiveTLDService',
|
|
|
|
'headers': ['/netwerk/dns/nsEffectiveTLDService.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{be9a53ae-c7e9-11d3-8cda-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/file-input-stream;1'],
|
|
|
|
'legacy_constructor': 'nsFileInputStream::Create',
|
|
|
|
'headers': ['nsFileStreams.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{c272fee0-c7e9-11d3-8cda-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/file-output-stream;1'],
|
|
|
|
'legacy_constructor': 'nsFileOutputStream::Create',
|
|
|
|
'headers': ['nsFileStreams.h'],
|
2021-09-05 00:54:53 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{648705e9-757a-4d4b-a5bF-0248e512c309}',
|
2022-10-12 04:56:16 +03:00
|
|
|
'contract_ids': ['@mozilla.org/network/file-random-access-stream;1'],
|
|
|
|
'legacy_constructor': 'nsFileRandomAccessStream::Create',
|
2021-09-05 00:54:53 +03:00
|
|
|
'headers': ['nsFileStreams.h'],
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
2021-02-18 16:26:28 +03:00
|
|
|
'name': 'HttpActivityDistributor',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{15629ada-a41c-4a09-961f-6553cd60b1a2}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/http-activity-distributor;1'],
|
|
|
|
'type': 'mozilla::net::nsHttpActivityDistributor',
|
|
|
|
'headers': ['/netwerk/protocol/http/nsHttpActivityDistributor.h'],
|
2019-12-03 16:45:19 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{36b63ef3-e0fa-4c49-9fd4-e065e85568f4}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/http-auth-manager;1'],
|
|
|
|
'type': 'mozilla::net::nsHttpAuthManager',
|
|
|
|
'headers': ['/netwerk/protocol/http/nsHttpAuthManager.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{62b778a6-bce3-456b-8c31-2865fbb68c91}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/idn-service;1'],
|
|
|
|
'type': 'nsIDNService',
|
|
|
|
'headers': ['/netwerk/dns/nsIDNService.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{a62af1ba-79b3-4896-8aaf-b148bfce4280}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/incremental-download;1'],
|
|
|
|
'legacy_constructor': 'net_NewIncrementalDownload',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{5d6352a3-b9c3-4fa3-87aa-b2a3c6e5a501}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/incremental-stream-loader;1'],
|
|
|
|
'legacy_constructor': 'nsIncrementalStreamLoader::Create',
|
|
|
|
'headers': ['/netwerk/base/nsIncrementalStreamLoader.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{6ddb050c-0d04-11d4-986e-00c04fa0cf4a}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/input-stream-channel;1'],
|
|
|
|
'type': 'mozilla::net::nsInputStreamChannel',
|
|
|
|
'headers': ['/netwerk/base/nsInputStreamChannel.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{ccd0e960-7947-4635-b70e-4c661b63d675}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/input-stream-pump;1'],
|
|
|
|
'type': 'nsInputStreamPump',
|
|
|
|
'headers': ['nsInputStreamPump.h'],
|
|
|
|
},
|
|
|
|
{
|
2021-02-18 16:26:28 +03:00
|
|
|
'name': 'IO',
|
2020-07-09 23:42:50 +03:00
|
|
|
'js_name': 'io',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{9ac9e770-18bc-11d3-9337-00104ba0fd40}',
|
|
|
|
'contract_ids': [
|
|
|
|
'@mozilla.org/network/io-service;1',
|
|
|
|
'@mozilla.org/network/util;1',
|
|
|
|
],
|
2020-07-10 00:42:25 +03:00
|
|
|
'interfaces': ['nsIIOService', 'nsISpeculativeConnect', 'nsINetUtil'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsIOService',
|
|
|
|
'headers': ['/netwerk/base/nsIOService.h'],
|
|
|
|
'constructor': 'mozilla::net::nsIOService::GetInstance',
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{e1c61582-2a84-11d3-8cce-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/load-group;1'],
|
|
|
|
'legacy_constructor': 'nsLoadGroupConstructor',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{1f4dbcf7-245c-4c8c-943d-8a1da0495e8a}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/mime-hdrparam;1'],
|
|
|
|
'type': 'nsMIMEHeaderParamImpl',
|
|
|
|
'headers': ['/netwerk/mime/nsMIMEHeaderParamImpl.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{58a1c31c-1dd2-11b2-a3f6-d36949d48268}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/mime-input-stream;1'],
|
|
|
|
'legacy_constructor': 'nsMIMEInputStreamConstructor',
|
|
|
|
'headers': ['nsMIMEInputStream.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{2693457e-3ba5-4455-991f-5350946adb12}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/network-connectivity-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsINetworkConnectivityService',
|
|
|
|
'constructor': 'mozilla::net::NetworkConnectivityService::GetSingleton',
|
|
|
|
'headers': ['mozilla/net/NetworkConnectivityService.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{969adfdf-7221-4419-aecf-05f8faf00c9b}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/predictor;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'legacy_constructor': 'mozilla::net::Predictor::Create',
|
|
|
|
'headers': ['mozilla/net/Predictor.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{e9b301c0-e0e4-11d3-a1a8-0050041caf44}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol-proxy-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsProtocolProxyService',
|
|
|
|
'headers': ['/netwerk/base/nsProtocolProxyService.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{3decd6c8-30ef-11d3-8cd0-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=blank'],
|
|
|
|
'legacy_constructor': 'nsAboutBlank::Create',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutBlank.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9158c470-86e4-11d4-9be2-00e09872a416}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=cache'],
|
|
|
|
'legacy_constructor': 'nsAboutCache::Create',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutCache.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{7fa5237d-b0eb-438f-9e50-ca0166e63788}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol/about;1?what=cache-entry'],
|
|
|
|
'type': 'nsAboutCacheEntry',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutCacheEntry.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9e3b6c90-2f75-11d3-8cd0-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=about'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsAboutProtocolHandler',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'about',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NOAUTH',
|
|
|
|
'URI_DANGEROUS_TO_LOAD',
|
|
|
|
'URI_SCHEME_NOT_SELF_LINKABLE',
|
|
|
|
],
|
|
|
|
'has_dynamic_flags': True,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{b6ed3030-6183-11d3-a178-0050041caf44}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=data'],
|
|
|
|
'singleton': True,
|
|
|
|
'legacy_constructor': 'nsDataHandler::Create',
|
|
|
|
'headers': ['/netwerk/protocol/data/nsDataHandler.h'],
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'data',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NOAUTH',
|
|
|
|
'URI_INHERITS_SECURITY_CONTEXT',
|
|
|
|
'URI_LOADABLE_BY_ANYONE',
|
|
|
|
'URI_NON_PERSISTABLE',
|
|
|
|
'URI_IS_LOCAL_RESOURCE',
|
|
|
|
'URI_SYNC_LOAD_IS_OK',
|
|
|
|
],
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{fbc81170-1f69-11d3-9344-00104ba0fd40}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=file'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsFileProtocolHandler',
|
|
|
|
'headers': ['mozilla/net/nsFileProtocolHandler.h'],
|
|
|
|
'init_method': 'Init',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'file',
|
|
|
|
'flags': [
|
|
|
|
'URI_NOAUTH',
|
|
|
|
'URI_IS_LOCAL_FILE',
|
|
|
|
'URI_IS_LOCAL_RESOURCE',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
|
|
|
],
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{4f47e42e-4d23-4dd3-bfda-eb29255e9ea3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=http'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsHttpHandler',
|
2019-12-03 16:45:19 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'http',
|
|
|
|
'flags': [
|
|
|
|
'URI_STD',
|
|
|
|
'ALLOWS_PROXY',
|
|
|
|
'ALLOWS_PROXY_HTTP',
|
|
|
|
'URI_LOADABLE_BY_ANYONE',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
'default_port': 80,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{dccbe7e4-7750-466b-a557-5ea36c8ff24e}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=https'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsHttpsHandler',
|
2019-12-03 16:45:19 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'https',
|
|
|
|
'flags': [
|
|
|
|
'URI_STD',
|
|
|
|
'ALLOWS_PROXY',
|
|
|
|
'ALLOWS_PROXY_HTTP',
|
|
|
|
'URI_LOADABLE_BY_ANYONE',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
'default_port': 443,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{aea16cd0-f020-4138-b068-0716c4a15b5a}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-extension'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::ExtensionProtocolHandler',
|
|
|
|
'headers': ['mozilla/net/ExtensionProtocolHandler.h'],
|
|
|
|
'constructor': 'mozilla::net::ExtensionProtocolHandler::GetSingleton',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'moz-extension',
|
|
|
|
'flags': [
|
|
|
|
'URI_STD',
|
|
|
|
'URI_IS_LOCAL_RESOURCE',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
'has_dynamic_flags': True,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
2020-04-06 20:46:52 +03:00
|
|
|
{
|
|
|
|
'cid': '{450a2b55-620a-44b3-9f67-839b3b0c329c}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-page-thumb'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::PageThumbProtocolHandler',
|
|
|
|
'headers': ['mozilla/net/PageThumbProtocolHandler.h'],
|
|
|
|
'constructor': 'mozilla::net::PageThumbProtocolHandler::GetSingleton',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'moz-page-thumb',
|
|
|
|
'flags': [
|
|
|
|
'URI_STD',
|
|
|
|
'URI_IS_UI_RESOURCE',
|
|
|
|
'URI_IS_LOCAL_RESOURCE',
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NOAUTH',
|
|
|
|
],
|
|
|
|
},
|
2020-04-06 20:46:52 +03:00
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
{
|
|
|
|
'cid': '{1423e739-782c-4081-b5d8-fe6fba68c0ef}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=moz-safe-about'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsSafeAboutProtocolHandler',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'moz-safe-about',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NOAUTH',
|
|
|
|
'URI_LOADABLE_BY_ANYONE',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
|
|
|
],
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{e64f152a-9f07-11d3-8cda-0060b0fc14a3}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=resource'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsResProtocolHandler',
|
|
|
|
'headers': ['/netwerk/protocol/res/nsResProtocolHandler.h'],
|
2019-05-28 16:46:17 +03:00
|
|
|
'constructor': 'nsResProtocolHandler::GetSingleton',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'resource',
|
|
|
|
'flags': [
|
|
|
|
'URI_STD',
|
|
|
|
'URI_IS_UI_RESOURCE',
|
|
|
|
'URI_IS_LOCAL_RESOURCE',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9c7ec5d1-23f9-11d5-aea8-8fcc0793e97f}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=view-source'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsViewSourceHandler',
|
|
|
|
'headers': ['/netwerk/protocol/viewsource/nsViewSourceHandler.h'],
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'view-source',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NOAUTH',
|
|
|
|
'URI_DANGEROUS_TO_LOAD',
|
|
|
|
'URI_NON_PERSISTABLE',
|
|
|
|
],
|
|
|
|
'has_dynamic_flags': True,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{dc01db59-a513-4c90-824b-085cce06c0aa}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=ws'],
|
|
|
|
'singleton': True,
|
|
|
|
'legacy_constructor': 'mozilla::net::WebSocketChannelConstructor',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'ws',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NON_PERSISTABLE',
|
|
|
|
'ALLOWS_PROXY',
|
|
|
|
'ALLOWS_PROXY_HTTP',
|
|
|
|
'URI_DOES_NOT_RETURN_DATA',
|
|
|
|
'URI_DANGEROUS_TO_LOAD',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
'default_port': 80,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{dc01dbbb-a5bb-4cbb-82bb-085cce06c0bb}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/protocol;1?name=wss'],
|
|
|
|
'singleton': True,
|
|
|
|
'legacy_constructor': 'mozilla::net::WebSocketSSLChannelConstructor',
|
2022-12-01 18:43:19 +03:00
|
|
|
'protocol_config': {
|
|
|
|
'scheme': 'wss',
|
|
|
|
'flags': [
|
|
|
|
'URI_NORELATIVE',
|
|
|
|
'URI_NON_PERSISTABLE',
|
|
|
|
'ALLOWS_PROXY',
|
|
|
|
'ALLOWS_PROXY_HTTP',
|
|
|
|
'URI_DOES_NOT_RETURN_DATA',
|
|
|
|
'URI_DANGEROUS_TO_LOAD',
|
|
|
|
'URI_IS_POTENTIALLY_TRUSTWORTHY',
|
2023-09-27 13:29:17 +03:00
|
|
|
'URI_HAS_WEB_EXPOSED_ORIGIN',
|
2022-12-01 18:43:19 +03:00
|
|
|
],
|
|
|
|
'default_port': 443,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{a181af0d-68b8-4308-94db-d4f859058215}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/safe-file-output-stream;1'],
|
2019-06-21 01:40:35 +03:00
|
|
|
'type': 'nsSafeFileOutputStream',
|
2018-12-17 05:36:32 +03:00
|
|
|
'headers': ['nsFileStreams.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{d6ef593d-a429-4b14-a887-d9e2f765d9ed}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/serialization-helper;1'],
|
|
|
|
'type': 'nsSerializationHelper',
|
|
|
|
'headers': ['nsSerializationHelper.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{2ec62893-3b35-48fa-ab1d-5e68a9f45f08}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/server-socket;1'],
|
|
|
|
'type': 'mozilla::net::nsServerSocket',
|
|
|
|
'headers': ['/netwerk/base/nsServerSocket.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{fb8cbf4e-4701-4ba1-b1d6-5388e041fb67}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/simple-stream-listener;1'],
|
|
|
|
'type': 'mozilla::net::nsSimpleStreamListener',
|
|
|
|
'headers': ['/netwerk/base/nsSimpleStreamListener.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{2be14592-28d4-4a83-8fe9-08e778849f6e}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/simple-uri-mutator;1'],
|
|
|
|
'type': 'mozilla::net::nsSimpleURI::Mutator',
|
|
|
|
'headers': ['nsSimpleURI.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2019-12-11 23:17:53 +03:00
|
|
|
{
|
|
|
|
'cid': '{04445aa0-fd27-4c99-bd41-6be6318ae92c}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/default-uri-mutator;1'],
|
|
|
|
'type': 'mozilla::net::DefaultURI::Mutator',
|
|
|
|
'headers': ['/netwerk/base/DefaultURI.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
{
|
2021-02-18 16:26:28 +03:00
|
|
|
'name': 'SocketTransport',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{ad56b25f-e6bb-4db3-9f7b-5b7db33fd2b1}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/socket-transport-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'mozilla::net::nsSocketTransportService',
|
|
|
|
'headers': ['/netwerk/base/nsSocketTransportService2.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{ce7d7da0-fb28-44a3-8c7b-000c165918f4}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/standard-url-mutator;1'],
|
|
|
|
'type': 'mozilla::net::nsStandardURL::Mutator',
|
|
|
|
'headers': ['/netwerk/base/nsStandardURL.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{831f8f13-7aa8-485f-b02e-77c881cc5773}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/stream-listener-tee;1'],
|
|
|
|
'type': 'mozilla::net::nsStreamListenerTee',
|
|
|
|
'headers': ['/netwerk/base/nsStreamListenerTee.h'],
|
|
|
|
},
|
|
|
|
{
|
2019-02-28 02:42:27 +03:00
|
|
|
'cid': '{9879908a-2972-40c0-890b-a91dd7dfb954}',
|
2018-12-17 05:36:32 +03:00
|
|
|
'contract_ids': ['@mozilla.org/network/stream-loader;1'],
|
|
|
|
'legacy_constructor': 'mozilla::net::nsStreamLoader::Create',
|
|
|
|
'headers': ['/netwerk/base/nsStreamLoader.h'],
|
2021-03-19 11:29:14 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
2021-02-18 16:26:28 +03:00
|
|
|
'name': 'StreamTransport',
|
2018-12-17 05:36:32 +03:00
|
|
|
'cid': '{0885d4f8-f7b8-4cda-902e-94ba38bc256e}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/stream-transport-service;1'],
|
|
|
|
'type': 'mozilla::net::nsStreamTransportService',
|
|
|
|
'headers': ['/netwerk/base/nsStreamTransportService.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{4c39159c-cd90-4dd3-97a7-06af5e6d84c4}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/throttlequeue;1'],
|
2020-01-30 16:32:55 +03:00
|
|
|
'type': 'nsIInputChannelThrottleQueue',
|
|
|
|
'constructor': 'mozilla::net::ThrottleQueue::Create',
|
2018-12-17 05:36:32 +03:00
|
|
|
'headers': ['/netwerk/base/ThrottleQueue.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{1813cbb4-c98e-4622-8c7d-839167f3f272}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/tls-server-socket;1'],
|
|
|
|
'type': 'mozilla::net::TLSServerSocket',
|
|
|
|
'headers': ['/netwerk/base/TLSServerSocket.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{c9f74572-7b8e-4fec-bb4a-03c0d3021bd6}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/udp-socket;1'],
|
|
|
|
'type': 'mozilla::net::nsUDPSocket',
|
|
|
|
'headers': ['/netwerk/base/nsUDPSocket.h'],
|
2021-02-26 11:42:50 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{ff41913b-546a-4bff-9201-dc9b2c032eba}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/url-parser;1?auth=maybe'],
|
|
|
|
'type': 'nsStdURLParser',
|
|
|
|
'headers': ['nsURLParsers.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{78804a84-8173-42b6-bb94-789f0816a810}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/url-parser;1?auth=no'],
|
|
|
|
'type': 'nsNoAuthURLParser',
|
|
|
|
'headers': ['nsURLParsers.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{275d800e-3f60-4896-adb7-d7f390ce0e42}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/url-parser;1?auth=yes'],
|
|
|
|
'type': 'nsAuthURLParser',
|
|
|
|
'headers': ['nsURLParsers.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{892ffeb0-3f80-11d3-a16c-0050041caf44}',
|
|
|
|
'contract_ids': ['@mozilla.org/streamConverters;1'],
|
|
|
|
'legacy_constructor': 'CreateNewStreamConvServiceFactory',
|
2020-05-18 23:18:08 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{cf0f71fd-fafd-4e2b-9fdc-134d972e16e2}',
|
|
|
|
'contract_ids': ['@mozilla.org/streamconv;1?from=application/http-index-format&to=text/html'],
|
|
|
|
'legacy_constructor': 'nsIndexedToHTML::Create',
|
|
|
|
'headers': ['/netwerk/streamconv/converters/nsIndexedToHTML.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{7d7008a0-c49a-11d3-9b22-0080c7cb1080}',
|
|
|
|
'contract_ids': ['@mozilla.org/streamconv;1?from=application/x-unknown-content-type&to=*/*'],
|
|
|
|
'legacy_constructor': 'CreateNewUnknownDecoderFactory',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{66230b2b-17fa-4bd3-abf4-07986151022d}',
|
|
|
|
'contract_ids': [
|
|
|
|
'@mozilla.org/streamconv;1?from=br&to=uncompressed',
|
|
|
|
'@mozilla.org/streamconv;1?from=compress&to=uncompressed',
|
|
|
|
'@mozilla.org/streamconv;1?from=deflate&to=uncompressed',
|
|
|
|
'@mozilla.org/streamconv;1?from=gzip&to=uncompressed',
|
|
|
|
'@mozilla.org/streamconv;1?from=x-compress&to=uncompressed',
|
|
|
|
'@mozilla.org/streamconv;1?from=x-gzip&to=uncompressed',
|
|
|
|
],
|
|
|
|
'legacy_constructor': 'CreateNewHTTPCompressConvFactory',
|
2020-05-18 23:18:08 +03:00
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
2018-12-17 05:36:32 +03:00
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{7584ce90-5b25-11d3-a175-0050041caf44}',
|
|
|
|
'contract_ids': [
|
|
|
|
'@mozilla.org/streamconv;1?from=multipart/byteranges&to=*/*',
|
|
|
|
'@mozilla.org/streamconv;1?from=multipart/mixed&to=*/*',
|
|
|
|
'@mozilla.org/streamconv;1?from=multipart/x-mixed-replace&to=*/*',
|
|
|
|
],
|
|
|
|
'legacy_constructor': 'CreateNewMultiMixedConvFactory',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{77c0e42a-1dd2-11b2-8ebf-edc6606f2f4b}',
|
|
|
|
'contract_ids': ['@mozilla.org/txttohtmlconv;1'],
|
|
|
|
'legacy_constructor': 'CreateNewTXTToHTMLConvFactory',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{2f277c00-0eaf-4ddb-b936-41326ba48aae}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsNestedAboutURI::Mutator',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{56388dad-287b-4240-a785-85c394012503}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
|
|
|
|
'headers': ['nsSimpleNestedURI.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{9c4e9d49-ce64-4ca3-acef-3075c5e5aba7}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsSimpleNestedURI::Mutator',
|
|
|
|
'headers': ['nsSimpleNestedURI.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{b0054ef3-b096-483d-8242-4ee36b7b2115}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsNestedAboutURI::Mutator',
|
|
|
|
'headers': ['/netwerk/protocol/about/nsAboutProtocolHandler.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{b3cfeb91-332a-46c9-ad97-93ff39841494}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::SubstitutingURL::Mutator',
|
|
|
|
'headers': ['mozilla/net/SubstitutingURL.h'],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{de9472d0-8034-11d3-9399-00104ba0fd40}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsStandardURL::Mutator',
|
|
|
|
'headers': ['/netwerk/base/nsStandardURL.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'cid': '{dea9657c-18cf-4984-bde9-ccef5d8ab473}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::SubstitutingURL::Mutator',
|
|
|
|
'headers': ['mozilla/net/SubstitutingURL.h'],
|
|
|
|
},
|
Bug 1522137 - Make resource://android return a nsIJARURI. r=snorp,mayhemer,bzbarsky
resource://android URIs always point to a "jar:" URI so it doesn't make sense
that the returned URL object implements nsIFileURL.
This also makes it so extensions can be loaded from a resource://android URI.
Audited all places where we use `nsIJARURI` and check for places where we
assume it looks like `jar:`: the only (!) place where we do that is here:
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/xhr/XMLHttpRequestMainThread.cpp#1852
Where we have special handling for `jar:` URIs. It looks like we would have
less special handling for such a request to a `resource://android` and it could
be fixed by just checking for the interface instead, but that's what's already
happening today so it should work. That code is never reached for
`resource://android` URIs as `mIsMappedArrayBuffer` is false for those URIs
(see #2822). And the code is consistent in checking for the scheme instead of
the interface (the other check is here:
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/xhr/XMLHttpRequestMainThread.cpp#2822)
Audited all places where we do `EqualsLiteral("jar")`:
https://searchfox.org/mozilla-central/search?q=.EqualsLiteral%28%22jar%22%29&path=
`SubstituteRemoteChannel`: looks interesting, but uses
`nsISubstitutingProtocolHandler::ResolveURI` to first get the real URI (which
is a `jar:`) so it works for our case.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/ExtensionProtocolHandler.cpp#414
`SubstitutingProtocolHandler.cpp`
This case is explicitly fixed by this change, making it account for both
`"jar"` and `"resource"`.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/SubstitutingProtocolHandler.cpp#299
`ReadSourceFromFileName`: this also looks interesting, but uses the channel to
get the URI which returns the real `"jar"` URI and not the mapped `"resource"`.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/js/xpconnect/src/XPCJSRuntime.cpp#2837
`nsStringBundle.cpp`
Accounts for both `"jar"` and `"resource"`, so it should work the same.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/intl/strres/nsStringBundle.cpp#437
Audited all places where we use `nsINestedURI` to make sure they would work for
a `nsIJARURI` which does not implement `nsINestedURI`.
`BrowserContentHandler.jsm`
Uses `nsINestedURI` to figure out if a URI is local or not and then it checks
whether it's a `"file"`, `"resource"` or `"chrome"` URI, for a `nsIJARURI &
nsINestedURI` it would return a `"file"` which passes the test, for a
`nsIJARURI` alone it would return `"resource"` which is also considered local
by this code, so the result wouldn't change.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/components/BrowserContentHandler.jsm#395-399
`nsScriptSecurityManager.cpp`
`GetOriginFromURI`: This is the reason why `SubstitutingJARURI` doesn't
implement `nsINestedURI`, the origin is computed starting from the innermost
URI, which in our case would be a file. The behavior in our case is that the
origin from a `resource://android` URI behaves like other `resource://` URIs,
which is what we expect.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/caps/nsScriptSecurityManager.cpp#169
`CheckLoadURIWithPrincipal`: for `nsIJARURI & nsINestedURI` this code will only
allow pages from the same jar to be in the same origin (which is correct), for
`nsIJARURI` this code is unreachable and it would allow every
`resource://android` to load every other `resource://android` URI (which is
essentially the same thing).
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/caps/nsScriptSecurityManager.cpp#874-876
`nsDocShell.cpp`
`DisplayLoadError`: Just looping through the nested URI chain to build an error
message, no concerns here (it would just ignore the `jar:` part, which is
fine).
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/docshell/base/nsDocShell.cpp#3986
`DoURILoad`: Looking for `view-source`, no concerns for `resource://android`.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/docshell/base/nsDocShell.cpp#9645
`nsObjectLoadingContent.cpp`
Also looking for `view-source`, no concerns.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/dom/base/nsObjectLoadingContent.cpp#2004
`nsIconURI.cpp`/`nsIconURI.h`
Exposing `nsINestedURI`. No concerns.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/image/decoders/icon/nsIconURI.cpp#58
`nsJARURI.cpp`/`nsJARURI.h`
Exposing `nsINestedURI`, the subject of this audit.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/modules/libjar/nsJARURI.cpp#45
`nsIOService.cpp`
`URIChainHasFlags`: This code looks at the chain of nested URIs to figure out
if the chain of protocols has a certain flags. for `nsIJARURI & nsINestedURI`
it would look at both `jar:` and `file:` protocols, while in `nsIJARURI` it
would only look at the `resource:` protocol, which is our intention, since we
want this URI to be treated like a `resource:` URI and nothing else. Note the
`resource:` URI is always local (enforced by `NewURI`), so this should be ok.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsIOService.cpp#1494
`nsNetUtil.cpp`/`nsNetUtil.h`
Implementation of `NS_ImplGetInnermostURI`, which wouldn't work for `nsIJARURI`
alone, as expected.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsNetUtil.h#704
`nsSimpleNestedURI.cpp`/`nsSimpleNestedURI.h`
Implementing `nsINestedURI` for `nsSimpleNestedURI`, no concerns.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/base/nsSimpleNestedURI.cpp#19
`nsViewSourceHandler.cpp`
Looking at `view-source` inner URI to get the flags, no concerns.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/viewsource/nsViewSourceHandler.cpp#49
`nsHtml5StreamParser.cpp`/`nsHtml5TreeOpExecutor.cpp`
More `view-source` handling code. No concerns.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/parser/html/nsHtml5StreamParser.cpp#310
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/parser/html/nsHtml5TreeOpExecutor.cpp#884
`DownloadPlatform.cpp`
`IsURLPossiblyFromWeb`: This line is unreachable as the method would return
true because resource has `URI_IS_UI_RESOURCE`.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/components/downloads/DownloadPlatform.cpp#314
`getAnonymizedPath`: This code looks a little scary, and it's the first one
that seems to conflate the fact that `jar: == nsINestedURI`.
On the android case (line 2130) this code manually replaces the
`resource://android` URI with a `jar:` URI, so it wouldn't matter whether
`resource://android` implements `nsINestedURI` or not.
Actually this code could be a lot easier by using
`nsISubstitutingURL::resolveURI`, maybe I should open a bug.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/components/search/SearchService.jsm#2148
`getRemoteTypeForURIObject`: This also looks interesting. The switch at line
157 would go straight to line 218 for `resource:` URIs (irrespective of
`nsINestedURI`) and then for `nsINestedURI` we would look at the `jar:` URI
(and eventually the `file:` URI). While for not `nsINestedURI` we would call
straight to `validatedWebRemoteType`. This might return `WEB_REMOTE_TYPE`
instead of `FILE_REMOTE_TYPE`, but since it's already happening it should be ok
(`resource://android` maps _today_ to a `jar:` file that return
`WEB_RETURN_TYPE`)
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/modules/E10SUtils.jsm#150
`getURIHost`:
This is another piece of code that benefits from not implementing
`nsINestedURI` as the host would be correctly `"android"` instead of the apk
path.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/mozapps/downloads/DownloadUtils.jsm#390
`initDialog`:
Download dialog would show the `resource://android` URI instead of the actual
`jar:` URI, kind of expected.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/toolkit/mozapps/downloads/HelperAppDlg.jsm#423
There are no places in the codebase where we do `== "jar"`. Looks like I've
already looked at all hits for "jar" too.
Checked for `"jar:` too and It looks like they are all from code that tries to
build a `jar:` URI manually which is fine for this change.
Audited all `schemeIs("jar")` occurrences:
https://searchfox.org/mozilla-central/search?q=schemeIs(%22jar%22)&path=
`browser-identity.js`
Uses the channel URI which is always resolved to `jar:`, so that works
regardless. See also:
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/netwerk/protocol/res/SubstitutingProtocolHandler.cpp#229
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/base/content/browser-siteIdentity.js#812
`tabbrowser.js`
Only for `scheme == "about"` URIs.
https://searchfox.org/mozilla-central/rev/b36e97fc776635655e84f2048ff59f38fa8a4626/browser/base/content/tabbrowser.js#789
`HelperAppDialog.js`
Treats "jar:" and "resource" the same way.
https://searchfox.org/mozilla-central/rev/dc0adc07db3df9431a0876156f50c65d580010cb/mobile/android/components/HelperAppDialog.js#63
`WebNavigationContent.js`
This code checks if the scheme is "jar" and if the original URI is "resource"
it will use that instead, so in our case it will use the "resource" URI either
way.
https://searchfox.org/mozilla-central/rev/dc0adc07db3df9431a0876156f50c65d580010cb/toolkit/modules/addons/WebNavigationContent.js#158
Depends on D18740
Differential Revision: https://phabricator.services.mozilla.com/D16913
--HG--
extra : moz-landing-system : lando
2019-02-25 18:38:33 +03:00
|
|
|
{
|
|
|
|
'cid': '{50d50ddf-f16a-4652-8705-936b19c3763b}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::SubstitutingJARURI',
|
|
|
|
'headers': ['mozilla/net/SubstitutingJARURI.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
{
|
|
|
|
'cid': '{e0da1d70-2f7b-11d3-8cd0-0060b0fc14a3}',
|
|
|
|
'contract_ids': [],
|
|
|
|
'type': 'mozilla::net::nsSimpleURI::Mutator',
|
|
|
|
'headers': ['nsSimpleURI.h'],
|
|
|
|
'processes': ProcessSelector.ALLOW_IN_SOCKET_PROCESS,
|
|
|
|
},
|
2020-03-24 19:30:03 +03:00
|
|
|
{
|
2020-07-10 00:42:25 +03:00
|
|
|
'js_name': 'cookies',
|
2020-03-24 19:30:03 +03:00
|
|
|
'cid': '{c375fa80-150f-11d6-a618-0010a401eb10}',
|
|
|
|
'contract_ids': [
|
|
|
|
'@mozilla.org/cookieService;1',
|
|
|
|
'@mozilla.org/cookiemanager;1',
|
|
|
|
],
|
2022-06-17 00:11:24 +03:00
|
|
|
'interfaces': ['nsICookieService', 'nsICookieManager'],
|
2020-03-24 19:30:03 +03:00
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsICookieService',
|
2020-04-06 15:26:14 +03:00
|
|
|
'constructor': 'mozilla::net::CookieService::GetXPCOMSingleton',
|
|
|
|
'headers': ['/netwerk/cookie/CookieService.h'],
|
2020-03-24 19:30:03 +03:00
|
|
|
},
|
2020-08-12 10:07:33 +03:00
|
|
|
{
|
|
|
|
'cid': '{e1676f84-e6e5-45d0-a4bf-d9905efc5b2e}',
|
|
|
|
'contract_ids': ['@mozilla.org/http-sfv-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'constructor': 'mozilla::net::GetSFVService',
|
|
|
|
'headers': ['mozilla/net/SFVService.h'],
|
|
|
|
},
|
2020-11-11 14:13:55 +03:00
|
|
|
{
|
|
|
|
'cid': '{4ce234f1-52e8-47a9-8c8d-b02f815733c7}',
|
|
|
|
'contract_ids': ['@mozilla.org/cookieJarSettings;1'],
|
|
|
|
'type': 'nsICookieJarSettings',
|
2021-03-29 14:01:51 +03:00
|
|
|
'constructor': 'mozilla::net::CookieJarSettings::CreateForXPCOM',
|
2020-11-11 14:13:55 +03:00
|
|
|
'headers': ['mozilla/net/CookieJarSettings.h'],
|
|
|
|
},
|
2018-12-17 05:36:32 +03:00
|
|
|
]
|
|
|
|
|
|
|
|
if defined('NECKO_WIFI'):
|
|
|
|
Classes += [
|
|
|
|
{
|
|
|
|
'cid': '{3ff8fb9f-ee63-48df-89f0-dace0242fd82}',
|
|
|
|
'contract_ids': ['@mozilla.org/wifi/monitor;1'],
|
|
|
|
'singleton': True,
|
|
|
|
'type': 'nsWifiMonitor',
|
|
|
|
'headers': ['/netwerk/wifi/nsWifiMonitor.h'],
|
|
|
|
},
|
|
|
|
]
|
|
|
|
|
|
|
|
toolkit = buildconfig.substs['MOZ_WIDGET_TOOLKIT']
|
|
|
|
link_service = None
|
|
|
|
if toolkit == 'windows':
|
|
|
|
link_service = {
|
|
|
|
'type': 'nsNotifyAddrListener',
|
|
|
|
'headers': ['/netwerk/system/win32/nsNotifyAddrListener.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
}
|
|
|
|
elif toolkit == 'cocoa':
|
|
|
|
link_service = {
|
|
|
|
'type': 'nsNetworkLinkService',
|
|
|
|
'headers': ['/netwerk/system/mac/nsNetworkLinkService.h'],
|
|
|
|
'init_method': 'Init',
|
|
|
|
}
|
|
|
|
elif toolkit == 'android':
|
|
|
|
link_service = {
|
|
|
|
'type': 'nsAndroidNetworkLinkService',
|
|
|
|
'headers': ['/netwerk/system/android/nsAndroidNetworkLinkService.h'],
|
2019-09-19 16:47:46 +03:00
|
|
|
'init_method': 'Init',
|
2018-12-17 05:36:32 +03:00
|
|
|
}
|
|
|
|
elif buildconfig.substs['OS_ARCH'] == 'Linux':
|
|
|
|
link_service = {
|
2019-08-27 00:46:32 +03:00
|
|
|
'type': 'nsNetworkLinkService',
|
|
|
|
'headers': ['/netwerk/system/linux/nsNetworkLinkService.h'],
|
2018-12-17 05:36:32 +03:00
|
|
|
'init_method': 'Init',
|
|
|
|
}
|
|
|
|
|
|
|
|
if link_service:
|
|
|
|
Classes += [
|
|
|
|
dict({
|
|
|
|
'cid': '{75a500a2-0030-40f7-86f8-63f225b940ae}',
|
|
|
|
'contract_ids': ['@mozilla.org/network/network-link-service;1'],
|
|
|
|
'singleton': True,
|
|
|
|
}, **link_service)
|
|
|
|
]
|
2022-08-15 10:07:45 +03:00
|
|
|
|
|
|
|
if toolkit != 'android':
|
|
|
|
Classes += [
|
|
|
|
{
|
|
|
|
'cid': '{72da39cc-0b9b-4fff-8ff9-d3b9a41d0dc4}',
|
|
|
|
'contract_ids': ['@mozilla.org/net/CachePurgeLock;1'],
|
|
|
|
'type': 'mozilla::net::CachePurgeLock',
|
|
|
|
'headers': ['mozilla/net/CachePurgeLock.h'],
|
|
|
|
},
|
|
|
|
]
|