diff options
Diffstat (limited to 'toolkit/components/browser/nsIWebBrowserChrome3.idl')
-rw-r--r-- | toolkit/components/browser/nsIWebBrowserChrome3.idl | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/toolkit/components/browser/nsIWebBrowserChrome3.idl b/toolkit/components/browser/nsIWebBrowserChrome3.idl new file mode 100644 index 0000000000..ad727f8b07 --- /dev/null +++ b/toolkit/components/browser/nsIWebBrowserChrome3.idl @@ -0,0 +1,69 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "nsIWebBrowserChrome.idl" +#include "nsIURI.idl" + +interface nsIDocShell; +interface nsIInputStream; +interface nsIRunnable; +interface nsIPrincipal; +interface nsIContentSecurityPolicy; +interface nsIReferrerInfo; + +webidl Node; + +/** + * nsIWebBrowserChrome3 is an extension to nsIWebBrowserChrome. + */ +[scriptable, uuid(542b6625-35a9-426a-8257-c12a345383b0)] +interface nsIWebBrowserChrome3 : nsIWebBrowserChrome +{ + /** + * Determines the appropriate target for a link. + * + * @param originalTarget + * The original link target. + * @param linkURI + * Link destination URI. + * @param aDOMNode + * Link DOM node. + * @param isAppTab + * Whether or not the link is in an app tab. + * @returns A new link target, if appropriate. + * Otherwise returns originalTarget. + */ + AString onBeforeLinkTraversal(in AString originalTarget, + in nsIURI linkURI, + in Node linkNode, + in boolean isAppTab); + + /** + * Determines whether a load should continue. + * + * @param aDocShell + * The docshell performing the load. + * @param aURI + * The URI being loaded. + * @param aReferrerInfo + * The referrerInfo of the load. + * @param aHasPostData + * True if the load which is being asked about has associated post data + * which would be discarded if the load was redirected across process + * boundaries. + * @param aTriggeringPrincipal + * The principal that initiated the load of aURI. + * @param aCsp + * The CSP to be used for that load. That is the CSP that e.g. upgrades + * the load to HTTPS in case upgrade-insecure-requests is set. + */ + bool shouldLoadURI(in nsIDocShell aDocShell, + in nsIURI aURI, + in nsIReferrerInfo aReferrerInfo, + in boolean aHasPostData, + in nsIPrincipal aTriggeringPrincipal, + in nsIContentSecurityPolicy aCsp); + + bool shouldLoadURIInThisProcess(in nsIURI aURI); +}; |