1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/build/nsNetModule.cpp Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,1128 @@ 1.4 +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 1.5 +/* vim: set sw=4 ts=8 et tw=80 : */ 1.6 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.7 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.8 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.9 + 1.10 +#include "necko-config.h" 1.11 + 1.12 +#define ALLOW_LATE_HTTPLOG_H_INCLUDE 1 1.13 +#include "base/basictypes.h" 1.14 + 1.15 +#include "nsCOMPtr.h" 1.16 +#include "nsIClassInfoImpl.h" 1.17 +#include "mozilla/ModuleUtils.h" 1.18 +#include "nsIComponentManager.h" 1.19 +#include "nsIServiceManager.h" 1.20 +#include "nsICategoryManager.h" 1.21 +#include "nsSocketProviderService.h" 1.22 +#include "nscore.h" 1.23 +#include "nsSimpleURI.h" 1.24 +#include "nsSimpleNestedURI.h" 1.25 +#include "nsLoadGroup.h" 1.26 +#include "nsStreamLoader.h" 1.27 +#include "nsUnicharStreamLoader.h" 1.28 +#include "nsFileStreams.h" 1.29 +#include "nsBufferedStreams.h" 1.30 +#include "nsMIMEInputStream.h" 1.31 +#include "nsSOCKSSocketProvider.h" 1.32 +#include "nsCacheService.h" 1.33 +#include "nsDiskCacheDeviceSQL.h" 1.34 +#include "nsApplicationCache.h" 1.35 +#include "nsApplicationCacheService.h" 1.36 +#include "nsMimeTypes.h" 1.37 +#include "nsNetStrings.h" 1.38 +#include "nsDNSPrefetch.h" 1.39 +#include "nsAboutProtocolHandler.h" 1.40 +#include "nsXULAppAPI.h" 1.41 +#include "nsCategoryCache.h" 1.42 +#include "nsIContentSniffer.h" 1.43 +#include "Seer.h" 1.44 +#include "nsNetUtil.h" 1.45 +#include "nsIThreadPool.h" 1.46 +#include "mozilla/net/NeckoChild.h" 1.47 + 1.48 +#include "nsNetCID.h" 1.49 + 1.50 +#ifndef XP_MACOSX 1.51 +#define BUILD_BINHEX_DECODER 1 1.52 +#endif 1.53 + 1.54 +typedef nsCategoryCache<nsIContentSniffer> ContentSnifferCache; 1.55 +NS_HIDDEN_(ContentSnifferCache*) gNetSniffers = nullptr; 1.56 +NS_HIDDEN_(ContentSnifferCache*) gDataSniffers = nullptr; 1.57 + 1.58 +/////////////////////////////////////////////////////////////////////////////// 1.59 + 1.60 +#include "nsIOService.h" 1.61 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIOService, nsIOService::GetInstance) 1.62 + 1.63 +#include "nsDNSService2.h" 1.64 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIDNSService, 1.65 + nsDNSService::GetXPCOMSingleton) 1.66 + 1.67 +#include "nsProtocolProxyService.h" 1.68 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsProtocolProxyService, Init) 1.69 + 1.70 +#include "nsStreamTransportService.h" 1.71 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStreamTransportService, Init) 1.72 + 1.73 +#include "nsSocketTransportService2.h" 1.74 +#undef LOG 1.75 +#undef LOG_ENABLED 1.76 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSocketTransportService, Init) 1.77 + 1.78 +#include "nsServerSocket.h" 1.79 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsServerSocket) 1.80 + 1.81 +#include "nsUDPSocket.h" 1.82 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUDPSocket) 1.83 + 1.84 +#include "nsUDPSocketProvider.h" 1.85 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsUDPSocketProvider) 1.86 + 1.87 +#include "nsAsyncStreamCopier.h" 1.88 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAsyncStreamCopier) 1.89 + 1.90 +#include "nsInputStreamPump.h" 1.91 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsInputStreamPump) 1.92 + 1.93 +#include "nsInputStreamChannel.h" 1.94 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsInputStreamChannel, Init) 1.95 + 1.96 +#include "nsDownloader.h" 1.97 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloader) 1.98 + 1.99 +#include "BackgroundFileSaver.h" 1.100 +namespace mozilla { 1.101 +namespace net { 1.102 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(BackgroundFileSaverOutputStream, Init) 1.103 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(BackgroundFileSaverStreamListener, Init) 1.104 +} // namespace net 1.105 +} // namespace mozilla 1.106 + 1.107 +#include "nsSyncStreamListener.h" 1.108 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSyncStreamListener, Init) 1.109 + 1.110 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAtomicFileOutputStream) 1.111 + 1.112 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeFileOutputStream) 1.113 + 1.114 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsFileStream) 1.115 + 1.116 +NS_GENERIC_AGGREGATED_CONSTRUCTOR_INIT(nsLoadGroup, Init) 1.117 + 1.118 +#include "ArrayBufferInputStream.h" 1.119 +NS_GENERIC_FACTORY_CONSTRUCTOR(ArrayBufferInputStream) 1.120 + 1.121 +#include "nsEffectiveTLDService.h" 1.122 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsEffectiveTLDService, Init) 1.123 + 1.124 +#include "nsSerializationHelper.h" 1.125 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSerializationHelper) 1.126 + 1.127 +#include "RedirectChannelRegistrar.h" 1.128 +typedef mozilla::net::RedirectChannelRegistrar RedirectChannelRegistrar; 1.129 +NS_GENERIC_FACTORY_CONSTRUCTOR(RedirectChannelRegistrar) 1.130 + 1.131 +#include "CacheStorageService.h" 1.132 +typedef mozilla::net::CacheStorageService CacheStorageService; 1.133 +NS_GENERIC_FACTORY_CONSTRUCTOR(CacheStorageService) 1.134 + 1.135 +/////////////////////////////////////////////////////////////////////////////// 1.136 + 1.137 +extern nsresult 1.138 +net_NewIncrementalDownload(nsISupports *, const nsIID &, void **); 1.139 + 1.140 +#define NS_INCREMENTALDOWNLOAD_CID \ 1.141 +{ /* a62af1ba-79b3-4896-8aaf-b148bfce4280 */ \ 1.142 + 0xa62af1ba, \ 1.143 + 0x79b3, \ 1.144 + 0x4896, \ 1.145 + {0x8a, 0xaf, 0xb1, 0x48, 0xbf, 0xce, 0x42, 0x80} \ 1.146 +} 1.147 + 1.148 +/////////////////////////////////////////////////////////////////////////////// 1.149 + 1.150 +#include "nsMIMEHeaderParamImpl.h" 1.151 + 1.152 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEHeaderParamImpl) 1.153 +/////////////////////////////////////////////////////////////////////////////// 1.154 + 1.155 +#include "nsRequestObserverProxy.h" 1.156 +#include "nsSimpleStreamListener.h" 1.157 +#include "nsDirIndexParser.h" 1.158 +#include "nsDirIndex.h" 1.159 + 1.160 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsRequestObserverProxy) 1.161 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleStreamListener) 1.162 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDirIndexParser, Init) 1.163 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDirIndex) 1.164 + 1.165 +/////////////////////////////////////////////////////////////////////////////// 1.166 + 1.167 +#include "nsStreamListenerTee.h" 1.168 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsStreamListenerTee) 1.169 + 1.170 +/////////////////////////////////////////////////////////////////////////////// 1.171 + 1.172 +#ifdef NECKO_COOKIES 1.173 +#include "nsCookieService.h" 1.174 +NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsICookieService, 1.175 + nsCookieService::GetXPCOMSingleton) 1.176 +#endif 1.177 + 1.178 +/////////////////////////////////////////////////////////////////////////////// 1.179 +#ifdef NECKO_WIFI 1.180 + 1.181 +#include "nsWifiMonitor.h" 1.182 +#undef LOG 1.183 +#undef LOG_ENABLED 1.184 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsWifiMonitor) 1.185 + 1.186 +#endif 1.187 + 1.188 +/////////////////////////////////////////////////////////////////////////////// 1.189 +// protocols 1.190 +/////////////////////////////////////////////////////////////////////////////// 1.191 + 1.192 +// about:blank is mandatory 1.193 +#include "nsAboutProtocolHandler.h" 1.194 +#include "nsAboutBlank.h" 1.195 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAboutProtocolHandler) 1.196 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeAboutProtocolHandler) 1.197 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsNestedAboutURI) 1.198 + 1.199 +#ifdef NECKO_PROTOCOL_about 1.200 +// about 1.201 +#ifdef NS_BUILD_REFCNT_LOGGING 1.202 +#include "nsAboutBloat.h" 1.203 +#endif 1.204 +#include "nsAboutCache.h" 1.205 +#include "nsAboutCacheEntry.h" 1.206 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAboutCacheEntry) 1.207 +#endif 1.208 + 1.209 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCacheService) 1.210 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCacheNamespace) 1.211 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCache) 1.212 + 1.213 +#ifdef NECKO_PROTOCOL_file 1.214 +// file 1.215 +#include "nsFileProtocolHandler.h" 1.216 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFileProtocolHandler, Init) 1.217 +#endif 1.218 + 1.219 +#ifdef NECKO_PROTOCOL_ftp 1.220 +// ftp 1.221 +#include "nsFtpProtocolHandler.h" 1.222 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFtpProtocolHandler, Init) 1.223 +#endif 1.224 + 1.225 +#ifdef NECKO_PROTOCOL_http 1.226 +// http/https 1.227 +#include "nsHttpHandler.h" 1.228 +#undef LOG 1.229 +#undef LOG_ENABLED 1.230 +#include "nsHttpAuthManager.h" 1.231 +#include "nsHttpChannelAuthProvider.h" 1.232 +#include "nsHttpBasicAuth.h" 1.233 +#include "nsHttpDigestAuth.h" 1.234 +#include "nsHttpNTLMAuth.h" 1.235 +#include "nsHttpActivityDistributor.h" 1.236 +#undef LOG 1.237 +#undef LOG_ENABLED 1.238 +namespace mozilla { 1.239 +namespace net { 1.240 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpNTLMAuth) 1.241 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpHandler, Init) 1.242 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpsHandler, Init) 1.243 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpAuthManager, Init) 1.244 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpChannelAuthProvider) 1.245 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpActivityDistributor) 1.246 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpBasicAuth) 1.247 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpDigestAuth) 1.248 +} 1.249 +} 1.250 +#endif // !NECKO_PROTOCOL_http 1.251 + 1.252 +#include "mozilla/net/Dashboard.h" 1.253 +namespace mozilla { 1.254 +namespace net { 1.255 + NS_GENERIC_FACTORY_CONSTRUCTOR(Dashboard) 1.256 +} 1.257 +} 1.258 +#include "AppProtocolHandler.h" 1.259 + 1.260 +#ifdef NECKO_PROTOCOL_res 1.261 +// resource 1.262 +#include "nsResProtocolHandler.h" 1.263 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsResProtocolHandler, Init) 1.264 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsResURL) 1.265 +#endif 1.266 + 1.267 +#ifdef NECKO_PROTOCOL_device 1.268 +#include "nsDeviceProtocolHandler.h" 1.269 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceProtocolHandler) 1.270 +#endif 1.271 + 1.272 +#ifdef NECKO_PROTOCOL_viewsource 1.273 +#include "nsViewSourceHandler.h" 1.274 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsViewSourceHandler) 1.275 +#endif 1.276 + 1.277 +#ifdef NECKO_PROTOCOL_data 1.278 +#include "nsDataHandler.h" 1.279 +#endif 1.280 + 1.281 +#ifdef NECKO_PROTOCOL_wyciwyg 1.282 +#include "nsWyciwygProtocolHandler.h" 1.283 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsWyciwygProtocolHandler) 1.284 +#endif 1.285 + 1.286 +#ifdef NECKO_PROTOCOL_websocket 1.287 +#include "WebSocketChannel.h" 1.288 +#include "WebSocketChannelChild.h" 1.289 +namespace mozilla { 1.290 +namespace net { 1.291 +static BaseWebSocketChannel* 1.292 +WebSocketChannelConstructor(bool aSecure) 1.293 +{ 1.294 + if (IsNeckoChild()) { 1.295 + return new WebSocketChannelChild(aSecure); 1.296 + } 1.297 + 1.298 + if (aSecure) { 1.299 + return new WebSocketSSLChannel; 1.300 + } else { 1.301 + return new WebSocketChannel; 1.302 + } 1.303 +} 1.304 + 1.305 +#define WEB_SOCKET_HANDLER_CONSTRUCTOR(type, secure) \ 1.306 +static nsresult \ 1.307 +type##Constructor(nsISupports *aOuter, REFNSIID aIID, \ 1.308 + void **aResult) \ 1.309 +{ \ 1.310 + nsresult rv; \ 1.311 + \ 1.312 + BaseWebSocketChannel * inst; \ 1.313 + \ 1.314 + *aResult = nullptr; \ 1.315 + if (nullptr != aOuter) { \ 1.316 + rv = NS_ERROR_NO_AGGREGATION; \ 1.317 + return rv; \ 1.318 + } \ 1.319 + inst = WebSocketChannelConstructor(secure); \ 1.320 + NS_ADDREF(inst); \ 1.321 + rv = inst->QueryInterface(aIID, aResult); \ 1.322 + NS_RELEASE(inst); \ 1.323 + return rv; \ 1.324 +} 1.325 + 1.326 +WEB_SOCKET_HANDLER_CONSTRUCTOR(WebSocketChannel, false) 1.327 +WEB_SOCKET_HANDLER_CONSTRUCTOR(WebSocketSSLChannel, true) 1.328 +#undef WEB_SOCKET_HANDLER_CONSTRUCTOR 1.329 +} // namespace mozilla::net 1.330 +} // namespace mozilla 1.331 +#endif 1.332 + 1.333 +#ifdef NECKO_PROTOCOL_rtsp 1.334 +#include "RtspHandler.h" 1.335 +namespace mozilla { 1.336 +namespace net { 1.337 +NS_GENERIC_FACTORY_CONSTRUCTOR(RtspHandler) 1.338 +} // namespace mozilla::net 1.339 +} // namespace mozilla 1.340 +#endif 1.341 + 1.342 +/////////////////////////////////////////////////////////////////////////////// 1.343 + 1.344 +#include "nsURIChecker.h" 1.345 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsURIChecker) 1.346 + 1.347 +/////////////////////////////////////////////////////////////////////////////// 1.348 + 1.349 +#include "nsURLParsers.h" 1.350 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoAuthURLParser) 1.351 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAuthURLParser) 1.352 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsStdURLParser) 1.353 + 1.354 +#include "nsStandardURL.h" 1.355 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsStandardURL) 1.356 + 1.357 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleURI) 1.358 + 1.359 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleNestedURI) 1.360 + 1.361 +/////////////////////////////////////////////////////////////////////////////// 1.362 + 1.363 +#include "nsIDNService.h" 1.364 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsIDNService, Init) 1.365 + 1.366 +/////////////////////////////////////////////////////////////////////////////// 1.367 +#if defined(XP_WIN) 1.368 +#include "nsNotifyAddrListener.h" 1.369 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNotifyAddrListener, Init) 1.370 +#elif defined(MOZ_WIDGET_COCOA) 1.371 +#include "nsNetworkLinkService.h" 1.372 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNetworkLinkService, Init) 1.373 +#elif defined(MOZ_ENABLE_QTNETWORK) 1.374 +#include "nsQtNetworkLinkService.h" 1.375 +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsQtNetworkLinkService, Init) 1.376 +#elif defined(MOZ_WIDGET_ANDROID) 1.377 +#include "nsAndroidNetworkLinkService.h" 1.378 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsAndroidNetworkLinkService) 1.379 +#endif 1.380 + 1.381 +/////////////////////////////////////////////////////////////////////////////// 1.382 + 1.383 +#ifdef NECKO_PROTOCOL_ftp 1.384 +#include "nsFTPDirListingConv.h" 1.385 +nsresult NS_NewFTPDirListingConv(nsFTPDirListingConv** result); 1.386 +#endif 1.387 + 1.388 +#include "nsStreamConverterService.h" 1.389 +#include "nsMultiMixedConv.h" 1.390 +#include "nsHTTPCompressConv.h" 1.391 +#include "mozTXTToHTMLConv.h" 1.392 +#include "nsUnknownDecoder.h" 1.393 +#include "nsTXTToHTMLConv.h" 1.394 +#include "nsIndexedToHTML.h" 1.395 +#ifdef BUILD_BINHEX_DECODER 1.396 +#include "nsBinHexDecoder.h" 1.397 +#endif 1.398 + 1.399 +nsresult NS_NewMultiMixedConv (nsMultiMixedConv** result); 1.400 +nsresult MOZ_NewTXTToHTMLConv (mozTXTToHTMLConv** result); 1.401 +nsresult NS_NewHTTPCompressConv (nsHTTPCompressConv ** result); 1.402 +nsresult NS_NewNSTXTToHTMLConv(nsTXTToHTMLConv** result); 1.403 +nsresult NS_NewStreamConv(nsStreamConverterService **aStreamConv); 1.404 + 1.405 +#define FTP_TO_INDEX "?from=text/ftp-dir&to=application/http-index-format" 1.406 +#define INDEX_TO_HTML "?from=application/http-index-format&to=text/html" 1.407 +#define MULTI_MIXED_X "?from=multipart/x-mixed-replace&to=*/*" 1.408 +#define MULTI_MIXED "?from=multipart/mixed&to=*/*" 1.409 +#define MULTI_BYTERANGES "?from=multipart/byteranges&to=*/*" 1.410 +#define UNKNOWN_CONTENT "?from=" UNKNOWN_CONTENT_TYPE "&to=*/*" 1.411 +#define GZIP_TO_UNCOMPRESSED "?from=gzip&to=uncompressed" 1.412 +#define XGZIP_TO_UNCOMPRESSED "?from=x-gzip&to=uncompressed" 1.413 +#define COMPRESS_TO_UNCOMPRESSED "?from=compress&to=uncompressed" 1.414 +#define XCOMPRESS_TO_UNCOMPRESSED "?from=x-compress&to=uncompressed" 1.415 +#define DEFLATE_TO_UNCOMPRESSED "?from=deflate&to=uncompressed" 1.416 +#define PLAIN_TO_HTML "?from=text/plain&to=text/html" 1.417 + 1.418 +#ifdef BUILD_BINHEX_DECODER 1.419 +#define BINHEX_TO_WILD "?from=application/mac-binhex40&to=*/*" 1.420 +#endif 1.421 + 1.422 +static const mozilla::Module::CategoryEntry kNeckoCategories[] = { 1.423 + { NS_ISTREAMCONVERTER_KEY, FTP_TO_INDEX, "" }, 1.424 + { NS_ISTREAMCONVERTER_KEY, INDEX_TO_HTML, "" }, 1.425 + { NS_ISTREAMCONVERTER_KEY, MULTI_MIXED_X, "" }, 1.426 + { NS_ISTREAMCONVERTER_KEY, MULTI_MIXED, "" }, 1.427 + { NS_ISTREAMCONVERTER_KEY, MULTI_BYTERANGES, "" }, 1.428 + { NS_ISTREAMCONVERTER_KEY, UNKNOWN_CONTENT, "" }, 1.429 + { NS_ISTREAMCONVERTER_KEY, GZIP_TO_UNCOMPRESSED, "" }, 1.430 + { NS_ISTREAMCONVERTER_KEY, XGZIP_TO_UNCOMPRESSED, "" }, 1.431 + { NS_ISTREAMCONVERTER_KEY, COMPRESS_TO_UNCOMPRESSED, "" }, 1.432 + { NS_ISTREAMCONVERTER_KEY, XCOMPRESS_TO_UNCOMPRESSED, "" }, 1.433 + { NS_ISTREAMCONVERTER_KEY, DEFLATE_TO_UNCOMPRESSED, "" }, 1.434 +#ifdef BUILD_BINHEX_DECODER 1.435 + { NS_ISTREAMCONVERTER_KEY, BINHEX_TO_WILD, "" }, 1.436 +#endif 1.437 + { NS_ISTREAMCONVERTER_KEY, PLAIN_TO_HTML, "" }, 1.438 + NS_BINARYDETECTOR_CATEGORYENTRY, 1.439 + { nullptr } 1.440 +}; 1.441 + 1.442 +#ifdef BUILD_BINHEX_DECODER 1.443 +NS_GENERIC_FACTORY_CONSTRUCTOR(nsBinHexDecoder) 1.444 +#endif 1.445 + 1.446 +static nsresult 1.447 +CreateNewStreamConvServiceFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult) 1.448 +{ 1.449 + if (!aResult) { 1.450 + return NS_ERROR_INVALID_POINTER; 1.451 + } 1.452 + if (aOuter) { 1.453 + *aResult = nullptr; 1.454 + return NS_ERROR_NO_AGGREGATION; 1.455 + } 1.456 + nsStreamConverterService* inst = nullptr; 1.457 + nsresult rv = NS_NewStreamConv(&inst); 1.458 + if (NS_FAILED(rv)) { 1.459 + *aResult = nullptr; 1.460 + return rv; 1.461 + } 1.462 + rv = inst->QueryInterface(aIID, aResult); 1.463 + if (NS_FAILED(rv)) { 1.464 + *aResult = nullptr; 1.465 + } 1.466 + NS_RELEASE(inst); /* get rid of extra refcnt */ 1.467 + return rv; 1.468 +} 1.469 + 1.470 +#ifdef NECKO_PROTOCOL_ftp 1.471 +static nsresult 1.472 +CreateNewFTPDirListingConv(nsISupports* aOuter, REFNSIID aIID, void **aResult) 1.473 +{ 1.474 + if (!aResult) { 1.475 + return NS_ERROR_INVALID_POINTER; 1.476 + } 1.477 + if (aOuter) { 1.478 + *aResult = nullptr; 1.479 + return NS_ERROR_NO_AGGREGATION; 1.480 + } 1.481 + nsFTPDirListingConv* inst = nullptr; 1.482 + nsresult rv = NS_NewFTPDirListingConv(&inst); 1.483 + if (NS_FAILED(rv)) { 1.484 + *aResult = nullptr; 1.485 + return rv; 1.486 + } 1.487 + rv = inst->QueryInterface(aIID, aResult); 1.488 + if (NS_FAILED(rv)) { 1.489 + *aResult = nullptr; 1.490 + } 1.491 + NS_RELEASE(inst); /* get rid of extra refcnt */ 1.492 + return rv; 1.493 +} 1.494 +#endif 1.495 + 1.496 +static nsresult 1.497 +CreateNewMultiMixedConvFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult) 1.498 +{ 1.499 + if (!aResult) { 1.500 + return NS_ERROR_INVALID_POINTER; 1.501 + } 1.502 + if (aOuter) { 1.503 + *aResult = nullptr; 1.504 + return NS_ERROR_NO_AGGREGATION; 1.505 + } 1.506 + nsMultiMixedConv* inst = nullptr; 1.507 + nsresult rv = NS_NewMultiMixedConv(&inst); 1.508 + if (NS_FAILED(rv)) { 1.509 + *aResult = nullptr; 1.510 + return rv; 1.511 + } 1.512 + rv = inst->QueryInterface(aIID, aResult); 1.513 + if (NS_FAILED(rv)) { 1.514 + *aResult = nullptr; 1.515 + } 1.516 + NS_RELEASE(inst); /* get rid of extra refcnt */ 1.517 + return rv; 1.518 +} 1.519 + 1.520 +static nsresult 1.521 +CreateNewTXTToHTMLConvFactory(nsISupports* aOuter, REFNSIID aIID, void **aResult) 1.522 +{ 1.523 + if (!aResult) { 1.524 + return NS_ERROR_INVALID_POINTER; 1.525 + } 1.526 + if (aOuter) { 1.527 + *aResult = nullptr; 1.528 + return NS_ERROR_NO_AGGREGATION; 1.529 + } 1.530 + mozTXTToHTMLConv* inst = nullptr; 1.531 + nsresult rv = MOZ_NewTXTToHTMLConv(&inst); 1.532 + if (NS_FAILED(rv)) { 1.533 + *aResult = nullptr; 1.534 + return rv; 1.535 + } 1.536 + rv = inst->QueryInterface(aIID, aResult); 1.537 + if (NS_FAILED(rv)) { 1.538 + *aResult = nullptr; 1.539 + } 1.540 + NS_RELEASE(inst); /* get rid of extra refcnt */ 1.541 + return rv; 1.542 +} 1.543 + 1.544 +static nsresult 1.545 +CreateNewHTTPCompressConvFactory (nsISupports* aOuter, REFNSIID aIID, void **aResult) 1.546 +{ 1.547 + if (!aResult) { 1.548 + return NS_ERROR_INVALID_POINTER; 1.549 + } 1.550 + if (aOuter) { 1.551 + *aResult = nullptr; 1.552 + return NS_ERROR_NO_AGGREGATION; 1.553 + } 1.554 + nsHTTPCompressConv* inst = nullptr; 1.555 + nsresult rv = NS_NewHTTPCompressConv (&inst); 1.556 + if (NS_FAILED(rv)) { 1.557 + *aResult = nullptr; 1.558 + return rv; 1.559 + } 1.560 + rv = inst->QueryInterface(aIID, aResult); 1.561 + if (NS_FAILED(rv)) { 1.562 + *aResult = nullptr; 1.563 + } 1.564 + NS_RELEASE(inst); /* get rid of extra refcnt */ 1.565 + return rv; 1.566 +} 1.567 + 1.568 +static nsresult 1.569 +CreateNewUnknownDecoderFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult) 1.570 +{ 1.571 + nsresult rv; 1.572 + 1.573 + if (!aResult) { 1.574 + return NS_ERROR_NULL_POINTER; 1.575 + } 1.576 + *aResult = nullptr; 1.577 + 1.578 + if (aOuter) { 1.579 + return NS_ERROR_NO_AGGREGATION; 1.580 + } 1.581 + 1.582 + nsUnknownDecoder *inst; 1.583 + 1.584 + inst = new nsUnknownDecoder(); 1.585 + if (!inst) { 1.586 + return NS_ERROR_OUT_OF_MEMORY; 1.587 + } 1.588 + NS_ADDREF(inst); 1.589 + rv = inst->QueryInterface(aIID, aResult); 1.590 + NS_RELEASE(inst); 1.591 + 1.592 + return rv; 1.593 +} 1.594 + 1.595 +static nsresult 1.596 +CreateNewBinaryDetectorFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult) 1.597 +{ 1.598 + nsresult rv; 1.599 + 1.600 + if (!aResult) { 1.601 + return NS_ERROR_NULL_POINTER; 1.602 + } 1.603 + *aResult = nullptr; 1.604 + 1.605 + if (aOuter) { 1.606 + return NS_ERROR_NO_AGGREGATION; 1.607 + } 1.608 + 1.609 + nsBinaryDetector* inst = new nsBinaryDetector(); 1.610 + if (!inst) { 1.611 + return NS_ERROR_OUT_OF_MEMORY; 1.612 + } 1.613 + NS_ADDREF(inst); 1.614 + rv = inst->QueryInterface(aIID, aResult); 1.615 + NS_RELEASE(inst); 1.616 + 1.617 + return rv; 1.618 +} 1.619 + 1.620 +static nsresult 1.621 +CreateNewNSTXTToHTMLConvFactory(nsISupports *aOuter, REFNSIID aIID, void **aResult) 1.622 +{ 1.623 + nsresult rv; 1.624 + 1.625 + if (!aResult) { 1.626 + return NS_ERROR_NULL_POINTER; 1.627 + } 1.628 + *aResult = nullptr; 1.629 + 1.630 + if (aOuter) { 1.631 + return NS_ERROR_NO_AGGREGATION; 1.632 + } 1.633 + 1.634 + nsTXTToHTMLConv *inst; 1.635 + 1.636 + inst = new nsTXTToHTMLConv(); 1.637 + if (!inst) return NS_ERROR_OUT_OF_MEMORY; 1.638 + 1.639 + NS_ADDREF(inst); 1.640 + rv = inst->Init(); 1.641 + if (NS_FAILED(rv)) { 1.642 + delete inst; 1.643 + return rv; 1.644 + } 1.645 + rv = inst->QueryInterface(aIID, aResult); 1.646 + NS_RELEASE(inst); 1.647 + 1.648 + return rv; 1.649 +} 1.650 + 1.651 +/////////////////////////////////////////////////////////////////////////////// 1.652 +// Module implementation for the net library 1.653 + 1.654 +// Net module startup hook 1.655 +static nsresult nsNetStartup() 1.656 +{ 1.657 + gNetStrings = new nsNetStrings(); 1.658 + return gNetStrings ? NS_OK : NS_ERROR_OUT_OF_MEMORY; 1.659 +} 1.660 + 1.661 + 1.662 +// Net module shutdown hook 1.663 +static void nsNetShutdown() 1.664 +{ 1.665 + // Release the url parser that the stdurl is holding. 1.666 + nsStandardURL::ShutdownGlobalObjects(); 1.667 + 1.668 + // Release global state used by the URL helper module. 1.669 + net_ShutdownURLHelper(); 1.670 +#ifdef XP_MACOSX 1.671 + net_ShutdownURLHelperOSX(); 1.672 +#endif 1.673 + 1.674 + // Release necko strings 1.675 + delete gNetStrings; 1.676 + gNetStrings = nullptr; 1.677 + 1.678 + // Release DNS service reference. 1.679 + nsDNSPrefetch::Shutdown(); 1.680 + 1.681 +#ifdef NECKO_PROTOCOL_websocket 1.682 + // Release the Websocket Admission Manager 1.683 + mozilla::net::WebSocketChannel::Shutdown(); 1.684 +#endif // NECKO_PROTOCOL_websocket 1.685 + 1.686 + delete gNetSniffers; 1.687 + gNetSniffers = nullptr; 1.688 + delete gDataSniffers; 1.689 + gDataSniffers = nullptr; 1.690 +} 1.691 + 1.692 +NS_DEFINE_NAMED_CID(NS_IOSERVICE_CID); 1.693 +NS_DEFINE_NAMED_CID(NS_STREAMTRANSPORTSERVICE_CID); 1.694 +NS_DEFINE_NAMED_CID(NS_SOCKETTRANSPORTSERVICE_CID); 1.695 +NS_DEFINE_NAMED_CID(NS_SERVERSOCKET_CID); 1.696 +NS_DEFINE_NAMED_CID(NS_UDPSOCKET_CID); 1.697 +NS_DEFINE_NAMED_CID(NS_SOCKETPROVIDERSERVICE_CID); 1.698 +NS_DEFINE_NAMED_CID(NS_DNSSERVICE_CID); 1.699 +NS_DEFINE_NAMED_CID(NS_IDNSERVICE_CID); 1.700 +NS_DEFINE_NAMED_CID(NS_EFFECTIVETLDSERVICE_CID); 1.701 +NS_DEFINE_NAMED_CID(NS_SIMPLEURI_CID); 1.702 +NS_DEFINE_NAMED_CID(NS_SIMPLENESTEDURI_CID); 1.703 +NS_DEFINE_NAMED_CID(NS_ASYNCSTREAMCOPIER_CID); 1.704 +NS_DEFINE_NAMED_CID(NS_INPUTSTREAMPUMP_CID); 1.705 +NS_DEFINE_NAMED_CID(NS_INPUTSTREAMCHANNEL_CID); 1.706 +NS_DEFINE_NAMED_CID(NS_STREAMLOADER_CID); 1.707 +NS_DEFINE_NAMED_CID(NS_UNICHARSTREAMLOADER_CID); 1.708 +NS_DEFINE_NAMED_CID(NS_DOWNLOADER_CID); 1.709 +NS_DEFINE_NAMED_CID(NS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID); 1.710 +NS_DEFINE_NAMED_CID(NS_BACKGROUNDFILESAVERSTREAMLISTENER_CID); 1.711 +NS_DEFINE_NAMED_CID(NS_SYNCSTREAMLISTENER_CID); 1.712 +NS_DEFINE_NAMED_CID(NS_REQUESTOBSERVERPROXY_CID); 1.713 +NS_DEFINE_NAMED_CID(NS_SIMPLESTREAMLISTENER_CID); 1.714 +NS_DEFINE_NAMED_CID(NS_STREAMLISTENERTEE_CID); 1.715 +NS_DEFINE_NAMED_CID(NS_LOADGROUP_CID); 1.716 +NS_DEFINE_NAMED_CID(NS_LOCALFILEINPUTSTREAM_CID); 1.717 +NS_DEFINE_NAMED_CID(NS_LOCALFILEOUTPUTSTREAM_CID); 1.718 +NS_DEFINE_NAMED_CID(NS_PARTIALLOCALFILEINPUTSTREAM_CID); 1.719 +NS_DEFINE_NAMED_CID(NS_ATOMICLOCALFILEOUTPUTSTREAM_CID); 1.720 +NS_DEFINE_NAMED_CID(NS_SAFELOCALFILEOUTPUTSTREAM_CID); 1.721 +NS_DEFINE_NAMED_CID(NS_LOCALFILESTREAM_CID); 1.722 +NS_DEFINE_NAMED_CID(NS_URICHECKER_CID); 1.723 +NS_DEFINE_NAMED_CID(NS_INCREMENTALDOWNLOAD_CID); 1.724 +NS_DEFINE_NAMED_CID(NS_STDURLPARSER_CID); 1.725 +NS_DEFINE_NAMED_CID(NS_NOAUTHURLPARSER_CID); 1.726 +NS_DEFINE_NAMED_CID(NS_AUTHURLPARSER_CID); 1.727 +NS_DEFINE_NAMED_CID(NS_STANDARDURL_CID); 1.728 +NS_DEFINE_NAMED_CID(NS_ARRAYBUFFERINPUTSTREAM_CID); 1.729 +NS_DEFINE_NAMED_CID(NS_BUFFEREDINPUTSTREAM_CID); 1.730 +NS_DEFINE_NAMED_CID(NS_BUFFEREDOUTPUTSTREAM_CID); 1.731 +NS_DEFINE_NAMED_CID(NS_MIMEINPUTSTREAM_CID); 1.732 +NS_DEFINE_NAMED_CID(NS_PROTOCOLPROXYSERVICE_CID); 1.733 +NS_DEFINE_NAMED_CID(NS_STREAMCONVERTERSERVICE_CID); 1.734 +NS_DEFINE_NAMED_CID(NS_DASHBOARD_CID); 1.735 +#ifdef NECKO_PROTOCOL_ftp 1.736 +NS_DEFINE_NAMED_CID(NS_FTPDIRLISTINGCONVERTER_CID); 1.737 +#endif 1.738 +NS_DEFINE_NAMED_CID(NS_NSINDEXEDTOHTMLCONVERTER_CID); 1.739 +NS_DEFINE_NAMED_CID(NS_DIRINDEXPARSER_CID); 1.740 +NS_DEFINE_NAMED_CID(NS_MULTIMIXEDCONVERTER_CID); 1.741 +NS_DEFINE_NAMED_CID(NS_UNKNOWNDECODER_CID); 1.742 +NS_DEFINE_NAMED_CID(NS_BINARYDETECTOR_CID); 1.743 +NS_DEFINE_NAMED_CID(NS_HTTPCOMPRESSCONVERTER_CID); 1.744 +NS_DEFINE_NAMED_CID(NS_NSTXTTOHTMLCONVERTER_CID); 1.745 +#ifdef BUILD_BINHEX_DECODER 1.746 +NS_DEFINE_NAMED_CID(NS_BINHEXDECODER_CID); 1.747 +#endif 1.748 +NS_DEFINE_NAMED_CID(MOZITXTTOHTMLCONV_CID); 1.749 +NS_DEFINE_NAMED_CID(NS_DIRINDEX_CID); 1.750 +NS_DEFINE_NAMED_CID(NS_MIMEHEADERPARAM_CID); 1.751 +#ifdef NECKO_PROTOCOL_file 1.752 +NS_DEFINE_NAMED_CID(NS_FILEPROTOCOLHANDLER_CID); 1.753 +#endif 1.754 +#ifdef NECKO_PROTOCOL_http 1.755 +NS_DEFINE_NAMED_CID(NS_HTTPPROTOCOLHANDLER_CID); 1.756 +NS_DEFINE_NAMED_CID(NS_HTTPSPROTOCOLHANDLER_CID); 1.757 +NS_DEFINE_NAMED_CID(NS_HTTPBASICAUTH_CID); 1.758 +NS_DEFINE_NAMED_CID(NS_HTTPDIGESTAUTH_CID); 1.759 +NS_DEFINE_NAMED_CID(NS_HTTPNTLMAUTH_CID); 1.760 +NS_DEFINE_NAMED_CID(NS_HTTPAUTHMANAGER_CID); 1.761 +NS_DEFINE_NAMED_CID(NS_HTTPCHANNELAUTHPROVIDER_CID); 1.762 +NS_DEFINE_NAMED_CID(NS_HTTPACTIVITYDISTRIBUTOR_CID); 1.763 +#endif // !NECKO_PROTOCOL_http 1.764 +#ifdef NECKO_PROTOCOL_ftp 1.765 +NS_DEFINE_NAMED_CID(NS_FTPPROTOCOLHANDLER_CID); 1.766 +#endif 1.767 +#ifdef NECKO_PROTOCOL_res 1.768 +NS_DEFINE_NAMED_CID(NS_RESPROTOCOLHANDLER_CID); 1.769 +NS_DEFINE_NAMED_CID(NS_RESURL_CID); 1.770 +#endif 1.771 +NS_DEFINE_NAMED_CID(NS_ABOUTPROTOCOLHANDLER_CID); 1.772 +NS_DEFINE_NAMED_CID(NS_SAFEABOUTPROTOCOLHANDLER_CID); 1.773 +NS_DEFINE_NAMED_CID(NS_ABOUT_BLANK_MODULE_CID); 1.774 +NS_DEFINE_NAMED_CID(NS_NESTEDABOUTURI_CID); 1.775 +#ifdef NECKO_PROTOCOL_about 1.776 +#ifdef NS_BUILD_REFCNT_LOGGING 1.777 +NS_DEFINE_NAMED_CID(NS_ABOUT_BLOAT_MODULE_CID); 1.778 +#endif 1.779 +NS_DEFINE_NAMED_CID(NS_ABOUT_CACHE_MODULE_CID); 1.780 +NS_DEFINE_NAMED_CID(NS_ABOUT_CACHE_ENTRY_MODULE_CID); 1.781 +#endif 1.782 +NS_DEFINE_NAMED_CID(NS_SOCKSSOCKETPROVIDER_CID); 1.783 +NS_DEFINE_NAMED_CID(NS_SOCKS4SOCKETPROVIDER_CID); 1.784 +NS_DEFINE_NAMED_CID(NS_UDPSOCKETPROVIDER_CID); 1.785 +NS_DEFINE_NAMED_CID(NS_CACHESERVICE_CID); 1.786 +NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHESERVICE_CID); 1.787 +NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHENAMESPACE_CID); 1.788 +NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHE_CID); 1.789 +NS_DEFINE_NAMED_CID(NS_APPPROTOCOLHANDLER_CID); 1.790 +#ifdef NECKO_COOKIES 1.791 +NS_DEFINE_NAMED_CID(NS_COOKIEMANAGER_CID); 1.792 +NS_DEFINE_NAMED_CID(NS_COOKIESERVICE_CID); 1.793 +#endif 1.794 +#ifdef NECKO_WIFI 1.795 +NS_DEFINE_NAMED_CID(NS_WIFI_MONITOR_COMPONENT_CID); 1.796 +#endif 1.797 +#ifdef NECKO_PROTOCOL_data 1.798 +NS_DEFINE_NAMED_CID(NS_DATAPROTOCOLHANDLER_CID); 1.799 +#endif 1.800 +#ifdef NECKO_PROTOCOL_device 1.801 +NS_DEFINE_NAMED_CID(NS_DEVICEPROTOCOLHANDLER_CID); 1.802 +#endif 1.803 +#ifdef NECKO_PROTOCOL_viewsource 1.804 +NS_DEFINE_NAMED_CID(NS_VIEWSOURCEHANDLER_CID); 1.805 +#endif 1.806 +#ifdef NECKO_PROTOCOL_wyciwyg 1.807 +NS_DEFINE_NAMED_CID(NS_WYCIWYGPROTOCOLHANDLER_CID); 1.808 +#endif 1.809 +#ifdef NECKO_PROTOCOL_websocket 1.810 +NS_DEFINE_NAMED_CID(NS_WEBSOCKETPROTOCOLHANDLER_CID); 1.811 +NS_DEFINE_NAMED_CID(NS_WEBSOCKETSSLPROTOCOLHANDLER_CID); 1.812 +#endif 1.813 +#ifdef NECKO_PROTOCOL_rtsp 1.814 +NS_DEFINE_NAMED_CID(NS_RTSPPROTOCOLHANDLER_CID); 1.815 +#endif 1.816 +#if defined(XP_WIN) 1.817 +NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID); 1.818 +#elif defined(MOZ_WIDGET_COCOA) 1.819 +NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID); 1.820 +#elif defined(MOZ_ENABLE_QTNETWORK) 1.821 +NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID); 1.822 +#elif defined(MOZ_WIDGET_ANDROID) 1.823 +NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID); 1.824 +#endif 1.825 +NS_DEFINE_NAMED_CID(NS_SERIALIZATION_HELPER_CID); 1.826 +NS_DEFINE_NAMED_CID(NS_REDIRECTCHANNELREGISTRAR_CID); 1.827 +NS_DEFINE_NAMED_CID(NS_CACHE_STORAGE_SERVICE_CID); 1.828 +NS_DEFINE_NAMED_CID(NS_NETWORKSEER_CID); 1.829 + 1.830 +static const mozilla::Module::CIDEntry kNeckoCIDs[] = { 1.831 + { &kNS_IOSERVICE_CID, false, nullptr, nsIOServiceConstructor }, 1.832 + { &kNS_STREAMTRANSPORTSERVICE_CID, false, nullptr, nsStreamTransportServiceConstructor }, 1.833 + { &kNS_SOCKETTRANSPORTSERVICE_CID, false, nullptr, nsSocketTransportServiceConstructor }, 1.834 + { &kNS_SERVERSOCKET_CID, false, nullptr, nsServerSocketConstructor }, 1.835 + { &kNS_UDPSOCKET_CID, false, nullptr, nsUDPSocketConstructor }, 1.836 + { &kNS_SOCKETPROVIDERSERVICE_CID, false, nullptr, nsSocketProviderService::Create }, 1.837 + { &kNS_DNSSERVICE_CID, false, nullptr, nsIDNSServiceConstructor }, 1.838 + { &kNS_IDNSERVICE_CID, false, nullptr, nsIDNServiceConstructor }, 1.839 + { &kNS_EFFECTIVETLDSERVICE_CID, false, nullptr, nsEffectiveTLDServiceConstructor }, 1.840 + { &kNS_SIMPLEURI_CID, false, nullptr, nsSimpleURIConstructor }, 1.841 + { &kNS_SIMPLENESTEDURI_CID, false, nullptr, nsSimpleNestedURIConstructor }, 1.842 + { &kNS_ASYNCSTREAMCOPIER_CID, false, nullptr, nsAsyncStreamCopierConstructor }, 1.843 + { &kNS_INPUTSTREAMPUMP_CID, false, nullptr, nsInputStreamPumpConstructor }, 1.844 + { &kNS_INPUTSTREAMCHANNEL_CID, false, nullptr, nsInputStreamChannelConstructor }, 1.845 + { &kNS_STREAMLOADER_CID, false, nullptr, nsStreamLoader::Create }, 1.846 + { &kNS_UNICHARSTREAMLOADER_CID, false, nullptr, nsUnicharStreamLoader::Create }, 1.847 + { &kNS_DOWNLOADER_CID, false, nullptr, nsDownloaderConstructor }, 1.848 + { &kNS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID, false, nullptr, 1.849 + mozilla::net::BackgroundFileSaverOutputStreamConstructor }, 1.850 + { &kNS_BACKGROUNDFILESAVERSTREAMLISTENER_CID, false, nullptr, 1.851 + mozilla::net::BackgroundFileSaverStreamListenerConstructor }, 1.852 + { &kNS_SYNCSTREAMLISTENER_CID, false, nullptr, nsSyncStreamListenerConstructor }, 1.853 + { &kNS_REQUESTOBSERVERPROXY_CID, false, nullptr, nsRequestObserverProxyConstructor }, 1.854 + { &kNS_SIMPLESTREAMLISTENER_CID, false, nullptr, nsSimpleStreamListenerConstructor }, 1.855 + { &kNS_STREAMLISTENERTEE_CID, false, nullptr, nsStreamListenerTeeConstructor }, 1.856 + { &kNS_LOADGROUP_CID, false, nullptr, nsLoadGroupConstructor }, 1.857 + { &kNS_LOCALFILEINPUTSTREAM_CID, false, nullptr, nsFileInputStream::Create }, 1.858 + { &kNS_LOCALFILEOUTPUTSTREAM_CID, false, nullptr, nsFileOutputStream::Create }, 1.859 + { &kNS_PARTIALLOCALFILEINPUTSTREAM_CID, false, nullptr, nsPartialFileInputStream::Create }, 1.860 + { &kNS_ATOMICLOCALFILEOUTPUTSTREAM_CID, false, nullptr, nsAtomicFileOutputStreamConstructor }, 1.861 + { &kNS_SAFELOCALFILEOUTPUTSTREAM_CID, false, nullptr, nsSafeFileOutputStreamConstructor }, 1.862 + { &kNS_LOCALFILESTREAM_CID, false, nullptr, nsFileStreamConstructor }, 1.863 + { &kNS_URICHECKER_CID, false, nullptr, nsURICheckerConstructor }, 1.864 + { &kNS_INCREMENTALDOWNLOAD_CID, false, nullptr, net_NewIncrementalDownload }, 1.865 + { &kNS_STDURLPARSER_CID, false, nullptr, nsStdURLParserConstructor }, 1.866 + { &kNS_NOAUTHURLPARSER_CID, false, nullptr, nsNoAuthURLParserConstructor }, 1.867 + { &kNS_AUTHURLPARSER_CID, false, nullptr, nsAuthURLParserConstructor }, 1.868 + { &kNS_STANDARDURL_CID, false, nullptr, nsStandardURLConstructor }, 1.869 + { &kNS_ARRAYBUFFERINPUTSTREAM_CID, false, nullptr, ArrayBufferInputStreamConstructor }, 1.870 + { &kNS_BUFFEREDINPUTSTREAM_CID, false, nullptr, nsBufferedInputStream::Create }, 1.871 + { &kNS_BUFFEREDOUTPUTSTREAM_CID, false, nullptr, nsBufferedOutputStream::Create }, 1.872 + { &kNS_MIMEINPUTSTREAM_CID, false, nullptr, nsMIMEInputStreamConstructor }, 1.873 + { &kNS_PROTOCOLPROXYSERVICE_CID, true, nullptr, nsProtocolProxyServiceConstructor }, 1.874 + { &kNS_STREAMCONVERTERSERVICE_CID, false, nullptr, CreateNewStreamConvServiceFactory }, 1.875 + { &kNS_DASHBOARD_CID, false, nullptr, mozilla::net::DashboardConstructor }, 1.876 +#ifdef NECKO_PROTOCOL_ftp 1.877 + { &kNS_FTPDIRLISTINGCONVERTER_CID, false, nullptr, CreateNewFTPDirListingConv }, 1.878 +#endif 1.879 + { &kNS_NSINDEXEDTOHTMLCONVERTER_CID, false, nullptr, nsIndexedToHTML::Create }, 1.880 + { &kNS_DIRINDEXPARSER_CID, false, nullptr, nsDirIndexParserConstructor }, 1.881 + { &kNS_MULTIMIXEDCONVERTER_CID, false, nullptr, CreateNewMultiMixedConvFactory }, 1.882 + { &kNS_UNKNOWNDECODER_CID, false, nullptr, CreateNewUnknownDecoderFactory }, 1.883 + { &kNS_BINARYDETECTOR_CID, false, nullptr, CreateNewBinaryDetectorFactory }, 1.884 + { &kNS_HTTPCOMPRESSCONVERTER_CID, false, nullptr, CreateNewHTTPCompressConvFactory }, 1.885 + { &kNS_NSTXTTOHTMLCONVERTER_CID, false, nullptr, CreateNewNSTXTToHTMLConvFactory }, 1.886 +#ifdef BUILD_BINHEX_DECODER 1.887 + { &kNS_BINHEXDECODER_CID, false, nullptr, nsBinHexDecoderConstructor }, 1.888 +#endif 1.889 + { &kMOZITXTTOHTMLCONV_CID, false, nullptr, CreateNewTXTToHTMLConvFactory }, 1.890 + { &kNS_DIRINDEX_CID, false, nullptr, nsDirIndexConstructor }, 1.891 + { &kNS_MIMEHEADERPARAM_CID, false, nullptr, nsMIMEHeaderParamImplConstructor }, 1.892 +#ifdef NECKO_PROTOCOL_file 1.893 + { &kNS_FILEPROTOCOLHANDLER_CID, false, nullptr, nsFileProtocolHandlerConstructor }, 1.894 +#endif 1.895 +#ifdef NECKO_PROTOCOL_http 1.896 + { &kNS_HTTPPROTOCOLHANDLER_CID, false, nullptr, mozilla::net::nsHttpHandlerConstructor }, 1.897 + { &kNS_HTTPSPROTOCOLHANDLER_CID, false, nullptr, mozilla::net::nsHttpsHandlerConstructor }, 1.898 + { &kNS_HTTPBASICAUTH_CID, false, nullptr, mozilla::net::nsHttpBasicAuthConstructor }, 1.899 + { &kNS_HTTPDIGESTAUTH_CID, false, nullptr, mozilla::net::nsHttpDigestAuthConstructor }, 1.900 + { &kNS_HTTPNTLMAUTH_CID, false, nullptr, mozilla::net::nsHttpNTLMAuthConstructor }, 1.901 + { &kNS_HTTPAUTHMANAGER_CID, false, nullptr, mozilla::net::nsHttpAuthManagerConstructor }, 1.902 + { &kNS_HTTPCHANNELAUTHPROVIDER_CID, false, nullptr, mozilla::net::nsHttpChannelAuthProviderConstructor }, 1.903 + { &kNS_HTTPACTIVITYDISTRIBUTOR_CID, false, nullptr, mozilla::net::nsHttpActivityDistributorConstructor }, 1.904 +#endif // !NECKO_PROTOCOL_http 1.905 +#ifdef NECKO_PROTOCOL_ftp 1.906 + { &kNS_FTPPROTOCOLHANDLER_CID, false, nullptr, nsFtpProtocolHandlerConstructor }, 1.907 +#endif 1.908 +#ifdef NECKO_PROTOCOL_res 1.909 + { &kNS_RESPROTOCOLHANDLER_CID, false, nullptr, nsResProtocolHandlerConstructor }, 1.910 + { &kNS_RESURL_CID, false, nullptr, nsResURLConstructor }, 1.911 +#endif 1.912 + { &kNS_ABOUTPROTOCOLHANDLER_CID, false, nullptr, nsAboutProtocolHandlerConstructor }, 1.913 + { &kNS_SAFEABOUTPROTOCOLHANDLER_CID, false, nullptr, nsSafeAboutProtocolHandlerConstructor }, 1.914 + { &kNS_ABOUT_BLANK_MODULE_CID, false, nullptr, nsAboutBlank::Create }, 1.915 + { &kNS_NESTEDABOUTURI_CID, false, nullptr, nsNestedAboutURIConstructor }, 1.916 +#ifdef NECKO_PROTOCOL_about 1.917 +#ifdef NS_BUILD_REFCNT_LOGGING 1.918 + { &kNS_ABOUT_BLOAT_MODULE_CID, false, nullptr, nsAboutBloat::Create }, 1.919 +#endif 1.920 + { &kNS_ABOUT_CACHE_MODULE_CID, false, nullptr, nsAboutCache::Create }, 1.921 + { &kNS_ABOUT_CACHE_ENTRY_MODULE_CID, false, nullptr, nsAboutCacheEntryConstructor }, 1.922 +#endif 1.923 + { &kNS_SOCKSSOCKETPROVIDER_CID, false, nullptr, nsSOCKSSocketProvider::CreateV5 }, 1.924 + { &kNS_SOCKS4SOCKETPROVIDER_CID, false, nullptr, nsSOCKSSocketProvider::CreateV4 }, 1.925 + { &kNS_UDPSOCKETPROVIDER_CID, false, nullptr, nsUDPSocketProviderConstructor }, 1.926 + { &kNS_CACHESERVICE_CID, false, nullptr, nsCacheService::Create }, 1.927 + { &kNS_APPLICATIONCACHESERVICE_CID, false, nullptr, nsApplicationCacheServiceConstructor }, 1.928 + { &kNS_APPLICATIONCACHENAMESPACE_CID, false, nullptr, nsApplicationCacheNamespaceConstructor }, 1.929 + { &kNS_APPLICATIONCACHE_CID, false, nullptr, nsApplicationCacheConstructor }, 1.930 + { &kNS_APPPROTOCOLHANDLER_CID, false, nullptr, AppProtocolHandler::Create }, 1.931 +#ifdef NECKO_COOKIES 1.932 + { &kNS_COOKIEMANAGER_CID, false, nullptr, nsICookieServiceConstructor }, 1.933 + { &kNS_COOKIESERVICE_CID, false, nullptr, nsICookieServiceConstructor }, 1.934 +#endif 1.935 +#ifdef NECKO_WIFI 1.936 + { &kNS_WIFI_MONITOR_COMPONENT_CID, false, nullptr, nsWifiMonitorConstructor }, 1.937 +#endif 1.938 +#ifdef NECKO_PROTOCOL_data 1.939 + { &kNS_DATAPROTOCOLHANDLER_CID, false, nullptr, nsDataHandler::Create }, 1.940 +#endif 1.941 +#ifdef NECKO_PROTOCOL_device 1.942 + { &kNS_DEVICEPROTOCOLHANDLER_CID, false, nullptr, nsDeviceProtocolHandlerConstructor}, 1.943 +#endif 1.944 +#ifdef NECKO_PROTOCOL_viewsource 1.945 + { &kNS_VIEWSOURCEHANDLER_CID, false, nullptr, nsViewSourceHandlerConstructor }, 1.946 +#endif 1.947 +#ifdef NECKO_PROTOCOL_wyciwyg 1.948 + { &kNS_WYCIWYGPROTOCOLHANDLER_CID, false, nullptr, nsWyciwygProtocolHandlerConstructor }, 1.949 +#endif 1.950 +#ifdef NECKO_PROTOCOL_websocket 1.951 + { &kNS_WEBSOCKETPROTOCOLHANDLER_CID, false, nullptr, 1.952 + mozilla::net::WebSocketChannelConstructor }, 1.953 + { &kNS_WEBSOCKETSSLPROTOCOLHANDLER_CID, false, nullptr, 1.954 + mozilla::net::WebSocketSSLChannelConstructor }, 1.955 +#endif 1.956 +#ifdef NECKO_PROTOCOL_rtsp 1.957 + { &kNS_RTSPPROTOCOLHANDLER_CID, false, nullptr, mozilla::net::RtspHandlerConstructor }, 1.958 +#endif 1.959 +#if defined(XP_WIN) 1.960 + { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsNotifyAddrListenerConstructor }, 1.961 +#elif defined(MOZ_WIDGET_COCOA) 1.962 + { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsNetworkLinkServiceConstructor }, 1.963 +#elif defined(MOZ_ENABLE_QTNETWORK) 1.964 + { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsQtNetworkLinkServiceConstructor }, 1.965 +#elif defined(MOZ_WIDGET_ANDROID) 1.966 + { &kNS_NETWORK_LINK_SERVICE_CID, false, nullptr, nsAndroidNetworkLinkServiceConstructor }, 1.967 +#endif 1.968 + { &kNS_SERIALIZATION_HELPER_CID, false, nullptr, nsSerializationHelperConstructor }, 1.969 + { &kNS_REDIRECTCHANNELREGISTRAR_CID, false, nullptr, RedirectChannelRegistrarConstructor }, 1.970 + { &kNS_CACHE_STORAGE_SERVICE_CID, false, nullptr, CacheStorageServiceConstructor }, 1.971 + { &kNS_NETWORKSEER_CID, false, nullptr, mozilla::net::Seer::Create }, 1.972 + { nullptr } 1.973 +}; 1.974 + 1.975 +static const mozilla::Module::ContractIDEntry kNeckoContracts[] = { 1.976 + { NS_IOSERVICE_CONTRACTID, &kNS_IOSERVICE_CID }, 1.977 + { NS_NETUTIL_CONTRACTID, &kNS_IOSERVICE_CID }, 1.978 + { NS_STREAMTRANSPORTSERVICE_CONTRACTID, &kNS_STREAMTRANSPORTSERVICE_CID }, 1.979 + { NS_SOCKETTRANSPORTSERVICE_CONTRACTID, &kNS_SOCKETTRANSPORTSERVICE_CID }, 1.980 + { NS_SERVERSOCKET_CONTRACTID, &kNS_SERVERSOCKET_CID }, 1.981 + { NS_UDPSOCKET_CONTRACTID, &kNS_UDPSOCKET_CID }, 1.982 + { NS_SOCKETPROVIDERSERVICE_CONTRACTID, &kNS_SOCKETPROVIDERSERVICE_CID }, 1.983 + { NS_DNSSERVICE_CONTRACTID, &kNS_DNSSERVICE_CID }, 1.984 + { NS_IDNSERVICE_CONTRACTID, &kNS_IDNSERVICE_CID }, 1.985 + { NS_EFFECTIVETLDSERVICE_CONTRACTID, &kNS_EFFECTIVETLDSERVICE_CID }, 1.986 + { NS_SIMPLEURI_CONTRACTID, &kNS_SIMPLEURI_CID }, 1.987 + { NS_ASYNCSTREAMCOPIER_CONTRACTID, &kNS_ASYNCSTREAMCOPIER_CID }, 1.988 + { NS_INPUTSTREAMPUMP_CONTRACTID, &kNS_INPUTSTREAMPUMP_CID }, 1.989 + { NS_INPUTSTREAMCHANNEL_CONTRACTID, &kNS_INPUTSTREAMCHANNEL_CID }, 1.990 + { NS_STREAMLOADER_CONTRACTID, &kNS_STREAMLOADER_CID }, 1.991 + { NS_UNICHARSTREAMLOADER_CONTRACTID, &kNS_UNICHARSTREAMLOADER_CID }, 1.992 + { NS_DOWNLOADER_CONTRACTID, &kNS_DOWNLOADER_CID }, 1.993 + { NS_BACKGROUNDFILESAVEROUTPUTSTREAM_CONTRACTID, &kNS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID }, 1.994 + { NS_BACKGROUNDFILESAVERSTREAMLISTENER_CONTRACTID, &kNS_BACKGROUNDFILESAVERSTREAMLISTENER_CID }, 1.995 + { NS_SYNCSTREAMLISTENER_CONTRACTID, &kNS_SYNCSTREAMLISTENER_CID }, 1.996 + { NS_REQUESTOBSERVERPROXY_CONTRACTID, &kNS_REQUESTOBSERVERPROXY_CID }, 1.997 + { NS_SIMPLESTREAMLISTENER_CONTRACTID, &kNS_SIMPLESTREAMLISTENER_CID }, 1.998 + { NS_STREAMLISTENERTEE_CONTRACTID, &kNS_STREAMLISTENERTEE_CID }, 1.999 + { NS_LOADGROUP_CONTRACTID, &kNS_LOADGROUP_CID }, 1.1000 + { NS_LOCALFILEINPUTSTREAM_CONTRACTID, &kNS_LOCALFILEINPUTSTREAM_CID }, 1.1001 + { NS_LOCALFILEOUTPUTSTREAM_CONTRACTID, &kNS_LOCALFILEOUTPUTSTREAM_CID }, 1.1002 + { NS_PARTIALLOCALFILEINPUTSTREAM_CONTRACTID, &kNS_PARTIALLOCALFILEINPUTSTREAM_CID }, 1.1003 + { NS_ATOMICLOCALFILEOUTPUTSTREAM_CONTRACTID, &kNS_ATOMICLOCALFILEOUTPUTSTREAM_CID }, 1.1004 + { NS_SAFELOCALFILEOUTPUTSTREAM_CONTRACTID, &kNS_SAFELOCALFILEOUTPUTSTREAM_CID }, 1.1005 + { NS_LOCALFILESTREAM_CONTRACTID, &kNS_LOCALFILESTREAM_CID }, 1.1006 + { NS_URICHECKER_CONTRACT_ID, &kNS_URICHECKER_CID }, 1.1007 + { NS_INCREMENTALDOWNLOAD_CONTRACTID, &kNS_INCREMENTALDOWNLOAD_CID }, 1.1008 + { NS_STDURLPARSER_CONTRACTID, &kNS_STDURLPARSER_CID }, 1.1009 + { NS_NOAUTHURLPARSER_CONTRACTID, &kNS_NOAUTHURLPARSER_CID }, 1.1010 + { NS_AUTHURLPARSER_CONTRACTID, &kNS_AUTHURLPARSER_CID }, 1.1011 + { NS_STANDARDURL_CONTRACTID, &kNS_STANDARDURL_CID }, 1.1012 + { NS_ARRAYBUFFERINPUTSTREAM_CONTRACTID, &kNS_ARRAYBUFFERINPUTSTREAM_CID }, 1.1013 + { NS_BUFFEREDINPUTSTREAM_CONTRACTID, &kNS_BUFFEREDINPUTSTREAM_CID }, 1.1014 + { NS_BUFFEREDOUTPUTSTREAM_CONTRACTID, &kNS_BUFFEREDOUTPUTSTREAM_CID }, 1.1015 + { NS_MIMEINPUTSTREAM_CONTRACTID, &kNS_MIMEINPUTSTREAM_CID }, 1.1016 + { NS_PROTOCOLPROXYSERVICE_CONTRACTID, &kNS_PROTOCOLPROXYSERVICE_CID }, 1.1017 + { NS_STREAMCONVERTERSERVICE_CONTRACTID, &kNS_STREAMCONVERTERSERVICE_CID }, 1.1018 + { NS_DASHBOARD_CONTRACTID, &kNS_DASHBOARD_CID }, 1.1019 +#ifdef NECKO_PROTOCOL_ftp 1.1020 + { NS_ISTREAMCONVERTER_KEY FTP_TO_INDEX, &kNS_FTPDIRLISTINGCONVERTER_CID }, 1.1021 +#endif 1.1022 + { NS_ISTREAMCONVERTER_KEY INDEX_TO_HTML, &kNS_NSINDEXEDTOHTMLCONVERTER_CID }, 1.1023 + { NS_DIRINDEXPARSER_CONTRACTID, &kNS_DIRINDEXPARSER_CID }, 1.1024 + { NS_ISTREAMCONVERTER_KEY MULTI_MIXED_X, &kNS_MULTIMIXEDCONVERTER_CID }, 1.1025 + { NS_ISTREAMCONVERTER_KEY MULTI_BYTERANGES, &kNS_MULTIMIXEDCONVERTER_CID }, 1.1026 + { NS_ISTREAMCONVERTER_KEY MULTI_MIXED, &kNS_MULTIMIXEDCONVERTER_CID }, 1.1027 + { NS_ISTREAMCONVERTER_KEY UNKNOWN_CONTENT, &kNS_UNKNOWNDECODER_CID }, 1.1028 + { NS_GENERIC_CONTENT_SNIFFER, &kNS_UNKNOWNDECODER_CID }, 1.1029 + { NS_BINARYDETECTOR_CONTRACTID, &kNS_BINARYDETECTOR_CID }, 1.1030 + { NS_ISTREAMCONVERTER_KEY GZIP_TO_UNCOMPRESSED, &kNS_HTTPCOMPRESSCONVERTER_CID }, 1.1031 + { NS_ISTREAMCONVERTER_KEY XGZIP_TO_UNCOMPRESSED, &kNS_HTTPCOMPRESSCONVERTER_CID }, 1.1032 + { NS_ISTREAMCONVERTER_KEY COMPRESS_TO_UNCOMPRESSED, &kNS_HTTPCOMPRESSCONVERTER_CID }, 1.1033 + { NS_ISTREAMCONVERTER_KEY XCOMPRESS_TO_UNCOMPRESSED, &kNS_HTTPCOMPRESSCONVERTER_CID }, 1.1034 + { NS_ISTREAMCONVERTER_KEY DEFLATE_TO_UNCOMPRESSED, &kNS_HTTPCOMPRESSCONVERTER_CID }, 1.1035 + { NS_ISTREAMCONVERTER_KEY PLAIN_TO_HTML, &kNS_NSTXTTOHTMLCONVERTER_CID }, 1.1036 +#ifdef BUILD_BINHEX_DECODER 1.1037 + { NS_ISTREAMCONVERTER_KEY BINHEX_TO_WILD, &kNS_BINHEXDECODER_CID }, 1.1038 +#endif 1.1039 + { MOZ_TXTTOHTMLCONV_CONTRACTID, &kMOZITXTTOHTMLCONV_CID }, 1.1040 + { "@mozilla.org/dirIndex;1", &kNS_DIRINDEX_CID }, 1.1041 + { NS_MIMEHEADERPARAM_CONTRACTID, &kNS_MIMEHEADERPARAM_CID }, 1.1042 +#ifdef NECKO_PROTOCOL_file 1.1043 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "file", &kNS_FILEPROTOCOLHANDLER_CID }, 1.1044 +#endif 1.1045 +#ifdef NECKO_PROTOCOL_http 1.1046 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &kNS_HTTPPROTOCOLHANDLER_CID }, 1.1047 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "https", &kNS_HTTPSPROTOCOLHANDLER_CID }, 1.1048 + { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "basic", &kNS_HTTPBASICAUTH_CID }, 1.1049 + { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "digest", &kNS_HTTPDIGESTAUTH_CID }, 1.1050 + { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX "ntlm", &kNS_HTTPNTLMAUTH_CID }, 1.1051 + { NS_HTTPAUTHMANAGER_CONTRACTID, &kNS_HTTPAUTHMANAGER_CID }, 1.1052 + { NS_HTTPCHANNELAUTHPROVIDER_CONTRACTID, &kNS_HTTPCHANNELAUTHPROVIDER_CID }, 1.1053 + { NS_HTTPACTIVITYDISTRIBUTOR_CONTRACTID, &kNS_HTTPACTIVITYDISTRIBUTOR_CID }, 1.1054 +#endif // !NECKO_PROTOCOL_http 1.1055 +#ifdef NECKO_PROTOCOL_ftp 1.1056 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "ftp", &kNS_FTPPROTOCOLHANDLER_CID }, 1.1057 +#endif 1.1058 +#ifdef NECKO_PROTOCOL_res 1.1059 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "resource", &kNS_RESPROTOCOLHANDLER_CID }, 1.1060 +#endif 1.1061 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "about", &kNS_ABOUTPROTOCOLHANDLER_CID }, 1.1062 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "moz-safe-about", &kNS_SAFEABOUTPROTOCOLHANDLER_CID }, 1.1063 + { NS_ABOUT_MODULE_CONTRACTID_PREFIX "blank", &kNS_ABOUT_BLANK_MODULE_CID }, 1.1064 +#ifdef NECKO_PROTOCOL_about 1.1065 +#ifdef NS_BUILD_REFCNT_LOGGING 1.1066 + { NS_ABOUT_MODULE_CONTRACTID_PREFIX "bloat", &kNS_ABOUT_BLOAT_MODULE_CID }, 1.1067 +#endif 1.1068 + { NS_ABOUT_MODULE_CONTRACTID_PREFIX "cache", &kNS_ABOUT_CACHE_MODULE_CID }, 1.1069 + { NS_ABOUT_MODULE_CONTRACTID_PREFIX "cache-entry", &kNS_ABOUT_CACHE_ENTRY_MODULE_CID }, 1.1070 +#endif 1.1071 + { NS_NETWORK_SOCKET_CONTRACTID_PREFIX "socks", &kNS_SOCKSSOCKETPROVIDER_CID }, 1.1072 + { NS_NETWORK_SOCKET_CONTRACTID_PREFIX "socks4", &kNS_SOCKS4SOCKETPROVIDER_CID }, 1.1073 + { NS_NETWORK_SOCKET_CONTRACTID_PREFIX "udp", &kNS_UDPSOCKETPROVIDER_CID }, 1.1074 + { NS_CACHESERVICE_CONTRACTID, &kNS_CACHESERVICE_CID }, 1.1075 + { NS_APPLICATIONCACHESERVICE_CONTRACTID, &kNS_APPLICATIONCACHESERVICE_CID }, 1.1076 + { NS_APPLICATIONCACHENAMESPACE_CONTRACTID, &kNS_APPLICATIONCACHENAMESPACE_CID }, 1.1077 + { NS_APPLICATIONCACHE_CONTRACTID, &kNS_APPLICATIONCACHE_CID }, 1.1078 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "app", &kNS_APPPROTOCOLHANDLER_CID }, 1.1079 +#ifdef NECKO_COOKIES 1.1080 + { NS_COOKIEMANAGER_CONTRACTID, &kNS_COOKIEMANAGER_CID }, 1.1081 + { NS_COOKIESERVICE_CONTRACTID, &kNS_COOKIESERVICE_CID }, 1.1082 +#endif 1.1083 +#ifdef NECKO_WIFI 1.1084 + { NS_WIFI_MONITOR_CONTRACTID, &kNS_WIFI_MONITOR_COMPONENT_CID }, 1.1085 +#endif 1.1086 +#ifdef NECKO_PROTOCOL_data 1.1087 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "data", &kNS_DATAPROTOCOLHANDLER_CID }, 1.1088 +#endif 1.1089 +#ifdef NECKO_PROTOCOL_device 1.1090 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "moz-device", &kNS_DEVICEPROTOCOLHANDLER_CID }, 1.1091 +#endif 1.1092 +#ifdef NECKO_PROTOCOL_viewsource 1.1093 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "view-source", &kNS_VIEWSOURCEHANDLER_CID }, 1.1094 +#endif 1.1095 +#ifdef NECKO_PROTOCOL_wyciwyg 1.1096 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "wyciwyg", &kNS_WYCIWYGPROTOCOLHANDLER_CID }, 1.1097 +#endif 1.1098 +#ifdef NECKO_PROTOCOL_websocket 1.1099 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "ws", &kNS_WEBSOCKETPROTOCOLHANDLER_CID }, 1.1100 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "wss", &kNS_WEBSOCKETSSLPROTOCOLHANDLER_CID }, 1.1101 +#endif 1.1102 +#ifdef NECKO_PROTOCOL_rtsp 1.1103 + { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "rtsp", &kNS_RTSPPROTOCOLHANDLER_CID }, 1.1104 +#endif 1.1105 +#if defined(XP_WIN) 1.1106 + { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID }, 1.1107 +#elif defined(MOZ_WIDGET_COCOA) 1.1108 + { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID }, 1.1109 +#elif defined(MOZ_ENABLE_QTNETWORK) 1.1110 + { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID }, 1.1111 +#elif defined(MOZ_WIDGET_ANDROID) 1.1112 + { NS_NETWORK_LINK_SERVICE_CONTRACTID, &kNS_NETWORK_LINK_SERVICE_CID }, 1.1113 +#endif 1.1114 + { NS_SERIALIZATION_HELPER_CONTRACTID, &kNS_SERIALIZATION_HELPER_CID }, 1.1115 + { NS_REDIRECTCHANNELREGISTRAR_CONTRACTID, &kNS_REDIRECTCHANNELREGISTRAR_CID }, 1.1116 + { NS_CACHE_STORAGE_SERVICE_CONTRACTID, &kNS_CACHE_STORAGE_SERVICE_CID }, 1.1117 + { NS_NETWORKSEER_CONTRACTID, &kNS_NETWORKSEER_CID }, 1.1118 + { nullptr } 1.1119 +}; 1.1120 + 1.1121 +static const mozilla::Module kNeckoModule = { 1.1122 + mozilla::Module::kVersion, 1.1123 + kNeckoCIDs, 1.1124 + kNeckoContracts, 1.1125 + kNeckoCategories, 1.1126 + nullptr, 1.1127 + nsNetStartup, 1.1128 + nsNetShutdown 1.1129 +}; 1.1130 + 1.1131 +NSMODULE_DEFN(necko) = &kNeckoModule;