gecko-dev/dom/interfaces/base/nsIBrowser.idl
Nika Layzell 5e2e5fc993 Bug 1444991 - Part 5: Make some XPCOM methods more strongly typed, r=bz
This patch goes through and changes a bunch of places in our tree which mention
this bug to use the new feature, making the methods more strongly typed.

There are probably more places in tree which could be changed, but I didn't try
to find them.
2018-04-17 19:21:05 -04:00

70 lines
2.5 KiB
Plaintext

/* 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"
interface nsIPrincipal;
webidl FrameLoader;
[scriptable, uuid(14e5a0cb-e223-4202-95e8-fe53275193ea)]
interface nsIBrowser : nsISupports
{
/**
* Gets an optional frame loader that is "related" to this browser.
* If this exists, then we should attempt to use the same content parent as
* this frame loader for any new tab parents. For example, view source
* browsers set this to the frame loader for the original content to ensure
* they are loaded in the same process as the content.
*/
readonly attribute FrameLoader sameProcessAsFrameLoader;
/*
* Called by the child to inform the parent that links are dropped into
* content area.
*
* @param linksCount length of links
* @param links a flat array of url, name, and type for each link
* @param triggeringPrincipal a principal that initiated loading
* of the dropped links
*/
void dropLinks(in unsigned long linksCount,
[array, size_is(linksCount)] in wstring links,
in nsIPrincipal aTriggeringPrincipal);
/**
* Flags for controlling the behavior of swapBrowsers
*/
/**
* The default options. This is used for swapping browsers between windows
*/
const unsigned long SWAP_DEFAULT = 0;
/**
* If this bit is set, swapping the browsers will not swap the permanentKey of
* the browsers. This is used when performing cross process loads by swapping
* browsers.
*/
const unsigned long SWAP_KEEP_PERMANENT_KEY = 0x1;
/**
* Swapping of frameloaders are usually initiated from a frameloader owner
* or other components operating on frameloader owners. This is done by calling
* swapFrameLoaders at MozFrameLoaderOwner webidl interface.
*
* This function aimed to provide the other way around -
* if the swapping is initiated from frameloader itself or other platform level
* components, it uses this interface to delegate the swapping request to
* frameloader owners and ask them to re-initiate frameloader swapping, so that
* frameloader owners such as <xul:browser> can setup their properties and /
* or listeners properly on swapping.
*/
void swapBrowsers(in nsIBrowser aOtherBrowser, in unsigned long aFlags);
/**
* Close the browser (usually means to remove a tab).
*/
void closeBrowser();
};