mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
bug 391150: expose an API for getting an nsIHandlerInfo object for a protocol; r=biesi, sr=dmose
This commit is contained in:
parent
cdceeab522
commit
c02e2669a6
@ -25,6 +25,7 @@
|
||||
* Bill Law <law@netscape.com>
|
||||
* Christian Biesinger <cbiesinger@web.de>
|
||||
* Dan Mosedale <dmose@mozilla.org>
|
||||
* Myk Melez <myk@mozilla.org>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
@ -1326,12 +1327,12 @@ nsresult nsExternalHelperAppService::ExpungeTemporaryFiles()
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult
|
||||
NS_IMETHODIMP
|
||||
nsExternalHelperAppService::GetProtocolHandlerInfo(const nsACString &aScheme,
|
||||
nsIHandlerInfo **aHandlerInfo)
|
||||
{
|
||||
// XXX before we expose this to the UI, we need sort out our strategy re
|
||||
// the "warning" and "exposed" prefs
|
||||
// XXX Now that we've exposed this to the UI (bug 391150), is there anything
|
||||
// we need to do to make it compatible with the "warning" and "exposed" prefs?
|
||||
|
||||
// XXX enterprise customers should be able to turn this support off with a
|
||||
// single master pref (maybe use one of the "exposed" prefs here?)
|
||||
|
@ -23,6 +23,7 @@
|
||||
* Scott MacGregor <mscott@netscape.com>
|
||||
* Christian Biesinger <cbiesinger@web.de>
|
||||
* Dan Mosedale <dmose@mozilla.org>
|
||||
* Myk Melez <myk@mozilla.org>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
@ -230,13 +231,6 @@ public:
|
||||
*/
|
||||
NS_HIDDEN_(PRBool) MIMETypeIsInDataSource(const char * aContentType);
|
||||
|
||||
/**
|
||||
* Return the URI template for any configured web handler. This will
|
||||
* probably be replaced by something on nsIWebContentConverterService soon.
|
||||
*/
|
||||
NS_HIDDEN_(nsresult) GetProtocolHandlerInfo(const nsACString &aScheme,
|
||||
nsIHandlerInfo **aHandlerInfo);
|
||||
|
||||
virtual NS_HIDDEN_(nsresult) OSProtocolHandlerExists(const char *aScheme,
|
||||
PRBool *aExists) = 0;
|
||||
|
||||
|
@ -22,6 +22,7 @@
|
||||
*
|
||||
* Contributor(s):
|
||||
* Scott MacGregor <mscott@netscape.com>
|
||||
* Myk Melez <myk@mozilla.org>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either of the GNU General Public License Version 2 or later (the "GPL"),
|
||||
@ -42,6 +43,7 @@
|
||||
interface nsIURI;
|
||||
interface nsIFile;
|
||||
interface nsIInterfaceRequestor;
|
||||
interface nsIHandlerInfo;
|
||||
|
||||
/**
|
||||
* The external protocol service is used for finding and launching
|
||||
@ -52,13 +54,14 @@ interface nsIInterfaceRequestor;
|
||||
* handler for a given protocol scheme. And you can ask it to load
|
||||
* the url using the default handler.
|
||||
*/
|
||||
[scriptable, uuid(01e9ce6e-1c81-4f1a-b128-2f2526ec40e3)]
|
||||
[scriptable, uuid(7968ffa9-bb51-4b2d-aad2-8ea46c15d27f)]
|
||||
interface nsIExternalProtocolService : nsISupports
|
||||
{
|
||||
/**
|
||||
* Check whether a handler for a specific protocol exists.
|
||||
* @param aProtocolScheme The scheme from a url: http, ftp, mailto, etc.
|
||||
* @return true if we have a handler and false otherwise.
|
||||
* XXX shouldn't aProtocolScheme be an ACString like nsIURI::scheme?
|
||||
*/
|
||||
boolean externalProtocolHandlerExists(in string aProtocolScheme);
|
||||
|
||||
@ -71,9 +74,25 @@ interface nsIExternalProtocolService : nsISupports
|
||||
* application. For example, a non-exposed protocol would not be loaded by the
|
||||
* application in response to a link click or a X-remote openURL command.
|
||||
* Instead, it would be deferred to the system's external protocol handler.
|
||||
* XXX shouldn't aProtocolScheme be an ACString like nsIURI::scheme?
|
||||
*/
|
||||
boolean isExposedProtocol(in string aProtocolScheme);
|
||||
|
||||
/**
|
||||
* Retrieve the handler for the given protocol. If neither the application
|
||||
* nor the OS knows about a handler for the protocol, the object this method
|
||||
* returns will represent a default handler for unknown content.
|
||||
*
|
||||
* @param aProtocolScheme the scheme from a URL: http, ftp, mailto, etc.
|
||||
*
|
||||
* Note: aProtocolScheme should not include a trailing colon, which is part
|
||||
* of the URI syntax, not part of the scheme itself (i.e. pass "mailto" not
|
||||
* "mailto:").
|
||||
*
|
||||
* @return the handler, if any; otherwise a default handler
|
||||
*/
|
||||
nsIHandlerInfo getProtocolHandlerInfo(in ACString aProtocolScheme);
|
||||
|
||||
/**
|
||||
* Used to load a url via an external protocol handler (if one exists)
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user