1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef nsChromeProtocolHandler_h___ 7 #define nsChromeProtocolHandler_h___ 8 9 #include "nsIProtocolHandler.h" 10 #include "nsWeakReference.h" 11 #include "mozilla/Attributes.h" 12 13 #define NS_CHROMEPROTOCOLHANDLER_CID \ 14 { /* 61ba33c0-3031-11d3-8cd0-0060b0fc14a3 */ \ 15 0x61ba33c0, 0x3031, 0x11d3, { \ 16 0x8c, 0xd0, 0x00, 0x60, 0xb0, 0xfc, 0x14, 0xa3 \ 17 } \ 18 } 19 20 class nsChromeProtocolHandler final : public nsIProtocolHandler, 21 public nsSupportsWeakReference { 22 public: 23 NS_DECL_THREADSAFE_ISUPPORTS 24 25 // nsIProtocolHandler methods: 26 NS_DECL_NSIPROTOCOLHANDLER 27 28 // nsChromeProtocolHandler methods: nsChromeProtocolHandler()29 nsChromeProtocolHandler() {} 30 static nsresult CreateNewURI(const nsACString& aSpec, const char* aCharset, 31 nsIURI* aBaseURI, nsIURI** result); 32 33 private: ~nsChromeProtocolHandler()34 ~nsChromeProtocolHandler() {} 35 }; 36 37 #endif /* nsChromeProtocolHandler_h___ */ 38