The C++ source has access to the browser script source through
 nsIBrowserDOMWindow. It is intended to be attached to the chrome DOMWindow
 of a toplevel browser window (a XUL window). A DOMWindow that does not
 happen to be a browser chrome window will simply have no access to any such
 interface.
[scriptable, uuid(af25c296-aaec-4f7f-8885-dd37a1cc0a13)]
interface nsIBrowserDOMWindow : nsISupports

Constants

 Values for openURI's aWhere parameter.


 Do whatever the default is based on application state, user preferences,
 and the value of the aContext parameter to openURI.
const short OPEN_DEFAULTWINDOW = 0
 Open in the "current window".  If aOpener is provided, this should be the
 top window in aOpener's window hierarchy, but exact behavior is
 application-dependent.  If aOpener is not provided, it's up to the
 application to decide what constitutes a "current window".
const short OPEN_CURRENTWINDOW = 1
 Open in a new window.
const short OPEN_NEWWINDOW = 2
 Open in a new content tab in the toplevel browser window corresponding to
 this nsIBrowserDOMWindow.
const short OPEN_NEWTAB = 3
 Values for openURI's aContext parameter.  These affect the behavior of
 OPEN_DEFAULTWINDOW.


 external link (load request from another application, xremote, etc).
const short OPEN_EXTERNAL = 1
 internal open new window
const short OPEN_NEW = 2

Methods

 @param  aWindow the window to test.
 @return whether the window is the main content window for any
         currently open tab in this toplevel browser window.
boolean isTabContentWindow(in nsIDOMWindow aWindow)
 Load a URI
 @param aURI the URI to open. null is allowed; it means about:blank.
 @param aWhere see possible values described above.
 @param aOpener window requesting the open (can be null).
 @param aContext the context in which the URI is being opened. This
                 is used only when aWhere == OPEN_DEFAULTWINDOW.
 @return the window into which the URI was opened.
nsIDOMWindow openURI(in nsIURI aURI, in nsIDOMWindow aOpener, in short aWhere, in short aContext)