/* -*- 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" interface nsIBrowserDOMWindow; interface nsIDOMElement; interface nsIDOMEvent; interface nsIChromeFrameMessageManager; [scriptable, uuid(7cfbc355-cbf9-4408-8e4c-a3c603ff1428)] interface nsIDOMChromeWindow : nsISupports { const unsigned short STATE_MAXIMIZED = 1; const unsigned short STATE_MINIMIZED = 2; const unsigned short STATE_NORMAL = 3; const unsigned short STATE_FULLSCREEN = 4; readonly attribute unsigned short windowState; /** * browserDOMWindow provides access to yet another layer of * utility functions implemented by chrome script. It will be null * for DOMWindows not corresponding to browsers. */ attribute nsIBrowserDOMWindow browserDOMWindow; void getAttention(); void getAttentionWithCycleCount(in long aCycleCount); void setCursor(in DOMString cursor); void maximize(); void minimize(); void restore(); /** * Notify a default button is loaded on a dialog or a wizard. * defaultButton is the default button. */ void notifyDefaultButtonLoaded(in nsIDOMElement defaultButton); readonly attribute nsIChromeFrameMessageManager messageManager; /** * On some operating systems, we must allow the window manager to * handle window dragging. This function tells the window manager to * start dragging the window. This function will fail unless called * while the left mouse button is held down, callers must check this. * * The optional panel argument should be set when moving a panel. * * Returns NS_ERROR_NOT_IMPLEMENTED (and thus throws in JS) if the OS * doesn't support this. */ void beginWindowMove(in nsIDOMEvent mouseDownEvent, [optional] in nsIDOMElement panel); };