michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nsIWebBrowserChrome2.idl" michael@0: #include "nsIURI.idl" michael@0: #include "nsIDOMNode.idl" michael@0: michael@0: /** michael@0: * nsIWebBrowserChrome3 is an extension to nsIWebBrowserChrome2. michael@0: */ michael@0: [scriptable, uuid(7f2aa813-b250-4e46-afeb-97b1e91bc9a5)] michael@0: interface nsIWebBrowserChrome3 : nsIWebBrowserChrome2 michael@0: { michael@0: /** michael@0: * Determines the appropriate target for a link. michael@0: * michael@0: * @param originalTarget michael@0: * The original link target. michael@0: * @param linkURI michael@0: * Link destination URI. michael@0: * @param aDOMNode michael@0: * Link DOM node. michael@0: * @param isAppTab michael@0: * Whether or not the link is in an app tab. michael@0: * @returns A new link target, if appropriate. michael@0: * Otherwise returns originalTarget. michael@0: */ michael@0: AString onBeforeLinkTraversal(in AString originalTarget, michael@0: in nsIURI linkURI, michael@0: in nsIDOMNode linkNode, michael@0: in boolean isAppTab); michael@0: };