embedding/browser/nsIWebBrowserChrome3.idl
author Birunthan Mohanathas <birunthan@mohanathas.com>
Wed, 20 Aug 2014 10:27:17 -0700
changeset 210358 0197daa3451668b39331537168076320b67066ff
parent 94445 embedding/browser/webBrowser/nsIWebBrowserChrome3.idl@f4157e8c410708d76703f19e4dfb61859bfe32d8
child 218443 bd3fa77c80f0e7544414550cda725dd352689c09
permissions -rw-r--r--
Bug 1054703 - Part 8: Flatten embedding/browser/webBrowser/ into parent directory. r=bsmedberg

/* 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 "nsIWebBrowserChrome2.idl"
#include "nsIURI.idl"
#include "nsIDOMNode.idl"

/**
 * nsIWebBrowserChrome3 is an extension to nsIWebBrowserChrome2.
 */
[scriptable, uuid(7f2aa813-b250-4e46-afeb-97b1e91bc9a5)]
interface nsIWebBrowserChrome3 : nsIWebBrowserChrome2
{
  /**
   * 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 nsIDOMNode linkNode,
                                in boolean isAppTab);
};