/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: NPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Netscape 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/NPL/ * * 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 Corporation. * Portions created by the Initial Developer are Copyright (C) 2000 * the Initial Developer. All Rights Reserved. * * Contributor(s): * Vidur Apparao (original author) * Johnny Stenback * * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the NPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the NPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "nsIDOMWindow.idl" interface nsISidebar; interface nsIPrompt; interface nsIControllers; interface nsIDOMLocation; [scriptable, uuid(9c911860-7dd9-11d4-9a83-000064657374)] interface nsIDOMWindowInternal : nsIDOMWindow { readonly attribute nsIDOMWindowInternal window; readonly attribute nsIDOMWindowInternal self; readonly attribute nsIDOMNavigator navigator; readonly attribute nsIDOMScreen screen; readonly attribute nsIDOMHistory history; /* [replaceable] content */ readonly attribute nsIDOMWindow content; /* [replaceable] sidebar */ readonly attribute nsISidebar sidebar; /* [replaceable] prompter */ [noscript] readonly attribute nsIPrompt prompter; /* [replaceable] menubar */ readonly attribute nsIDOMBarProp menubar; /* [replaceable] toolbar */ readonly attribute nsIDOMBarProp toolbar; /* [replaceable] locationbar */ readonly attribute nsIDOMBarProp locationbar; /* [replaceable] personalbar */ readonly attribute nsIDOMBarProp personalbar; /* [replaceable] statusbar */ readonly attribute nsIDOMBarProp statusbar; /* [replaceable] directories */ readonly attribute nsIDOMBarProp directories; readonly attribute boolean closed; readonly attribute nsIDOMCrypto crypto; readonly attribute nsIDOMPkcs11 pkcs11; // XXX Shouldn't this be in nsIDOMChromeWindow? /* [replaceable] controllers */ readonly attribute nsIControllers controllers; attribute nsIDOMWindowInternal opener; /* [replaceable] */ attribute DOMString status; attribute DOMString defaultStatus; // XXX: The setter that takes a string argument needs to be special // cased! readonly attribute nsIDOMLocation location; /* [replaceable] */ attribute long innerWidth; attribute long innerHeight; attribute long outerWidth; attribute long outerHeight; attribute long screenX; attribute long screenY; readonly attribute long pageXOffset; readonly attribute long pageYOffset; /* [replaceable] length */ readonly attribute unsigned long length; attribute boolean fullScreen; void alert(in DOMString text); boolean confirm(in DOMString text); // prompt() should return a null string if cancel is pressed DOMString prompt(in DOMString aMessage, in DOMString aInitial, in DOMString aTitle, in unsigned long aSavePassword); void focus(); void blur(); void back(); void forward(); void home(); void stop(); void print(); void moveTo(in long xPos, in long yPos); void moveBy(in long xDif, in long yDif); void resizeTo(in long width, in long height); void resizeBy(in long widthDif, in long heightDif); void scroll(in long xScroll, in long yScroll); //void clearTimeout(in long timerID); //void clearInterval(in long timerID); //[noscript] long setTimeout(/* in function, // in unsigned long timeout */); //[noscript] long setInterval(/* in function, // in unsigned long timeout */); [noscript] nsIDOMWindow open(in DOMString url, in DOMString name, in DOMString options); // This method works like open except that aExtraArgument gets // converted into the array window.arguments in JS, if // aExtraArgument is a nsISupportsArray then the individual items in // the array are inserted into window.arguments, and primitive // nsISupports (nsISupportsPrimitives) types are converted to native // JS types when possible. [noscript] nsIDOMWindow openDialog(in DOMString url, in DOMString name, in DOMString options, in nsISupports aExtraArgument); void close(); // XXX Should this be in nsIDOMChromeWindow? void updateCommands(in DOMString action); DOMString escape(in DOMString str); DOMString unescape(in DOMString str); /* See nsIDOMJSWindow for the scriptable version of find() * @param str: the search pattern * @param caseSensitive: is the search caseSensitive * @param backwards: should we search backwards * @param wrapAround: should we wrap the search * @param wholeWord: should we search only for whole words * @param searchInFrames: should we search through all frames * @param showDialog: should we show the Find dialog */ [noscript] boolean find(in DOMString str, in boolean caseSensitive, in boolean backwards, in boolean wrapAround, in boolean wholeWord, in boolean searchInFrames, in boolean showDialog); // Ascii base64 data to binary data and vice versa... DOMString atob(in DOMString aAsciiString); DOMString btoa(in DOMString aBase64Data); }; .