diff options
author | Christian Biesinger <biesi@src.gnome.org> | 2004-04-07 23:51:31 +0800 |
---|---|---|
committer | Christian Biesinger <biesi@src.gnome.org> | 2004-04-07 23:51:31 +0800 |
commit | 32e7f698ede6d453c563743198ddca5a270a03fd (patch) | |
tree | 3e65616643f7ae7c092878a9e606414995067c7f /embed/mozilla/ExternalProtocolHandlers.cpp | |
parent | 19faef2caf08e026266c360fb721ec99bea68e50 (diff) | |
download | gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar.gz gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar.bz2 gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar.lz gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar.xz gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.tar.zst gsoc2013-epiphany-32e7f698ede6d453c563743198ddca5a270a03fd.zip |
Eliminate ExternalProtocolHandlers in favor of setting prefs to make
* embed/mozilla/ExternalProtocolHandlers.cpp:
* embed/mozilla/ExternalProtocolHandlers.h:
* embed/mozilla/FilePicker.cpp:
* embed/mozilla/Makefile.am:
* embed/mozilla/MozRegisterComponents.cpp:
* embed/mozilla/MozRegisterComponents.h:
* embed/mozilla/mozilla-embed-single.cpp:
Eliminate ExternalProtocolHandlers in favor of setting prefs to make Mozilla
not handle the protocols internally.
Diffstat (limited to 'embed/mozilla/ExternalProtocolHandlers.cpp')
-rw-r--r-- | embed/mozilla/ExternalProtocolHandlers.cpp | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/embed/mozilla/ExternalProtocolHandlers.cpp b/embed/mozilla/ExternalProtocolHandlers.cpp deleted file mode 100644 index 5d9db4e47..000000000 --- a/embed/mozilla/ExternalProtocolHandlers.cpp +++ /dev/null @@ -1,197 +0,0 @@ -/* - * Copyright (C) 2001 Philip Langdale - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Id$ - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "ExternalProtocolHandlers.h" -#include "nsCOMPtr.h" -#include "nsIComponentManager.h" -#include "nsIURI.h" -#include "nsCOMPtr.h" -#include "nsIChannel.h" -#include "nsIStorageStream.h" -#include "nsIInputStream.h" -#include "nsIOutputStream.h" -#include "nsNetUtil.h" -#include "nsIExternalProtocolService.h" -#include "nsCExternalHandlerService.h" - -NS_IMPL_ISUPPORTS2 (GIRCProtocolHandler, nsIProtocolHandler, nsIContentHandler) -NS_IMPL_ISUPPORTS2 (GFtpProtocolHandler, nsIProtocolHandler, nsIContentHandler) -NS_IMPL_ISUPPORTS2 (GMailtoProtocolHandler, nsIProtocolHandler, nsIContentHandler) -NS_IMPL_ISUPPORTS2 (GNewsProtocolHandler, nsIProtocolHandler, nsIContentHandler) - -static NS_DEFINE_CID(kSimpleURICID, NS_SIMPLEURI_CID); - -/* Implementation file */ -NS_IMPL_ISUPPORTS1 (GBaseProtocolHandler, nsIProtocolHandler) - -GBaseProtocolHandler::GBaseProtocolHandler(const char *aScheme) -{ - mScheme.Assign(aScheme); -} - -GBaseProtocolHandler::~GBaseProtocolHandler() -{ -} - -/* readonly attribute string scheme; */ -NS_IMETHODIMP GBaseProtocolHandler::GetScheme(nsACString &aScheme) -{ - aScheme = mScheme; - return NS_OK; -} - -/* readonly attribute long defaultPort; */ -NS_IMETHODIMP GBaseProtocolHandler::GetDefaultPort(PRInt32 *aDefaultPort) -{ - if (aDefaultPort) - *aDefaultPort = -1; - else - return NS_ERROR_NULL_POINTER; - return NS_OK; -} - -/* readonly attribute short protocolFlags; */ -NS_IMETHODIMP GBaseProtocolHandler::GetProtocolFlags(PRUint32 *aProtocolFlags) -{ - if (aProtocolFlags) - *aProtocolFlags = nsIProtocolHandler::URI_STD; - else - return NS_ERROR_NULL_POINTER; - return NS_OK; -} - -/* nsIURI newURI (in string aSpec, in nsIURI aBaseURI); */ -NS_IMETHODIMP GBaseProtocolHandler::NewURI(const nsACString &aSpec, - const char *aOriginCharset, nsIURI *aBaseURI, - nsIURI **_retval) -{ - nsresult rv = NS_OK; - nsCOMPtr <nsIURI> newUri; - - rv = nsComponentManager::CreateInstance(kSimpleURICID, nsnull, - NS_GET_IID(nsIURI), - getter_AddRefs(newUri)); - - if (NS_SUCCEEDED(rv)) - { - newUri->SetSpec(aSpec); - rv = newUri->QueryInterface(NS_GET_IID(nsIURI), - (void **) _retval); - } - return rv; - -} - -/* nsIChannel newChannel (in nsIURI aURI); */ -NS_IMETHODIMP GBaseProtocolHandler::NewChannel(nsIURI *aURI, - nsIChannel **_retval) -{ - return NS_ERROR_NOT_IMPLEMENTED; -} - -/* boolean allowPort (in long port, in string scheme); */ -NS_IMETHODIMP GBaseProtocolHandler::AllowPort(PRInt32 port, const char *scheme, - PRBool *_retval) -{ - *_retval = PR_FALSE; - return NS_OK; -} - -/* Implementation file */ -NS_IMPL_ISUPPORTS2 (GBaseProtocolContentHandler, nsIProtocolHandler, nsIContentHandler) - -GBaseProtocolContentHandler::GBaseProtocolContentHandler(const char *aScheme) : - GBaseProtocolHandler(aScheme) -{ - mMimeType = NS_LITERAL_CSTRING("application-x-gnome-") + mScheme; -} - -GBaseProtocolContentHandler::~GBaseProtocolContentHandler() -{ -} - -/* nsIChannel newChannel (in nsIURI aURI); */ -NS_IMETHODIMP GBaseProtocolContentHandler::NewChannel(nsIURI *aURI, - nsIChannel **_retval) -{ - nsresult rv; - nsCOMPtr<nsIStorageStream> sStream; - rv = NS_NewStorageStream(1, 16, getter_AddRefs(sStream)); - NS_ENSURE_SUCCESS (rv, rv); - - nsCOMPtr<nsIOutputStream> oStream; - rv = sStream->GetOutputStream(0, getter_AddRefs(oStream)); - NS_ENSURE_SUCCESS (rv, rv); - - PRUint32 bytes; - rv = oStream->Write("Dummy stream\0", 13, &bytes); - NS_ENSURE_SUCCESS (rv, rv); - - nsCOMPtr<nsIInputStream> iStream; - rv = sStream->NewInputStream(0, getter_AddRefs(iStream)); - NS_ENSURE_SUCCESS (rv, rv); - - nsCOMPtr<nsIChannel> channel; - rv = NS_NewInputStreamChannel(getter_AddRefs(channel), aURI, - iStream, mMimeType, NS_LITERAL_CSTRING("")); - NS_ENSURE_SUCCESS (rv, rv); - - NS_IF_ADDREF (*_retval = channel); - - return rv; -} - -NS_IMETHODIMP GBaseProtocolContentHandler::HandleContent ( - const char * aContentType, - const char * aCommand, - nsISupports * aWindowContext, - nsIRequest *aRequest) -{ - NS_ENSURE_ARG (aRequest); - - nsresult rv = NS_OK; - - // First of all, get the content type and make sure it is a - // content type we know how to handle! - if (mMimeType.Equals(aContentType)) - { - nsCOMPtr<nsIChannel> channel = do_QueryInterface(aRequest); - NS_ENSURE_TRUE (channel, NS_ERROR_FAILURE); - - nsCOMPtr<nsIURI> uri; - channel->GetURI(getter_AddRefs(uri)); - NS_ENSURE_TRUE (uri, NS_ERROR_FAILURE); - - rv = aRequest->Cancel(NS_BINDING_ABORTED); - NS_ENSURE_SUCCESS (rv, NS_ERROR_FAILURE); - - nsCOMPtr<nsIExternalProtocolService> ps = - do_GetService (NS_EXTERNALPROTOCOLSERVICE_CONTRACTID); - NS_ENSURE_TRUE (ps, NS_ERROR_FAILURE); - - rv = ps->LoadUrl (uri); - } - - return rv; -} |