/* -*- Mode: IDL; 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/. */ #include "domstubs.idl" [scriptable, uuid(4237c376-d637-4b6e-9f8a-1da57e867834)] interface nsIDOMJSWindow : nsISupports { void dump(in DOMString str); /** * These methods take typeless arguments and optional arguments, the * first argument is either a function or a string, the second * argument must be a number (ms) and the rest of the arguments (2 * ... n) are passed to the callback function */ long setTimeout(); long setInterval(); /** * These methods take one optional argument that's the timer ID to * clear. Often in existing code these methods are passed undefined, * which is a nop so we need to support that as well. */ void clearTimeout([optional] in long handle); void clearInterval([optional] in long handle); /** * This method is here for backwards compatibility with 4.x only, * its implementation is a no-op */ void setResizable(in boolean resizable); /** * @deprecated These are old Netscape 4 methods. Do not use, * the implementation is no-op. */ void captureEvents(); void releaseEvents(); /** * This is the scriptable version of nsIDOMWindow::open() * that takes 3 optional arguments. Its binary name is OpenJS to * avoid colliding with nsIDOMWindow::open(), which has the * same signature. The reason we can't have that collision is that * the implementation needs to know whether it was called from JS or * not. * * IOW, DO NOT CALL THIS FROM C++ */ [binaryname(OpenJS)] nsIDOMWindow open([optional] in DOMString url, [optional] in DOMString name, [optional] in DOMString options); /** * This is the scriptable version of * nsIDOMWindow::openDialog() that takes 3 optional * arguments, plus any additional arguments are passed on as * arguments on the dialog's window object (window.arguments). */ nsIDOMWindow openDialog([optional] in DOMString url, [optional] in DOMString name, [optional] in DOMString options); /** * window.frames in Netscape 4.x and IE is just a reference to the * window itself (i.e. window.frames === window), but this doesn't * make sense from a generic API point of view so that's why this is * JS specific. * * This property is "replaceable" in JavaScript. */ readonly attribute nsIDOMWindow frames; [implicit_jscontext, binaryname(ScriptableContent)] readonly attribute jsval content; };