mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-09-10 11:54:40 +00:00
99 lines
4.5 KiB
Plaintext
99 lines
4.5 KiB
Plaintext
|
/* -*- Mode: C++; tab-width: 2; 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/. */
|
||
|
|
||
|
/* Private "control" methods on the Window Watcher. These are annoying
|
||
|
bookkeeping methods, not part of the public (embedding) interface.
|
||
|
*/
|
||
|
|
||
|
#include "nsISupports.idl"
|
||
|
|
||
|
interface nsIDOMWindow;
|
||
|
interface nsISimpleEnumerator;
|
||
|
interface nsIWebBrowserChrome;
|
||
|
interface nsIDocShellTreeItem;
|
||
|
interface nsIArray;
|
||
|
interface nsITabParent;
|
||
|
|
||
|
[uuid(0f2d9d75-c46b-4114-802e-83b4655e61d2)]
|
||
|
|
||
|
interface nsPIWindowWatcher : nsISupports
|
||
|
{
|
||
|
/** A window has been created. Add it to our list.
|
||
|
@param aWindow the window to add
|
||
|
@param aChrome the corresponding chrome window. The DOM window
|
||
|
and chrome will be mapped together, and the corresponding
|
||
|
chrome can be retrieved using the (not private)
|
||
|
method getChromeForWindow. If null, any extant mapping
|
||
|
will be cleared.
|
||
|
*/
|
||
|
void addWindow(in nsIDOMWindow aWindow, in nsIWebBrowserChrome aChrome);
|
||
|
|
||
|
/** A window has been closed. Remove it from our list.
|
||
|
@param aWindow the window to remove
|
||
|
*/
|
||
|
void removeWindow(in nsIDOMWindow aWindow);
|
||
|
|
||
|
/** Like the public interface's open(), but can handle openDialog-style
|
||
|
arguments and calls which shouldn't result in us navigating the window.
|
||
|
|
||
|
@param aParent parent window, if any. Null if no parent. If it is
|
||
|
impossible to get to an nsIWebBrowserChrome from aParent, this
|
||
|
method will effectively act as if aParent were null.
|
||
|
@param aURL url to which to open the new window. Must already be
|
||
|
escaped, if applicable. can be null.
|
||
|
@param aName window name from JS window.open. can be null. If a window
|
||
|
with this name already exists, the openWindow call may just load
|
||
|
aUrl in it (if aUrl is not null) and return it.
|
||
|
@param aFeatures window features from JS window.open. can be null.
|
||
|
@param aCalledFromScript true if we were called from script.
|
||
|
@param aDialog use dialog defaults (see nsIDOMWindow::openDialog)
|
||
|
@param aNavigate true if we should navigate the new window to the
|
||
|
specified URL.
|
||
|
@param aOpeningTab the nsITabParent that is opening the new window. The
|
||
|
nsITabParent is a remote tab belonging to aParent. Can
|
||
|
be nullptr if this window is not being opened from a tab.
|
||
|
@param aArgs Window argument
|
||
|
@return the new window
|
||
|
|
||
|
@note This method may examine the JS context stack for purposes of
|
||
|
determining the security context to use for the search for a given
|
||
|
window named aName.
|
||
|
@note This method should try to set the default charset for the new
|
||
|
window to the default charset of the document in the calling window
|
||
|
(which is determined based on the JS stack and the value of
|
||
|
aParent). This is not guaranteed, however.
|
||
|
*/
|
||
|
nsIDOMWindow openWindow2(in nsIDOMWindow aParent, in string aUrl,
|
||
|
in string aName, in string aFeatures,
|
||
|
in boolean aCalledFromScript, in boolean aDialog,
|
||
|
in boolean aNavigate, in nsITabParent aOpeningTab,
|
||
|
in nsISupports aArgs);
|
||
|
|
||
|
/**
|
||
|
* Find a named docshell tree item amongst all windows registered
|
||
|
* with the window watcher. This may be a subframe in some window,
|
||
|
* for example.
|
||
|
*
|
||
|
* @param aName the name of the window. Must not be null.
|
||
|
* @param aRequestor the tree item immediately making the request.
|
||
|
* We should make sure to not recurse down into its findItemWithName
|
||
|
* method.
|
||
|
* @param aOriginalRequestor the original treeitem that made the request.
|
||
|
* Used for security checks.
|
||
|
* @return the tree item with aName as the name, or null if there
|
||
|
* isn't one. "Special" names, like _self, _top, etc, will be
|
||
|
* treated specially only if aRequestor is null; in that case they
|
||
|
* will be resolved relative to the first window the windowwatcher
|
||
|
* knows about.
|
||
|
* @see findItemWithName methods on nsIDocShellTreeItem and
|
||
|
* nsIDocShellTreeOwner
|
||
|
*/
|
||
|
nsIDocShellTreeItem findItemWithName(in wstring aName,
|
||
|
in nsIDocShellTreeItem aRequestor,
|
||
|
in nsIDocShellTreeItem aOriginalRequestor);
|
||
|
};
|
||
|
|