xpfe/appshell/public/nsIXULWindow.idl

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
     2  *
     3  * This Source Code Form is subject to the terms of the Mozilla Public
     4  * License, v. 2.0. If a copy of the MPL was not distributed with this
     5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     7 #include "nsISupports.idl"
     9 /**
    10  * The nsIXULWindow
    11  *
    12  * When the window is destroyed, it will fire a "xul-window-destroyed"
    13  * notification through the global observer service.
    14  */
    16 interface nsIDocShell;
    17 interface nsIDocShellTreeItem;
    18 interface nsIXULBrowserWindow;
    20 [scriptable, uuid(CCF9E98A-E442-4061-9F74-94539DD9FE9E)]
    21 interface nsIXULWindow : nsISupports
    22 {
    23   /**
    24    * The docshell owning the XUL for this window.
    25    */
    26   readonly attribute nsIDocShell docShell;
    28   /**
    29    * Indicates if this window is instrinsically sized.	
    30    */
    31   attribute boolean intrinsicallySized;
    33   /**
    34    * The primary content shell.  
    35    *
    36    * Note that this is a docshell tree item and therefore can not be assured of
    37    * what object it is. It could be an editor, a docshell, or a browser object.
    38    * Or down the road any other object that supports being a DocShellTreeItem
    39    * Query accordingly to determine the capabilities.
    40    */
    41   readonly attribute nsIDocShellTreeItem primaryContentShell;
    43   /**
    44    * The content shell specified by the supplied id.
    45    *
    46    * Note that this is a docshell tree item and therefore can not be assured of
    47    * what object it is.  It could be an editor, a docshell, or a browser object.
    48    * Or down the road any other object that supports being a DocShellTreeItem
    49    * Query accordingly to determine the capabilities.
    50    */
    51   nsIDocShellTreeItem getContentShellById(in wstring ID);
    53   /**
    54    * Tell this window that it has picked up a child XUL window
    55    * @param aChild the child window being added
    56    */
    57   void addChildWindow(in nsIXULWindow aChild);
    59   /**
    60    * Tell this window that it has lost a child XUL window
    61    * @param aChild the child window being removed
    62    */
    63   void removeChildWindow(in nsIXULWindow aChild);
    65   /**
    66    * Move the window to a centered position.
    67    * @param aRelative If not null, the window relative to which the window is
    68    *                  moved. See aScreen parameter for details.
    69    * @param aScreen   PR_TRUE to center the window relative to the screen
    70    *                  containing aRelative if aRelative is not null. If
    71    *                  aRelative is null then relative to the screen of the
    72    *                  opener window if it was initialized by passing it to
    73    *                  nsWebShellWindow::Initialize. Failing that relative to
    74    *                  the main screen.
    75    *                  PR_FALSE to center it relative to aRelative itself.
    76    * @param aAlert    PR_TRUE to move the window to an alert position,
    77    *                  generally centered horizontally and 1/3 down from the top.
    78    */
    79   void center(in nsIXULWindow aRelative, in boolean aScreen, in boolean aAlert);
    81   /**
    82    * Shows the window as a modal window. That is, ensures that it is visible
    83    * and runs a local event loop, exiting only once the window has been closed.
    84    */
    85   void showModal();
    87   const unsigned long lowestZ = 0;
    88   const unsigned long loweredZ = 4;  /* "alwaysLowered" attribute */
    89   const unsigned long normalZ = 5;
    90   const unsigned long raisedZ = 6;   /* "alwaysRaised" attribute */
    91   const unsigned long highestZ = 9;
    93   attribute unsigned long zLevel;
    95   /**
    96    * contextFlags are from nsIWindowCreator2
    97    */
    98   attribute uint32_t contextFlags;
   100   attribute uint32_t chromeFlags;
   102   /**
   103    * Begin assuming |chromeFlags| don't change hereafter, and assert
   104    * if they do change.  The state change is one-way and idempotent.
   105    */
   106   void assumeChromeFlagsAreFrozen();
   108   /**
   109    * Create a new window.
   110    * @param aChromeFlags see nsIWebBrowserChrome
   111    * @return the newly minted window
   112    */
   113   nsIXULWindow createNewWindow(in int32_t aChromeFlags);
   115   attribute nsIXULBrowserWindow XULBrowserWindow;
   117   /**
   118    * Back-door method to force application of chrome flags at a particular
   119    * time.  Do NOT call this unless you know what you're doing!  In particular,
   120    * calling this when this XUL window doesn't yet have a document in its
   121    * docshell could cause problems.
   122    */
   123   [noscript] void applyChromeFlags();
   124 };

mercurial