82 lines
2.8 KiB
Plaintext
82 lines
2.8 KiB
Plaintext
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
|
*
|
|
* The contents of this file are subject to the Mozilla Public
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/MPL/
|
|
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
|
|
* The Original Code is mozilla.org code.
|
|
|
|
* The Initial Developer of the Original Code is Netscape
|
|
* Communications, Inc. Portions created by Netscape are
|
|
* Copyright (C) 2001, Mozilla. All Rights Reserved.
|
|
|
|
* Contributor(s):
|
|
*/
|
|
|
|
/* 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;
|
|
|
|
%{C++
|
|
#include "jspubtd.h"
|
|
%}
|
|
|
|
[ptr] native jsvalptr(jsval);
|
|
|
|
[uuid(d535806e-afaf-47d1-8d89-783ad088c62a)]
|
|
|
|
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 deal with openDialog
|
|
style arguments.
|
|
@param aParent parent window, if any. null if not.
|
|
@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.
|
|
@param aFeatures window features from JS window.open. can be null.
|
|
@param aDialog use dialog defaults (see nsIDOMWindowInternal::openDialog)
|
|
@param argc count of argv arguments
|
|
@param argv extra JS arguments, if any
|
|
(see nsIDOMWindowInternal::openDialog)
|
|
@return the new window
|
|
*/
|
|
nsIDOMWindow openWindowJS(in nsIDOMWindow aParent, in string aUrl,
|
|
in string aName, in string aFeatures, in boolean aDialog,
|
|
in PRUint32 argc, in jsvalptr argv);
|
|
|
|
};
|
|
|
|
%{C++
|
|
// {d535806e-afaf-47d1-8d89-783ad088c62a}
|
|
#define NS_PWINDOWWATCHER_IID \
|
|
{0xd535806e, 0xafaf, 0x47d1, {0x8d, 0x89, 0x78, 0x3a, 0xd0, 0x88, 0xc6, 0x2a}}
|
|
%}
|
|
|