/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * 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 "nsISupports.idl" #include "nsIURI.idl" interface nsIBrowser; interface nsIRequest; interface nsIInputStream; interface nsIDocShell; interface nsIRemoteTab; interface nsIPrincipal; interface mozIDOMWindowProxy; interface nsIContentSecurityPolicy; interface nsIReferrerInfo; webidl Element; webidl Node; /** * The nsIXULBrowserWindow supplies the methods that may be called from the * internals of the browser area to tell the containing xul window to update * its ui. */ [scriptable, uuid(a8675fa9-c8b4-4350-9803-c38f344a9e38)] interface nsIXULBrowserWindow : nsISupports { /** * Tells the object implementing this function what link we are currently * over. */ void setOverLink(in AString link, in Element element); /** * Determines the appropriate target for a link. */ AString onBeforeLinkTraversal(in AString originalTarget, in nsIURI linkURI, in Node linkNode, in boolean isAppTab); /** * Find the initial browser of the window and set its remote attributes. * This can be used to ensure that there is a browser in a new window of the * correct type when it first spawns. */ void forceInitialBrowserNonRemote(in mozIDOMWindowProxy openerWindow); /** * 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); /** * Show/hide a tooltip (when the user mouses over a link, say). */ void showTooltip(in long x, in long y, in AString tooltip, in AString direction, in Element browser); void hideTooltip(); /** * Return the number of tabs in this window. */ uint32_t getTabCount(); /** * Navigate the browser to the given history index after restoring the full history * from SessionStore. If the browser is currently in GroupedSHistory mode, it will * be reverted to a non-grouped history mode. If a process change is required to * perform the load, this will also occur. */ void navigateAndRestoreByIndex(in nsIBrowser aBrowser, in long aIndex); };