1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* vim: set sw=4 ts=8 et tw=80 : */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #include "necko-config.h"
9 #define ALLOW_LATE_HTTPLOG_H_INCLUDE 1
10 #include "base/basictypes.h"
13 #include "nsIClassInfoImpl.h"
14 #include "mozilla/ModuleUtils.h"
15 #include "nsIComponentManager.h"
16 #include "nsIServiceManager.h"
17 #include "nsICategoryManager.h"
18 #include "nsSocketProviderService.h"
20 #include "nsSimpleURI.h"
21 #include "nsSimpleNestedURI.h"
22 #include "nsLoadGroup.h"
23 #include "nsStreamLoader.h"
24 #include "nsUnicharStreamLoader.h"
25 #include "nsFileStreams.h"
26 #include "nsBufferedStreams.h"
27 #include "nsMIMEInputStream.h"
28 #include "nsSOCKSSocketProvider.h"
29 #include "nsCacheService.h"
30 #include "nsDiskCacheDeviceSQL.h"
31 #include "nsApplicationCache.h"
32 #include "nsApplicationCacheService.h"
33 #include "nsMimeTypes.h"
34 #include "nsNetStrings.h"
35 #include "nsDNSPrefetch.h"
36 #include "nsAboutProtocolHandler.h"
37 #include "nsXULAppAPI.h"
38 #include "nsCategoryCache.h"
39 #include "nsIContentSniffer.h"
40 #include "Predictor.h"
41 #include "nsNetUtil.h"
42 #include "nsIThreadPool.h"
43 #include "mozilla/net/NeckoChild.h"
48 #define BUILD_BINHEX_DECODER 1
51 typedef nsCategoryCache
<nsIContentSniffer
> ContentSnifferCache
;
52 ContentSnifferCache
* gNetSniffers
= nullptr;
53 ContentSnifferCache
* gDataSniffers
= nullptr;
55 ///////////////////////////////////////////////////////////////////////////////
57 #include "nsIOService.h"
58 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIOService
, nsIOService::GetInstance
)
60 #include "nsDNSService2.h"
61 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsIDNSService
,
62 nsDNSService::GetXPCOMSingleton
)
64 #include "nsProtocolProxyService.h"
65 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsProtocolProxyService
, Init
)
67 #include "nsStreamTransportService.h"
68 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsStreamTransportService
, Init
)
70 #include "nsSocketTransportService2.h"
73 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSocketTransportService
, Init
)
75 #include "nsServerSocket.h"
76 NS_GENERIC_FACTORY_CONSTRUCTOR(nsServerSocket
)
78 #include "nsUDPSocket.h"
79 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUDPSocket
)
81 #include "nsUDPSocketProvider.h"
82 NS_GENERIC_FACTORY_CONSTRUCTOR(nsUDPSocketProvider
)
84 #include "nsAsyncStreamCopier.h"
85 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAsyncStreamCopier
)
87 #include "nsInputStreamPump.h"
88 NS_GENERIC_FACTORY_CONSTRUCTOR(nsInputStreamPump
)
90 #include "nsInputStreamChannel.h"
91 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsInputStreamChannel
, Init
)
93 #include "nsDownloader.h"
94 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDownloader
)
96 #include "BackgroundFileSaver.h"
99 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(BackgroundFileSaverOutputStream
, Init
)
100 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(BackgroundFileSaverStreamListener
, Init
)
102 } // namespace mozilla
104 #include "nsSyncStreamListener.h"
105 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsSyncStreamListener
, Init
)
107 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAtomicFileOutputStream
)
109 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeFileOutputStream
)
111 NS_GENERIC_FACTORY_CONSTRUCTOR(nsFileStream
)
113 NS_GENERIC_AGGREGATED_CONSTRUCTOR_INIT(nsLoadGroup
, Init
)
115 #include "ArrayBufferInputStream.h"
116 NS_GENERIC_FACTORY_CONSTRUCTOR(ArrayBufferInputStream
)
118 #include "nsEffectiveTLDService.h"
119 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsEffectiveTLDService
, Init
)
121 #include "nsSerializationHelper.h"
122 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSerializationHelper
)
124 #include "RedirectChannelRegistrar.h"
125 typedef mozilla::net::RedirectChannelRegistrar RedirectChannelRegistrar
;
126 NS_GENERIC_FACTORY_CONSTRUCTOR(RedirectChannelRegistrar
)
128 #include "CacheStorageService.h"
129 typedef mozilla::net::CacheStorageService CacheStorageService
;
130 NS_GENERIC_FACTORY_CONSTRUCTOR(CacheStorageService
)
132 ///////////////////////////////////////////////////////////////////////////////
135 net_NewIncrementalDownload(nsISupports
*, const nsIID
&, void **);
137 #define NS_INCREMENTALDOWNLOAD_CID \
138 { /* a62af1ba-79b3-4896-8aaf-b148bfce4280 */ \
142 {0x8a, 0xaf, 0xb1, 0x48, 0xbf, 0xce, 0x42, 0x80} \
145 ///////////////////////////////////////////////////////////////////////////////
147 #include "nsMIMEHeaderParamImpl.h"
149 NS_GENERIC_FACTORY_CONSTRUCTOR(nsMIMEHeaderParamImpl
)
150 ///////////////////////////////////////////////////////////////////////////////
152 #include "nsRequestObserverProxy.h"
153 #include "nsSimpleStreamListener.h"
154 #include "nsDirIndexParser.h"
155 #include "nsDirIndex.h"
157 NS_GENERIC_FACTORY_CONSTRUCTOR(nsRequestObserverProxy
)
158 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleStreamListener
)
159 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsDirIndexParser
, Init
)
160 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDirIndex
)
162 ///////////////////////////////////////////////////////////////////////////////
164 #include "nsStreamListenerTee.h"
165 NS_GENERIC_FACTORY_CONSTRUCTOR(nsStreamListenerTee
)
167 ///////////////////////////////////////////////////////////////////////////////
170 #include "nsCookieService.h"
171 NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(nsICookieService
,
172 nsCookieService::GetXPCOMSingleton
)
175 ///////////////////////////////////////////////////////////////////////////////
178 #include "nsWifiMonitor.h"
181 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWifiMonitor
)
185 ///////////////////////////////////////////////////////////////////////////////
187 ///////////////////////////////////////////////////////////////////////////////
189 // about:blank is mandatory
190 #include "nsAboutProtocolHandler.h"
191 #include "nsAboutBlank.h"
192 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAboutProtocolHandler
)
193 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSafeAboutProtocolHandler
)
194 NS_GENERIC_FACTORY_CONSTRUCTOR(nsNestedAboutURI
)
196 #ifdef NECKO_PROTOCOL_about
198 #ifdef NS_BUILD_REFCNT_LOGGING
199 #include "nsAboutBloat.h"
201 #include "nsAboutCache.h"
202 #include "nsAboutCacheEntry.h"
203 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAboutCacheEntry
)
206 NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCacheService
)
207 NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCacheNamespace
)
208 NS_GENERIC_FACTORY_CONSTRUCTOR(nsApplicationCache
)
210 #ifdef NECKO_PROTOCOL_file
212 #include "nsFileProtocolHandler.h"
213 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFileProtocolHandler
, Init
)
216 #ifdef NECKO_PROTOCOL_ftp
218 #include "nsFtpProtocolHandler.h"
219 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsFtpProtocolHandler
, Init
)
222 #ifdef NECKO_PROTOCOL_http
224 #include "nsHttpHandler.h"
227 #include "nsHttpAuthManager.h"
228 #include "nsHttpChannelAuthProvider.h"
229 #include "nsHttpBasicAuth.h"
230 #include "nsHttpDigestAuth.h"
231 #include "nsHttpNTLMAuth.h"
232 #include "nsHttpActivityDistributor.h"
237 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpNTLMAuth
)
238 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpHandler
, Init
)
239 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpsHandler
, Init
)
240 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsHttpAuthManager
, Init
)
241 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpChannelAuthProvider
)
242 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpActivityDistributor
)
243 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpBasicAuth
)
244 NS_GENERIC_FACTORY_CONSTRUCTOR(nsHttpDigestAuth
)
247 #endif // !NECKO_PROTOCOL_http
249 #include "mozilla/net/Dashboard.h"
252 NS_GENERIC_FACTORY_CONSTRUCTOR(Dashboard
)
255 #include "AppProtocolHandler.h"
257 #ifdef NECKO_PROTOCOL_res
259 #include "nsResProtocolHandler.h"
260 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsResProtocolHandler
, Init
)
261 NS_GENERIC_FACTORY_CONSTRUCTOR(nsResURL
)
264 #ifdef NECKO_PROTOCOL_device
265 #include "nsDeviceProtocolHandler.h"
266 NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceProtocolHandler
)
269 #ifdef NECKO_PROTOCOL_viewsource
270 #include "nsViewSourceHandler.h"
271 NS_GENERIC_FACTORY_CONSTRUCTOR(nsViewSourceHandler
)
274 #ifdef NECKO_PROTOCOL_data
275 #include "nsDataHandler.h"
278 #ifdef NECKO_PROTOCOL_wyciwyg
279 #include "nsWyciwygProtocolHandler.h"
280 NS_GENERIC_FACTORY_CONSTRUCTOR(nsWyciwygProtocolHandler
)
283 #ifdef NECKO_PROTOCOL_websocket
284 #include "WebSocketChannel.h"
285 #include "WebSocketChannelChild.h"
288 static BaseWebSocketChannel
*
289 WebSocketChannelConstructor(bool aSecure
)
291 if (IsNeckoChild()) {
292 return new WebSocketChannelChild(aSecure
);
296 return new WebSocketSSLChannel
;
298 return new WebSocketChannel
;
302 #define WEB_SOCKET_HANDLER_CONSTRUCTOR(type, secure) \
304 type##Constructor(nsISupports *aOuter, REFNSIID aIID, \
309 BaseWebSocketChannel * inst; \
311 *aResult = nullptr; \
312 if (nullptr != aOuter) { \
313 rv = NS_ERROR_NO_AGGREGATION; \
316 inst = WebSocketChannelConstructor(secure); \
318 rv = inst->QueryInterface(aIID, aResult); \
323 WEB_SOCKET_HANDLER_CONSTRUCTOR(WebSocketChannel
, false)
324 WEB_SOCKET_HANDLER_CONSTRUCTOR(WebSocketSSLChannel
, true)
325 #undef WEB_SOCKET_HANDLER_CONSTRUCTOR
326 } // namespace mozilla::net
327 } // namespace mozilla
330 #ifdef NECKO_PROTOCOL_rtsp
331 #include "RtspHandler.h"
334 NS_GENERIC_FACTORY_CONSTRUCTOR(RtspHandler
)
335 } // namespace mozilla::net
336 } // namespace mozilla
339 ///////////////////////////////////////////////////////////////////////////////
341 #include "nsURIChecker.h"
342 NS_GENERIC_FACTORY_CONSTRUCTOR(nsURIChecker
)
344 ///////////////////////////////////////////////////////////////////////////////
346 #include "nsURLParsers.h"
347 NS_GENERIC_FACTORY_CONSTRUCTOR(nsNoAuthURLParser
)
348 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAuthURLParser
)
349 NS_GENERIC_FACTORY_CONSTRUCTOR(nsStdURLParser
)
351 #include "nsStandardURL.h"
352 NS_GENERIC_FACTORY_CONSTRUCTOR(nsStandardURL
)
354 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleURI
)
356 NS_GENERIC_FACTORY_CONSTRUCTOR(nsSimpleNestedURI
)
358 ///////////////////////////////////////////////////////////////////////////////
360 #include "nsIDNService.h"
361 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsIDNService
, Init
)
363 ///////////////////////////////////////////////////////////////////////////////
365 #include "nsNotifyAddrListener.h"
366 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNotifyAddrListener
, Init
)
367 #elif defined(MOZ_WIDGET_COCOA)
368 #include "nsNetworkLinkService.h"
369 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsNetworkLinkService
, Init
)
370 #elif defined(MOZ_ENABLE_QTNETWORK)
371 #include "nsQtNetworkLinkService.h"
372 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsQtNetworkLinkService
, Init
)
373 #elif defined(MOZ_WIDGET_ANDROID)
374 #include "nsAndroidNetworkLinkService.h"
375 NS_GENERIC_FACTORY_CONSTRUCTOR(nsAndroidNetworkLinkService
)
378 ///////////////////////////////////////////////////////////////////////////////
380 #ifdef NECKO_PROTOCOL_ftp
381 #include "nsFTPDirListingConv.h"
382 nsresult
NS_NewFTPDirListingConv(nsFTPDirListingConv
** result
);
385 #include "nsStreamConverterService.h"
386 #include "nsMultiMixedConv.h"
387 #include "nsHTTPCompressConv.h"
388 #include "mozTXTToHTMLConv.h"
389 #include "nsUnknownDecoder.h"
391 #include "nsTXTToHTMLConv.h"
394 NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsTXTToHTMLConv
, Init
)
396 } // namespace mozilla
398 #include "nsIndexedToHTML.h"
399 #ifdef BUILD_BINHEX_DECODER
400 #include "nsBinHexDecoder.h"
403 nsresult
NS_NewMultiMixedConv (nsMultiMixedConv
** result
);
404 nsresult
MOZ_NewTXTToHTMLConv (mozTXTToHTMLConv
** result
);
405 nsresult
NS_NewHTTPCompressConv (nsHTTPCompressConv
** result
);
406 nsresult
NS_NewStreamConv(nsStreamConverterService
**aStreamConv
);
408 #define FTP_TO_INDEX "?from=text/ftp-dir&to=application/http-index-format"
409 #define INDEX_TO_HTML "?from=application/http-index-format&to=text/html"
410 #define MULTI_MIXED_X "?from=multipart/x-mixed-replace&to=*/*"
411 #define MULTI_MIXED "?from=multipart/mixed&to=*/*"
412 #define MULTI_BYTERANGES "?from=multipart/byteranges&to=*/*"
413 #define UNKNOWN_CONTENT "?from=" UNKNOWN_CONTENT_TYPE "&to=*/*"
414 #define GZIP_TO_UNCOMPRESSED "?from=gzip&to=uncompressed"
415 #define XGZIP_TO_UNCOMPRESSED "?from=x-gzip&to=uncompressed"
416 #define COMPRESS_TO_UNCOMPRESSED "?from=compress&to=uncompressed"
417 #define XCOMPRESS_TO_UNCOMPRESSED "?from=x-compress&to=uncompressed"
418 #define DEFLATE_TO_UNCOMPRESSED "?from=deflate&to=uncompressed"
419 #define PLAIN_TO_HTML "?from=text/plain&to=text/html"
421 #ifdef BUILD_BINHEX_DECODER
422 #define BINHEX_TO_WILD "?from=application/mac-binhex40&to=*/*"
425 static const mozilla::Module::CategoryEntry kNeckoCategories
[] = {
426 { NS_ISTREAMCONVERTER_KEY
, FTP_TO_INDEX
, "" },
427 { NS_ISTREAMCONVERTER_KEY
, INDEX_TO_HTML
, "" },
428 { NS_ISTREAMCONVERTER_KEY
, MULTI_MIXED_X
, "" },
429 { NS_ISTREAMCONVERTER_KEY
, MULTI_MIXED
, "" },
430 { NS_ISTREAMCONVERTER_KEY
, MULTI_BYTERANGES
, "" },
431 { NS_ISTREAMCONVERTER_KEY
, UNKNOWN_CONTENT
, "" },
432 { NS_ISTREAMCONVERTER_KEY
, GZIP_TO_UNCOMPRESSED
, "" },
433 { NS_ISTREAMCONVERTER_KEY
, XGZIP_TO_UNCOMPRESSED
, "" },
434 { NS_ISTREAMCONVERTER_KEY
, COMPRESS_TO_UNCOMPRESSED
, "" },
435 { NS_ISTREAMCONVERTER_KEY
, XCOMPRESS_TO_UNCOMPRESSED
, "" },
436 { NS_ISTREAMCONVERTER_KEY
, DEFLATE_TO_UNCOMPRESSED
, "" },
437 #ifdef BUILD_BINHEX_DECODER
438 { NS_ISTREAMCONVERTER_KEY
, BINHEX_TO_WILD
, "" },
440 { NS_ISTREAMCONVERTER_KEY
, PLAIN_TO_HTML
, "" },
441 NS_BINARYDETECTOR_CATEGORYENTRY
,
445 #ifdef BUILD_BINHEX_DECODER
446 NS_GENERIC_FACTORY_CONSTRUCTOR(nsBinHexDecoder
)
450 CreateNewStreamConvServiceFactory(nsISupports
* aOuter
, REFNSIID aIID
, void **aResult
)
453 return NS_ERROR_INVALID_POINTER
;
457 return NS_ERROR_NO_AGGREGATION
;
459 nsStreamConverterService
* inst
= nullptr;
460 nsresult rv
= NS_NewStreamConv(&inst
);
465 rv
= inst
->QueryInterface(aIID
, aResult
);
469 NS_RELEASE(inst
); /* get rid of extra refcnt */
473 #ifdef NECKO_PROTOCOL_ftp
475 CreateNewFTPDirListingConv(nsISupports
* aOuter
, REFNSIID aIID
, void **aResult
)
478 return NS_ERROR_INVALID_POINTER
;
482 return NS_ERROR_NO_AGGREGATION
;
484 nsFTPDirListingConv
* inst
= nullptr;
485 nsresult rv
= NS_NewFTPDirListingConv(&inst
);
490 rv
= inst
->QueryInterface(aIID
, aResult
);
494 NS_RELEASE(inst
); /* get rid of extra refcnt */
500 CreateNewMultiMixedConvFactory(nsISupports
* aOuter
, REFNSIID aIID
, void **aResult
)
503 return NS_ERROR_INVALID_POINTER
;
507 return NS_ERROR_NO_AGGREGATION
;
509 nsMultiMixedConv
* inst
= nullptr;
510 nsresult rv
= NS_NewMultiMixedConv(&inst
);
515 rv
= inst
->QueryInterface(aIID
, aResult
);
519 NS_RELEASE(inst
); /* get rid of extra refcnt */
524 CreateNewTXTToHTMLConvFactory(nsISupports
* aOuter
, REFNSIID aIID
, void **aResult
)
527 return NS_ERROR_INVALID_POINTER
;
531 return NS_ERROR_NO_AGGREGATION
;
533 mozTXTToHTMLConv
* inst
= nullptr;
534 nsresult rv
= MOZ_NewTXTToHTMLConv(&inst
);
539 rv
= inst
->QueryInterface(aIID
, aResult
);
543 NS_RELEASE(inst
); /* get rid of extra refcnt */
548 CreateNewHTTPCompressConvFactory (nsISupports
* aOuter
, REFNSIID aIID
, void **aResult
)
551 return NS_ERROR_INVALID_POINTER
;
555 return NS_ERROR_NO_AGGREGATION
;
557 nsHTTPCompressConv
* inst
= nullptr;
558 nsresult rv
= NS_NewHTTPCompressConv (&inst
);
563 rv
= inst
->QueryInterface(aIID
, aResult
);
567 NS_RELEASE(inst
); /* get rid of extra refcnt */
572 CreateNewUnknownDecoderFactory(nsISupports
*aOuter
, REFNSIID aIID
, void **aResult
)
577 return NS_ERROR_NULL_POINTER
;
582 return NS_ERROR_NO_AGGREGATION
;
585 nsUnknownDecoder
*inst
;
587 inst
= new nsUnknownDecoder();
589 return NS_ERROR_OUT_OF_MEMORY
;
592 rv
= inst
->QueryInterface(aIID
, aResult
);
599 CreateNewBinaryDetectorFactory(nsISupports
*aOuter
, REFNSIID aIID
, void **aResult
)
604 return NS_ERROR_NULL_POINTER
;
609 return NS_ERROR_NO_AGGREGATION
;
612 nsBinaryDetector
* inst
= new nsBinaryDetector();
614 return NS_ERROR_OUT_OF_MEMORY
;
617 rv
= inst
->QueryInterface(aIID
, aResult
);
623 ///////////////////////////////////////////////////////////////////////////////
624 // Module implementation for the net library
626 // Net module startup hook
627 static nsresult
nsNetStartup()
629 gNetStrings
= new nsNetStrings();
630 return gNetStrings
? NS_OK
: NS_ERROR_OUT_OF_MEMORY
;
634 // Net module shutdown hook
635 static void nsNetShutdown()
637 // Release the url parser that the stdurl is holding.
638 nsStandardURL::ShutdownGlobalObjects();
640 // Release global state used by the URL helper module.
641 net_ShutdownURLHelper();
643 net_ShutdownURLHelperOSX();
646 // Release necko strings
648 gNetStrings
= nullptr;
650 // Release DNS service reference.
651 nsDNSPrefetch::Shutdown();
653 #ifdef NECKO_PROTOCOL_websocket
654 // Release the Websocket Admission Manager
655 mozilla::net::WebSocketChannel::Shutdown();
656 #endif // NECKO_PROTOCOL_websocket
659 gNetSniffers
= nullptr;
660 delete gDataSniffers
;
661 gDataSniffers
= nullptr;
664 NS_DEFINE_NAMED_CID(NS_IOSERVICE_CID
);
665 NS_DEFINE_NAMED_CID(NS_STREAMTRANSPORTSERVICE_CID
);
666 NS_DEFINE_NAMED_CID(NS_SOCKETTRANSPORTSERVICE_CID
);
667 NS_DEFINE_NAMED_CID(NS_SERVERSOCKET_CID
);
668 NS_DEFINE_NAMED_CID(NS_UDPSOCKET_CID
);
669 NS_DEFINE_NAMED_CID(NS_SOCKETPROVIDERSERVICE_CID
);
670 NS_DEFINE_NAMED_CID(NS_DNSSERVICE_CID
);
671 NS_DEFINE_NAMED_CID(NS_IDNSERVICE_CID
);
672 NS_DEFINE_NAMED_CID(NS_EFFECTIVETLDSERVICE_CID
);
673 NS_DEFINE_NAMED_CID(NS_SIMPLEURI_CID
);
674 NS_DEFINE_NAMED_CID(NS_SIMPLENESTEDURI_CID
);
675 NS_DEFINE_NAMED_CID(NS_ASYNCSTREAMCOPIER_CID
);
676 NS_DEFINE_NAMED_CID(NS_INPUTSTREAMPUMP_CID
);
677 NS_DEFINE_NAMED_CID(NS_INPUTSTREAMCHANNEL_CID
);
678 NS_DEFINE_NAMED_CID(NS_STREAMLOADER_CID
);
679 NS_DEFINE_NAMED_CID(NS_UNICHARSTREAMLOADER_CID
);
680 NS_DEFINE_NAMED_CID(NS_DOWNLOADER_CID
);
681 NS_DEFINE_NAMED_CID(NS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID
);
682 NS_DEFINE_NAMED_CID(NS_BACKGROUNDFILESAVERSTREAMLISTENER_CID
);
683 NS_DEFINE_NAMED_CID(NS_SYNCSTREAMLISTENER_CID
);
684 NS_DEFINE_NAMED_CID(NS_REQUESTOBSERVERPROXY_CID
);
685 NS_DEFINE_NAMED_CID(NS_SIMPLESTREAMLISTENER_CID
);
686 NS_DEFINE_NAMED_CID(NS_STREAMLISTENERTEE_CID
);
687 NS_DEFINE_NAMED_CID(NS_LOADGROUP_CID
);
688 NS_DEFINE_NAMED_CID(NS_LOCALFILEINPUTSTREAM_CID
);
689 NS_DEFINE_NAMED_CID(NS_LOCALFILEOUTPUTSTREAM_CID
);
690 NS_DEFINE_NAMED_CID(NS_PARTIALLOCALFILEINPUTSTREAM_CID
);
691 NS_DEFINE_NAMED_CID(NS_ATOMICLOCALFILEOUTPUTSTREAM_CID
);
692 NS_DEFINE_NAMED_CID(NS_SAFELOCALFILEOUTPUTSTREAM_CID
);
693 NS_DEFINE_NAMED_CID(NS_LOCALFILESTREAM_CID
);
694 NS_DEFINE_NAMED_CID(NS_URICHECKER_CID
);
695 NS_DEFINE_NAMED_CID(NS_INCREMENTALDOWNLOAD_CID
);
696 NS_DEFINE_NAMED_CID(NS_STDURLPARSER_CID
);
697 NS_DEFINE_NAMED_CID(NS_NOAUTHURLPARSER_CID
);
698 NS_DEFINE_NAMED_CID(NS_AUTHURLPARSER_CID
);
699 NS_DEFINE_NAMED_CID(NS_STANDARDURL_CID
);
700 NS_DEFINE_NAMED_CID(NS_ARRAYBUFFERINPUTSTREAM_CID
);
701 NS_DEFINE_NAMED_CID(NS_BUFFEREDINPUTSTREAM_CID
);
702 NS_DEFINE_NAMED_CID(NS_BUFFEREDOUTPUTSTREAM_CID
);
703 NS_DEFINE_NAMED_CID(NS_MIMEINPUTSTREAM_CID
);
704 NS_DEFINE_NAMED_CID(NS_PROTOCOLPROXYSERVICE_CID
);
705 NS_DEFINE_NAMED_CID(NS_STREAMCONVERTERSERVICE_CID
);
706 NS_DEFINE_NAMED_CID(NS_DASHBOARD_CID
);
707 #ifdef NECKO_PROTOCOL_ftp
708 NS_DEFINE_NAMED_CID(NS_FTPDIRLISTINGCONVERTER_CID
);
710 NS_DEFINE_NAMED_CID(NS_NSINDEXEDTOHTMLCONVERTER_CID
);
711 NS_DEFINE_NAMED_CID(NS_DIRINDEXPARSER_CID
);
712 NS_DEFINE_NAMED_CID(NS_MULTIMIXEDCONVERTER_CID
);
713 NS_DEFINE_NAMED_CID(NS_UNKNOWNDECODER_CID
);
714 NS_DEFINE_NAMED_CID(NS_BINARYDETECTOR_CID
);
715 NS_DEFINE_NAMED_CID(NS_HTTPCOMPRESSCONVERTER_CID
);
716 NS_DEFINE_NAMED_CID(NS_NSTXTTOHTMLCONVERTER_CID
);
717 #ifdef BUILD_BINHEX_DECODER
718 NS_DEFINE_NAMED_CID(NS_BINHEXDECODER_CID
);
720 NS_DEFINE_NAMED_CID(MOZITXTTOHTMLCONV_CID
);
721 NS_DEFINE_NAMED_CID(NS_DIRINDEX_CID
);
722 NS_DEFINE_NAMED_CID(NS_MIMEHEADERPARAM_CID
);
723 #ifdef NECKO_PROTOCOL_file
724 NS_DEFINE_NAMED_CID(NS_FILEPROTOCOLHANDLER_CID
);
726 #ifdef NECKO_PROTOCOL_http
727 NS_DEFINE_NAMED_CID(NS_HTTPPROTOCOLHANDLER_CID
);
728 NS_DEFINE_NAMED_CID(NS_HTTPSPROTOCOLHANDLER_CID
);
729 NS_DEFINE_NAMED_CID(NS_HTTPBASICAUTH_CID
);
730 NS_DEFINE_NAMED_CID(NS_HTTPDIGESTAUTH_CID
);
731 NS_DEFINE_NAMED_CID(NS_HTTPNTLMAUTH_CID
);
732 NS_DEFINE_NAMED_CID(NS_HTTPAUTHMANAGER_CID
);
733 NS_DEFINE_NAMED_CID(NS_HTTPCHANNELAUTHPROVIDER_CID
);
734 NS_DEFINE_NAMED_CID(NS_HTTPACTIVITYDISTRIBUTOR_CID
);
735 #endif // !NECKO_PROTOCOL_http
736 #ifdef NECKO_PROTOCOL_ftp
737 NS_DEFINE_NAMED_CID(NS_FTPPROTOCOLHANDLER_CID
);
739 #ifdef NECKO_PROTOCOL_res
740 NS_DEFINE_NAMED_CID(NS_RESPROTOCOLHANDLER_CID
);
741 NS_DEFINE_NAMED_CID(NS_RESURL_CID
);
743 NS_DEFINE_NAMED_CID(NS_ABOUTPROTOCOLHANDLER_CID
);
744 NS_DEFINE_NAMED_CID(NS_SAFEABOUTPROTOCOLHANDLER_CID
);
745 NS_DEFINE_NAMED_CID(NS_ABOUT_BLANK_MODULE_CID
);
746 NS_DEFINE_NAMED_CID(NS_NESTEDABOUTURI_CID
);
747 #ifdef NECKO_PROTOCOL_about
748 #ifdef NS_BUILD_REFCNT_LOGGING
749 NS_DEFINE_NAMED_CID(NS_ABOUT_BLOAT_MODULE_CID
);
751 NS_DEFINE_NAMED_CID(NS_ABOUT_CACHE_MODULE_CID
);
752 NS_DEFINE_NAMED_CID(NS_ABOUT_CACHE_ENTRY_MODULE_CID
);
754 NS_DEFINE_NAMED_CID(NS_SOCKSSOCKETPROVIDER_CID
);
755 NS_DEFINE_NAMED_CID(NS_SOCKS4SOCKETPROVIDER_CID
);
756 NS_DEFINE_NAMED_CID(NS_UDPSOCKETPROVIDER_CID
);
757 NS_DEFINE_NAMED_CID(NS_CACHESERVICE_CID
);
758 NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHESERVICE_CID
);
759 NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHENAMESPACE_CID
);
760 NS_DEFINE_NAMED_CID(NS_APPLICATIONCACHE_CID
);
761 NS_DEFINE_NAMED_CID(NS_APPPROTOCOLHANDLER_CID
);
763 NS_DEFINE_NAMED_CID(NS_COOKIEMANAGER_CID
);
764 NS_DEFINE_NAMED_CID(NS_COOKIESERVICE_CID
);
767 NS_DEFINE_NAMED_CID(NS_WIFI_MONITOR_COMPONENT_CID
);
769 #ifdef NECKO_PROTOCOL_data
770 NS_DEFINE_NAMED_CID(NS_DATAPROTOCOLHANDLER_CID
);
772 #ifdef NECKO_PROTOCOL_device
773 NS_DEFINE_NAMED_CID(NS_DEVICEPROTOCOLHANDLER_CID
);
775 #ifdef NECKO_PROTOCOL_viewsource
776 NS_DEFINE_NAMED_CID(NS_VIEWSOURCEHANDLER_CID
);
778 #ifdef NECKO_PROTOCOL_wyciwyg
779 NS_DEFINE_NAMED_CID(NS_WYCIWYGPROTOCOLHANDLER_CID
);
781 #ifdef NECKO_PROTOCOL_websocket
782 NS_DEFINE_NAMED_CID(NS_WEBSOCKETPROTOCOLHANDLER_CID
);
783 NS_DEFINE_NAMED_CID(NS_WEBSOCKETSSLPROTOCOLHANDLER_CID
);
785 #ifdef NECKO_PROTOCOL_rtsp
786 NS_DEFINE_NAMED_CID(NS_RTSPPROTOCOLHANDLER_CID
);
789 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID
);
790 #elif defined(MOZ_WIDGET_COCOA)
791 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID
);
792 #elif defined(MOZ_ENABLE_QTNETWORK)
793 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID
);
794 #elif defined(MOZ_WIDGET_ANDROID)
795 NS_DEFINE_NAMED_CID(NS_NETWORK_LINK_SERVICE_CID
);
797 NS_DEFINE_NAMED_CID(NS_SERIALIZATION_HELPER_CID
);
798 NS_DEFINE_NAMED_CID(NS_REDIRECTCHANNELREGISTRAR_CID
);
799 NS_DEFINE_NAMED_CID(NS_CACHE_STORAGE_SERVICE_CID
);
800 NS_DEFINE_NAMED_CID(NS_NETWORKPREDICTOR_CID
);
802 static const mozilla::Module::CIDEntry kNeckoCIDs
[] = {
803 { &kNS_IOSERVICE_CID
, false, nullptr, nsIOServiceConstructor
},
804 { &kNS_STREAMTRANSPORTSERVICE_CID
, false, nullptr, nsStreamTransportServiceConstructor
},
805 { &kNS_SOCKETTRANSPORTSERVICE_CID
, false, nullptr, nsSocketTransportServiceConstructor
},
806 { &kNS_SERVERSOCKET_CID
, false, nullptr, nsServerSocketConstructor
},
807 { &kNS_UDPSOCKET_CID
, false, nullptr, nsUDPSocketConstructor
},
808 { &kNS_SOCKETPROVIDERSERVICE_CID
, false, nullptr, nsSocketProviderService::Create
},
809 { &kNS_DNSSERVICE_CID
, false, nullptr, nsIDNSServiceConstructor
},
810 { &kNS_IDNSERVICE_CID
, false, nullptr, nsIDNServiceConstructor
},
811 { &kNS_EFFECTIVETLDSERVICE_CID
, false, nullptr, nsEffectiveTLDServiceConstructor
},
812 { &kNS_SIMPLEURI_CID
, false, nullptr, nsSimpleURIConstructor
},
813 { &kNS_SIMPLENESTEDURI_CID
, false, nullptr, nsSimpleNestedURIConstructor
},
814 { &kNS_ASYNCSTREAMCOPIER_CID
, false, nullptr, nsAsyncStreamCopierConstructor
},
815 { &kNS_INPUTSTREAMPUMP_CID
, false, nullptr, nsInputStreamPumpConstructor
},
816 { &kNS_INPUTSTREAMCHANNEL_CID
, false, nullptr, nsInputStreamChannelConstructor
},
817 { &kNS_STREAMLOADER_CID
, false, nullptr, nsStreamLoader::Create
},
818 { &kNS_UNICHARSTREAMLOADER_CID
, false, nullptr, nsUnicharStreamLoader::Create
},
819 { &kNS_DOWNLOADER_CID
, false, nullptr, nsDownloaderConstructor
},
820 { &kNS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID
, false, nullptr,
821 mozilla::net::BackgroundFileSaverOutputStreamConstructor
},
822 { &kNS_BACKGROUNDFILESAVERSTREAMLISTENER_CID
, false, nullptr,
823 mozilla::net::BackgroundFileSaverStreamListenerConstructor
},
824 { &kNS_SYNCSTREAMLISTENER_CID
, false, nullptr, nsSyncStreamListenerConstructor
},
825 { &kNS_REQUESTOBSERVERPROXY_CID
, false, nullptr, nsRequestObserverProxyConstructor
},
826 { &kNS_SIMPLESTREAMLISTENER_CID
, false, nullptr, nsSimpleStreamListenerConstructor
},
827 { &kNS_STREAMLISTENERTEE_CID
, false, nullptr, nsStreamListenerTeeConstructor
},
828 { &kNS_LOADGROUP_CID
, false, nullptr, nsLoadGroupConstructor
},
829 { &kNS_LOCALFILEINPUTSTREAM_CID
, false, nullptr, nsFileInputStream::Create
},
830 { &kNS_LOCALFILEOUTPUTSTREAM_CID
, false, nullptr, nsFileOutputStream::Create
},
831 { &kNS_PARTIALLOCALFILEINPUTSTREAM_CID
, false, nullptr, nsPartialFileInputStream::Create
},
832 { &kNS_ATOMICLOCALFILEOUTPUTSTREAM_CID
, false, nullptr, nsAtomicFileOutputStreamConstructor
},
833 { &kNS_SAFELOCALFILEOUTPUTSTREAM_CID
, false, nullptr, nsSafeFileOutputStreamConstructor
},
834 { &kNS_LOCALFILESTREAM_CID
, false, nullptr, nsFileStreamConstructor
},
835 { &kNS_URICHECKER_CID
, false, nullptr, nsURICheckerConstructor
},
836 { &kNS_INCREMENTALDOWNLOAD_CID
, false, nullptr, net_NewIncrementalDownload
},
837 { &kNS_STDURLPARSER_CID
, false, nullptr, nsStdURLParserConstructor
},
838 { &kNS_NOAUTHURLPARSER_CID
, false, nullptr, nsNoAuthURLParserConstructor
},
839 { &kNS_AUTHURLPARSER_CID
, false, nullptr, nsAuthURLParserConstructor
},
840 { &kNS_STANDARDURL_CID
, false, nullptr, nsStandardURLConstructor
},
841 { &kNS_ARRAYBUFFERINPUTSTREAM_CID
, false, nullptr, ArrayBufferInputStreamConstructor
},
842 { &kNS_BUFFEREDINPUTSTREAM_CID
, false, nullptr, nsBufferedInputStream::Create
},
843 { &kNS_BUFFEREDOUTPUTSTREAM_CID
, false, nullptr, nsBufferedOutputStream::Create
},
844 { &kNS_MIMEINPUTSTREAM_CID
, false, nullptr, nsMIMEInputStreamConstructor
},
845 { &kNS_PROTOCOLPROXYSERVICE_CID
, true, nullptr, nsProtocolProxyServiceConstructor
},
846 { &kNS_STREAMCONVERTERSERVICE_CID
, false, nullptr, CreateNewStreamConvServiceFactory
},
847 { &kNS_DASHBOARD_CID
, false, nullptr, mozilla::net::DashboardConstructor
},
848 #ifdef NECKO_PROTOCOL_ftp
849 { &kNS_FTPDIRLISTINGCONVERTER_CID
, false, nullptr, CreateNewFTPDirListingConv
},
851 { &kNS_NSINDEXEDTOHTMLCONVERTER_CID
, false, nullptr, nsIndexedToHTML::Create
},
852 { &kNS_DIRINDEXPARSER_CID
, false, nullptr, nsDirIndexParserConstructor
},
853 { &kNS_MULTIMIXEDCONVERTER_CID
, false, nullptr, CreateNewMultiMixedConvFactory
},
854 { &kNS_UNKNOWNDECODER_CID
, false, nullptr, CreateNewUnknownDecoderFactory
},
855 { &kNS_BINARYDETECTOR_CID
, false, nullptr, CreateNewBinaryDetectorFactory
},
856 { &kNS_HTTPCOMPRESSCONVERTER_CID
, false, nullptr, CreateNewHTTPCompressConvFactory
},
857 { &kNS_NSTXTTOHTMLCONVERTER_CID
, false, nullptr, mozilla::net::nsTXTToHTMLConvConstructor
},
858 #ifdef BUILD_BINHEX_DECODER
859 { &kNS_BINHEXDECODER_CID
, false, nullptr, nsBinHexDecoderConstructor
},
861 { &kMOZITXTTOHTMLCONV_CID
, false, nullptr, CreateNewTXTToHTMLConvFactory
},
862 { &kNS_DIRINDEX_CID
, false, nullptr, nsDirIndexConstructor
},
863 { &kNS_MIMEHEADERPARAM_CID
, false, nullptr, nsMIMEHeaderParamImplConstructor
},
864 #ifdef NECKO_PROTOCOL_file
865 { &kNS_FILEPROTOCOLHANDLER_CID
, false, nullptr, nsFileProtocolHandlerConstructor
},
867 #ifdef NECKO_PROTOCOL_http
868 { &kNS_HTTPPROTOCOLHANDLER_CID
, false, nullptr, mozilla::net::nsHttpHandlerConstructor
},
869 { &kNS_HTTPSPROTOCOLHANDLER_CID
, false, nullptr, mozilla::net::nsHttpsHandlerConstructor
},
870 { &kNS_HTTPBASICAUTH_CID
, false, nullptr, mozilla::net::nsHttpBasicAuthConstructor
},
871 { &kNS_HTTPDIGESTAUTH_CID
, false, nullptr, mozilla::net::nsHttpDigestAuthConstructor
},
872 { &kNS_HTTPNTLMAUTH_CID
, false, nullptr, mozilla::net::nsHttpNTLMAuthConstructor
},
873 { &kNS_HTTPAUTHMANAGER_CID
, false, nullptr, mozilla::net::nsHttpAuthManagerConstructor
},
874 { &kNS_HTTPCHANNELAUTHPROVIDER_CID
, false, nullptr, mozilla::net::nsHttpChannelAuthProviderConstructor
},
875 { &kNS_HTTPACTIVITYDISTRIBUTOR_CID
, false, nullptr, mozilla::net::nsHttpActivityDistributorConstructor
},
876 #endif // !NECKO_PROTOCOL_http
877 #ifdef NECKO_PROTOCOL_ftp
878 { &kNS_FTPPROTOCOLHANDLER_CID
, false, nullptr, nsFtpProtocolHandlerConstructor
},
880 #ifdef NECKO_PROTOCOL_res
881 { &kNS_RESPROTOCOLHANDLER_CID
, false, nullptr, nsResProtocolHandlerConstructor
},
882 { &kNS_RESURL_CID
, false, nullptr, nsResURLConstructor
},
884 { &kNS_ABOUTPROTOCOLHANDLER_CID
, false, nullptr, nsAboutProtocolHandlerConstructor
},
885 { &kNS_SAFEABOUTPROTOCOLHANDLER_CID
, false, nullptr, nsSafeAboutProtocolHandlerConstructor
},
886 { &kNS_ABOUT_BLANK_MODULE_CID
, false, nullptr, nsAboutBlank::Create
},
887 { &kNS_NESTEDABOUTURI_CID
, false, nullptr, nsNestedAboutURIConstructor
},
888 #ifdef NECKO_PROTOCOL_about
889 #ifdef NS_BUILD_REFCNT_LOGGING
890 { &kNS_ABOUT_BLOAT_MODULE_CID
, false, nullptr, nsAboutBloat::Create
},
892 { &kNS_ABOUT_CACHE_MODULE_CID
, false, nullptr, nsAboutCache::Create
},
893 { &kNS_ABOUT_CACHE_ENTRY_MODULE_CID
, false, nullptr, nsAboutCacheEntryConstructor
},
895 { &kNS_SOCKSSOCKETPROVIDER_CID
, false, nullptr, nsSOCKSSocketProvider::CreateV5
},
896 { &kNS_SOCKS4SOCKETPROVIDER_CID
, false, nullptr, nsSOCKSSocketProvider::CreateV4
},
897 { &kNS_UDPSOCKETPROVIDER_CID
, false, nullptr, nsUDPSocketProviderConstructor
},
898 { &kNS_CACHESERVICE_CID
, false, nullptr, nsCacheService::Create
},
899 { &kNS_APPLICATIONCACHESERVICE_CID
, false, nullptr, nsApplicationCacheServiceConstructor
},
900 { &kNS_APPLICATIONCACHENAMESPACE_CID
, false, nullptr, nsApplicationCacheNamespaceConstructor
},
901 { &kNS_APPLICATIONCACHE_CID
, false, nullptr, nsApplicationCacheConstructor
},
902 { &kNS_APPPROTOCOLHANDLER_CID
, false, nullptr, AppProtocolHandler::Create
},
904 { &kNS_COOKIEMANAGER_CID
, false, nullptr, nsICookieServiceConstructor
},
905 { &kNS_COOKIESERVICE_CID
, false, nullptr, nsICookieServiceConstructor
},
908 { &kNS_WIFI_MONITOR_COMPONENT_CID
, false, nullptr, nsWifiMonitorConstructor
},
910 #ifdef NECKO_PROTOCOL_data
911 { &kNS_DATAPROTOCOLHANDLER_CID
, false, nullptr, nsDataHandler::Create
},
913 #ifdef NECKO_PROTOCOL_device
914 { &kNS_DEVICEPROTOCOLHANDLER_CID
, false, nullptr, nsDeviceProtocolHandlerConstructor
},
916 #ifdef NECKO_PROTOCOL_viewsource
917 { &kNS_VIEWSOURCEHANDLER_CID
, false, nullptr, nsViewSourceHandlerConstructor
},
919 #ifdef NECKO_PROTOCOL_wyciwyg
920 { &kNS_WYCIWYGPROTOCOLHANDLER_CID
, false, nullptr, nsWyciwygProtocolHandlerConstructor
},
922 #ifdef NECKO_PROTOCOL_websocket
923 { &kNS_WEBSOCKETPROTOCOLHANDLER_CID
, false, nullptr,
924 mozilla::net::WebSocketChannelConstructor
},
925 { &kNS_WEBSOCKETSSLPROTOCOLHANDLER_CID
, false, nullptr,
926 mozilla::net::WebSocketSSLChannelConstructor
},
928 #ifdef NECKO_PROTOCOL_rtsp
929 { &kNS_RTSPPROTOCOLHANDLER_CID
, false, nullptr, mozilla::net::RtspHandlerConstructor
},
932 { &kNS_NETWORK_LINK_SERVICE_CID
, false, nullptr, nsNotifyAddrListenerConstructor
},
933 #elif defined(MOZ_WIDGET_COCOA)
934 { &kNS_NETWORK_LINK_SERVICE_CID
, false, nullptr, nsNetworkLinkServiceConstructor
},
935 #elif defined(MOZ_ENABLE_QTNETWORK)
936 { &kNS_NETWORK_LINK_SERVICE_CID
, false, nullptr, nsQtNetworkLinkServiceConstructor
},
937 #elif defined(MOZ_WIDGET_ANDROID)
938 { &kNS_NETWORK_LINK_SERVICE_CID
, false, nullptr, nsAndroidNetworkLinkServiceConstructor
},
940 { &kNS_SERIALIZATION_HELPER_CID
, false, nullptr, nsSerializationHelperConstructor
},
941 { &kNS_REDIRECTCHANNELREGISTRAR_CID
, false, nullptr, RedirectChannelRegistrarConstructor
},
942 { &kNS_CACHE_STORAGE_SERVICE_CID
, false, nullptr, CacheStorageServiceConstructor
},
943 { &kNS_NETWORKPREDICTOR_CID
, false, nullptr, mozilla::net::Predictor::Create
},
947 static const mozilla::Module::ContractIDEntry kNeckoContracts
[] = {
948 { NS_IOSERVICE_CONTRACTID
, &kNS_IOSERVICE_CID
},
949 { NS_NETUTIL_CONTRACTID
, &kNS_IOSERVICE_CID
},
950 { NS_STREAMTRANSPORTSERVICE_CONTRACTID
, &kNS_STREAMTRANSPORTSERVICE_CID
},
951 { NS_SOCKETTRANSPORTSERVICE_CONTRACTID
, &kNS_SOCKETTRANSPORTSERVICE_CID
},
952 { NS_SERVERSOCKET_CONTRACTID
, &kNS_SERVERSOCKET_CID
},
953 { NS_UDPSOCKET_CONTRACTID
, &kNS_UDPSOCKET_CID
},
954 { NS_SOCKETPROVIDERSERVICE_CONTRACTID
, &kNS_SOCKETPROVIDERSERVICE_CID
},
955 { NS_DNSSERVICE_CONTRACTID
, &kNS_DNSSERVICE_CID
},
956 { NS_IDNSERVICE_CONTRACTID
, &kNS_IDNSERVICE_CID
},
957 { NS_EFFECTIVETLDSERVICE_CONTRACTID
, &kNS_EFFECTIVETLDSERVICE_CID
},
958 { NS_SIMPLEURI_CONTRACTID
, &kNS_SIMPLEURI_CID
},
959 { NS_ASYNCSTREAMCOPIER_CONTRACTID
, &kNS_ASYNCSTREAMCOPIER_CID
},
960 { NS_INPUTSTREAMPUMP_CONTRACTID
, &kNS_INPUTSTREAMPUMP_CID
},
961 { NS_INPUTSTREAMCHANNEL_CONTRACTID
, &kNS_INPUTSTREAMCHANNEL_CID
},
962 { NS_STREAMLOADER_CONTRACTID
, &kNS_STREAMLOADER_CID
},
963 { NS_UNICHARSTREAMLOADER_CONTRACTID
, &kNS_UNICHARSTREAMLOADER_CID
},
964 { NS_DOWNLOADER_CONTRACTID
, &kNS_DOWNLOADER_CID
},
965 { NS_BACKGROUNDFILESAVEROUTPUTSTREAM_CONTRACTID
, &kNS_BACKGROUNDFILESAVEROUTPUTSTREAM_CID
},
966 { NS_BACKGROUNDFILESAVERSTREAMLISTENER_CONTRACTID
, &kNS_BACKGROUNDFILESAVERSTREAMLISTENER_CID
},
967 { NS_SYNCSTREAMLISTENER_CONTRACTID
, &kNS_SYNCSTREAMLISTENER_CID
},
968 { NS_REQUESTOBSERVERPROXY_CONTRACTID
, &kNS_REQUESTOBSERVERPROXY_CID
},
969 { NS_SIMPLESTREAMLISTENER_CONTRACTID
, &kNS_SIMPLESTREAMLISTENER_CID
},
970 { NS_STREAMLISTENERTEE_CONTRACTID
, &kNS_STREAMLISTENERTEE_CID
},
971 { NS_LOADGROUP_CONTRACTID
, &kNS_LOADGROUP_CID
},
972 { NS_LOCALFILEINPUTSTREAM_CONTRACTID
, &kNS_LOCALFILEINPUTSTREAM_CID
},
973 { NS_LOCALFILEOUTPUTSTREAM_CONTRACTID
, &kNS_LOCALFILEOUTPUTSTREAM_CID
},
974 { NS_PARTIALLOCALFILEINPUTSTREAM_CONTRACTID
, &kNS_PARTIALLOCALFILEINPUTSTREAM_CID
},
975 { NS_ATOMICLOCALFILEOUTPUTSTREAM_CONTRACTID
, &kNS_ATOMICLOCALFILEOUTPUTSTREAM_CID
},
976 { NS_SAFELOCALFILEOUTPUTSTREAM_CONTRACTID
, &kNS_SAFELOCALFILEOUTPUTSTREAM_CID
},
977 { NS_LOCALFILESTREAM_CONTRACTID
, &kNS_LOCALFILESTREAM_CID
},
978 { NS_URICHECKER_CONTRACT_ID
, &kNS_URICHECKER_CID
},
979 { NS_INCREMENTALDOWNLOAD_CONTRACTID
, &kNS_INCREMENTALDOWNLOAD_CID
},
980 { NS_STDURLPARSER_CONTRACTID
, &kNS_STDURLPARSER_CID
},
981 { NS_NOAUTHURLPARSER_CONTRACTID
, &kNS_NOAUTHURLPARSER_CID
},
982 { NS_AUTHURLPARSER_CONTRACTID
, &kNS_AUTHURLPARSER_CID
},
983 { NS_STANDARDURL_CONTRACTID
, &kNS_STANDARDURL_CID
},
984 { NS_ARRAYBUFFERINPUTSTREAM_CONTRACTID
, &kNS_ARRAYBUFFERINPUTSTREAM_CID
},
985 { NS_BUFFEREDINPUTSTREAM_CONTRACTID
, &kNS_BUFFEREDINPUTSTREAM_CID
},
986 { NS_BUFFEREDOUTPUTSTREAM_CONTRACTID
, &kNS_BUFFEREDOUTPUTSTREAM_CID
},
987 { NS_MIMEINPUTSTREAM_CONTRACTID
, &kNS_MIMEINPUTSTREAM_CID
},
988 { NS_PROTOCOLPROXYSERVICE_CONTRACTID
, &kNS_PROTOCOLPROXYSERVICE_CID
},
989 { NS_STREAMCONVERTERSERVICE_CONTRACTID
, &kNS_STREAMCONVERTERSERVICE_CID
},
990 { NS_DASHBOARD_CONTRACTID
, &kNS_DASHBOARD_CID
},
991 #ifdef NECKO_PROTOCOL_ftp
992 { NS_ISTREAMCONVERTER_KEY FTP_TO_INDEX
, &kNS_FTPDIRLISTINGCONVERTER_CID
},
994 { NS_ISTREAMCONVERTER_KEY INDEX_TO_HTML
, &kNS_NSINDEXEDTOHTMLCONVERTER_CID
},
995 { NS_DIRINDEXPARSER_CONTRACTID
, &kNS_DIRINDEXPARSER_CID
},
996 { NS_ISTREAMCONVERTER_KEY MULTI_MIXED_X
, &kNS_MULTIMIXEDCONVERTER_CID
},
997 { NS_ISTREAMCONVERTER_KEY MULTI_BYTERANGES
, &kNS_MULTIMIXEDCONVERTER_CID
},
998 { NS_ISTREAMCONVERTER_KEY MULTI_MIXED
, &kNS_MULTIMIXEDCONVERTER_CID
},
999 { NS_ISTREAMCONVERTER_KEY UNKNOWN_CONTENT
, &kNS_UNKNOWNDECODER_CID
},
1000 { NS_GENERIC_CONTENT_SNIFFER
, &kNS_UNKNOWNDECODER_CID
},
1001 { NS_BINARYDETECTOR_CONTRACTID
, &kNS_BINARYDETECTOR_CID
},
1002 { NS_ISTREAMCONVERTER_KEY GZIP_TO_UNCOMPRESSED
, &kNS_HTTPCOMPRESSCONVERTER_CID
},
1003 { NS_ISTREAMCONVERTER_KEY XGZIP_TO_UNCOMPRESSED
, &kNS_HTTPCOMPRESSCONVERTER_CID
},
1004 { NS_ISTREAMCONVERTER_KEY COMPRESS_TO_UNCOMPRESSED
, &kNS_HTTPCOMPRESSCONVERTER_CID
},
1005 { NS_ISTREAMCONVERTER_KEY XCOMPRESS_TO_UNCOMPRESSED
, &kNS_HTTPCOMPRESSCONVERTER_CID
},
1006 { NS_ISTREAMCONVERTER_KEY DEFLATE_TO_UNCOMPRESSED
, &kNS_HTTPCOMPRESSCONVERTER_CID
},
1007 { NS_ISTREAMCONVERTER_KEY PLAIN_TO_HTML
, &kNS_NSTXTTOHTMLCONVERTER_CID
},
1008 #ifdef BUILD_BINHEX_DECODER
1009 { NS_ISTREAMCONVERTER_KEY BINHEX_TO_WILD
, &kNS_BINHEXDECODER_CID
},
1011 { MOZ_TXTTOHTMLCONV_CONTRACTID
, &kMOZITXTTOHTMLCONV_CID
},
1012 { "@mozilla.org/dirIndex;1", &kNS_DIRINDEX_CID
},
1013 { NS_MIMEHEADERPARAM_CONTRACTID
, &kNS_MIMEHEADERPARAM_CID
},
1014 #ifdef NECKO_PROTOCOL_file
1015 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"file", &kNS_FILEPROTOCOLHANDLER_CID
},
1017 #ifdef NECKO_PROTOCOL_http
1018 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"http", &kNS_HTTPPROTOCOLHANDLER_CID
},
1019 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"https", &kNS_HTTPSPROTOCOLHANDLER_CID
},
1020 { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX
"basic", &kNS_HTTPBASICAUTH_CID
},
1021 { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX
"digest", &kNS_HTTPDIGESTAUTH_CID
},
1022 { NS_HTTP_AUTHENTICATOR_CONTRACTID_PREFIX
"ntlm", &kNS_HTTPNTLMAUTH_CID
},
1023 { NS_HTTPAUTHMANAGER_CONTRACTID
, &kNS_HTTPAUTHMANAGER_CID
},
1024 { NS_HTTPCHANNELAUTHPROVIDER_CONTRACTID
, &kNS_HTTPCHANNELAUTHPROVIDER_CID
},
1025 { NS_HTTPACTIVITYDISTRIBUTOR_CONTRACTID
, &kNS_HTTPACTIVITYDISTRIBUTOR_CID
},
1026 #endif // !NECKO_PROTOCOL_http
1027 #ifdef NECKO_PROTOCOL_ftp
1028 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"ftp", &kNS_FTPPROTOCOLHANDLER_CID
},
1030 #ifdef NECKO_PROTOCOL_res
1031 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"resource", &kNS_RESPROTOCOLHANDLER_CID
},
1033 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"about", &kNS_ABOUTPROTOCOLHANDLER_CID
},
1034 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"moz-safe-about", &kNS_SAFEABOUTPROTOCOLHANDLER_CID
},
1035 { NS_ABOUT_MODULE_CONTRACTID_PREFIX
"blank", &kNS_ABOUT_BLANK_MODULE_CID
},
1036 #ifdef NECKO_PROTOCOL_about
1037 #ifdef NS_BUILD_REFCNT_LOGGING
1038 { NS_ABOUT_MODULE_CONTRACTID_PREFIX
"bloat", &kNS_ABOUT_BLOAT_MODULE_CID
},
1040 { NS_ABOUT_MODULE_CONTRACTID_PREFIX
"cache", &kNS_ABOUT_CACHE_MODULE_CID
},
1041 { NS_ABOUT_MODULE_CONTRACTID_PREFIX
"cache-entry", &kNS_ABOUT_CACHE_ENTRY_MODULE_CID
},
1043 { NS_NETWORK_SOCKET_CONTRACTID_PREFIX
"socks", &kNS_SOCKSSOCKETPROVIDER_CID
},
1044 { NS_NETWORK_SOCKET_CONTRACTID_PREFIX
"socks4", &kNS_SOCKS4SOCKETPROVIDER_CID
},
1045 { NS_NETWORK_SOCKET_CONTRACTID_PREFIX
"udp", &kNS_UDPSOCKETPROVIDER_CID
},
1046 { NS_CACHESERVICE_CONTRACTID
, &kNS_CACHESERVICE_CID
},
1047 { NS_APPLICATIONCACHESERVICE_CONTRACTID
, &kNS_APPLICATIONCACHESERVICE_CID
},
1048 { NS_APPLICATIONCACHENAMESPACE_CONTRACTID
, &kNS_APPLICATIONCACHENAMESPACE_CID
},
1049 { NS_APPLICATIONCACHE_CONTRACTID
, &kNS_APPLICATIONCACHE_CID
},
1050 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"app", &kNS_APPPROTOCOLHANDLER_CID
},
1051 #ifdef NECKO_COOKIES
1052 { NS_COOKIEMANAGER_CONTRACTID
, &kNS_COOKIEMANAGER_CID
},
1053 { NS_COOKIESERVICE_CONTRACTID
, &kNS_COOKIESERVICE_CID
},
1056 { NS_WIFI_MONITOR_CONTRACTID
, &kNS_WIFI_MONITOR_COMPONENT_CID
},
1058 #ifdef NECKO_PROTOCOL_data
1059 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"data", &kNS_DATAPROTOCOLHANDLER_CID
},
1061 #ifdef NECKO_PROTOCOL_device
1062 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"moz-device", &kNS_DEVICEPROTOCOLHANDLER_CID
},
1064 #ifdef NECKO_PROTOCOL_viewsource
1065 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"view-source", &kNS_VIEWSOURCEHANDLER_CID
},
1067 #ifdef NECKO_PROTOCOL_wyciwyg
1068 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"wyciwyg", &kNS_WYCIWYGPROTOCOLHANDLER_CID
},
1070 #ifdef NECKO_PROTOCOL_websocket
1071 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"ws", &kNS_WEBSOCKETPROTOCOLHANDLER_CID
},
1072 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"wss", &kNS_WEBSOCKETSSLPROTOCOLHANDLER_CID
},
1074 #ifdef NECKO_PROTOCOL_rtsp
1075 { NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX
"rtsp", &kNS_RTSPPROTOCOLHANDLER_CID
},
1078 { NS_NETWORK_LINK_SERVICE_CONTRACTID
, &kNS_NETWORK_LINK_SERVICE_CID
},
1079 #elif defined(MOZ_WIDGET_COCOA)
1080 { NS_NETWORK_LINK_SERVICE_CONTRACTID
, &kNS_NETWORK_LINK_SERVICE_CID
},
1081 #elif defined(MOZ_ENABLE_QTNETWORK)
1082 { NS_NETWORK_LINK_SERVICE_CONTRACTID
, &kNS_NETWORK_LINK_SERVICE_CID
},
1083 #elif defined(MOZ_WIDGET_ANDROID)
1084 { NS_NETWORK_LINK_SERVICE_CONTRACTID
, &kNS_NETWORK_LINK_SERVICE_CID
},
1086 { NS_SERIALIZATION_HELPER_CONTRACTID
, &kNS_SERIALIZATION_HELPER_CID
},
1087 { NS_REDIRECTCHANNELREGISTRAR_CONTRACTID
, &kNS_REDIRECTCHANNELREGISTRAR_CID
},
1088 { NS_CACHE_STORAGE_SERVICE_CONTRACTID
, &kNS_CACHE_STORAGE_SERVICE_CID
},
1089 { NS_CACHE_STORAGE_SERVICE_CONTRACTID2
, &kNS_CACHE_STORAGE_SERVICE_CID
},
1090 { NS_NETWORKPREDICTOR_CONTRACTID
, &kNS_NETWORKPREDICTOR_CID
},
1094 static const mozilla::Module kNeckoModule
= {
1095 mozilla::Module::kVersion
,
1104 NSMODULE_DEFN(necko
) = &kNeckoModule
;