interface Window { /* IID: { 0xa6cf906b, 0x15b3, 0x11d2, \ { 0x93, 0x2e, 0x00, 0x80, 0x5f, 0x8a, 0xdd, 0x32 } } */ readonly attribute Document document; readonly attribute Window parent; readonly replaceable attribute Window top; readonly replaceable attribute BarProp scrollbars; readonly attribute WindowCollection frames; attribute wstring name; readonly attribute long scrollX; readonly attribute long scrollY; void scrollTo(in long xScroll, in long yScroll); void scrollBy(in long xScrollDif, in long yScrollDif); xpidl nsISelection getSelection(); void scrollByLines(in long numLines); void scrollByPages(in long numPages); }; interface WindowInternal : Window { /* IID: { 0x9c911860, 0x7dd9, 0x11d4, \ { 0x9a, 0x83, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 } } */ readonly attribute WindowInternal window; readonly attribute WindowInternal self; readonly attribute Navigator navigator; readonly attribute Screen screen; readonly attribute History history; readonly replaceable attribute WindowInternal _content; readonly replaceable attribute xpidl nsISidebar sidebar; readonly replaceable attribute xpidl nsIPrompt prompter; readonly replaceable attribute BarProp menubar; readonly replaceable attribute BarProp toolbar; readonly replaceable attribute BarProp locationbar; readonly replaceable attribute BarProp personalbar; readonly replaceable attribute BarProp statusbar; readonly replaceable attribute BarProp directories; readonly attribute boolean closed; readonly attribute Crypto crypto; readonly attribute Pkcs11 pkcs11; readonly replaceable attribute xpidl nsIControllers controllers; attribute WindowInternal opener; attribute wstring status; attribute wstring defaultStatus; attribute jsval location; attribute DOMString title; attribute long innerWidth; attribute long innerHeight; attribute long outerWidth; attribute long outerHeight; attribute long screenX; attribute long screenY; attribute long pageXOffset; attribute long pageYOffset; readonly replaceable attribute unsigned long length; void dump(in wstring str); void alert(/* ... */); boolean confirm(/* ... */); // XXX prompt() should be changed back to return a string once // the DOM APIs allow us to return null js values for a string. // in the meantime, this is the only way to do that: jsval prompt(/* ... */); 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 sizeToContent(); void GetAttention(); void scroll(in long xScroll, in long yScroll); void clearTimeout(in long timerID); void clearInterval(in long timerID); long setTimeout(/* ... */); long setInterval(/* ... */); void captureEvents(in long eventFlags); void releaseEvents(in long eventFlags); void routeEvent(in Event evt); void enableExternalCapture(); void disableExternalCapture(); void setCursor(in DOMString cursor); WindowInternal open(/* ... */); WindowInternal openDialog(/* ... */); noscript void close(); void close(/* ... */); void updateCommands(in DOMString action); DOMString escape(in DOMString str); DOMString unescape(in DOMString str); }; interface WindowEventOwner { /* IID: { 0xef1876f0, 0x7881, 0x11d4, \ { 0x9a, 0x80, 0x00, 0x00, 0x64, 0x65, 0x73, 0x74 } } */ attribute jsval onmousedown; attribute jsval onmouseup; attribute jsval onclick; attribute jsval onmouseover; attribute jsval onmouseout; attribute jsval onkeydown; attribute jsval onkeyup; attribute jsval onkeypress; attribute jsval onmousemove; attribute jsval onfocus; attribute jsval onblur; attribute jsval onsubmit; attribute jsval onreset; attribute jsval onchange; attribute jsval onselect; attribute jsval onload; attribute jsval onunload; attribute jsval onclose; attribute jsval onabort; attribute jsval onerror; attribute jsval onpaint; attribute jsval ondragdrop; attribute jsval onresize; attribute jsval onscroll; }; interface EventTarget { /* IID: { 0x1c773b30, 0xd1cf, 0x11d2, \ { 0xbd, 0x95, 0x00, 0x80, 0x5f, 0x8a, 0xe3, 0xf4 } } */ void addEventListener(in DOMString type, in function EventListener listener, in boolean useCapture); void removeEventListener(in DOMString type, in function EventListener listener, in boolean useCapture); void dispatchEvent(in Event evt); }; // Introduced in DOM Level 2: interface AbstractView { /* IID: { 0xf51ebade, 0x8b1a, 0x11d3, \ { 0xaa, 0xe7, 0x00, 0x10, 0x83, 0x01, 0x23, 0xb4 } } */ readonly attribute DocumentView document; }; // Introduced in DOM Level 2: interface ViewCSS : AbstractView { /* IID: { 0x0b9341f3, 0x95d4, 0x4fa4, \ { 0xad, 0xcd, 0xe1, 0x19, 0xe0, 0xdb, 0x28, 0x89 } } */ CSSStyleDeclaration getComputedStyle(in Element elt, in DOMString pseudoElt); };