nsIWebBrowser

This interface is implemented by web browser objects. Embedders use this interface during initialization to associate the new web browser instance with the embedders chrome and to register any listeners. The interface may also be used at runtime to obtain the content DOM window and from that the rest of the DOM.
Inherits from: nsISupports Last changed in Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)

Warning: This interface was frozen for a very long time, but was unfrozen for Gecko 2.0.

Method overview

void addWebBrowserListener(in nsIWeakReference aListener, in nsIIDRef aIID);
void removeWebBrowserListener(in nsIWeakReference aListener, in nsIIDRef aIID);

Attributes

Attribute Type Description
containerWindow nsIWebBrowserChrome

The chrome object associated with the browser instance. The embedder must create one chrome object for each browser object that is instantiated. The embedder must associate the two by setting this property to point to the chrome object before creating the browser window via the browser's nsIBaseWindow interface.

The chrome object must also implement nsIEmbeddingSiteWindow.

The chrome may optionally implement nsIInterfaceRequestor, nsIWebBrowserChromeFocus, nsIContextMenuListener and nsITooltipListener to receive additional notifications from the browser object.

The chrome object may optionally implement nsIWebProgressListener instead of explicitly calling addWebBrowserListener() and removeWebBrowserListener() to register a progress listener object. If the implementation does this, it must also implement nsIWeakReference.

Note: The implementation should not refcount the supplied chrome object; it should assume that a non nsnull value is always valid. The embedder must explicitly set this value back to nsnull if the chrome object is destroyed before the browser object.
Note: nsIInterfaceRequestor and nsIWeakReference might also need to be implemented by the chrome object.
contentDOMWindow nsIDOMWindow The top-level DOM window. The embedder may walk the entire DOM starting from this value. Read only.
isActive boolean

Indicates whether this web browser is active. Active means that it's visible enough that we want to avoid certain optimizations like discarding decoded image data and throttling the refresh driver. In Firefox, this corresponds to the visible tab. Defaults to true. For optimal performance, set it to false when appropriate.

parentURIContentListener nsIURIContentListener

URI content listener parent. The embedder may set this property to their own implementation if they intend to override or prevent how certain kinds of content are loaded.

Note: If this attribute is set to an object that implements nsISupportsWeakReference, the implementation should get the nsIWeakReference and hold that. Otherwise, the implementation should not refcount this interface; it should assume that a non null value is always valid. In that case, the embedder should explicitly set this value back to null if the parent content listener is destroyed before the browser object.

Methods

addWebBrowserListener()

Registers a listener of the type specified by the iid to receive callbacks. The browser stores a weak reference to the listener to avoid any circular dependencies. Typically this method will be called to register an object to receive nsIWebProgressListener or nsISHistoryListener notifications in which case the the IID is that of the interface.

void addWebBrowserListener(
  in nsIWeakReference aListener,
  in nsIIDRef aIID
);
Parameters
aListener
The listener to be added.
aIID
The IID of the interface that will be called on the listener as appropriate.
Return value
NS_OK
Listener was successfully added.
NS_ERROR_INVALID_ARG
One of the arguments was invalid or the object did not implement the interface specified by the IID.

removeWebBrowserListener()

Removes a previously registered listener.

void removeWebBrowserListener(
  in nsIWeakReference aListener,
  in nsIIDRef aIID
);
Parameters
aListener
The listener to be removed.
aIID
The IID of the interface on the listener that will no longer be called.
Return value
NS_OK
Listener was successfully added.
NS_ERROR_INVALID_ARG
One of the arguments was invalid or the object did not implement the interface specified by the IID.

See also