зеркало из https://github.com/mozilla/gecko-dev.git
69 строки
2.5 KiB
Plaintext
69 строки
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 nsIFrameLoader;
|
|
interface nsIPrincipal;
|
|
|
|
[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 nsIFrameLoader 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();
|
|
};
|