Linux Mac OSX Windows

Implemented by

 The nsIWebProgress interface is used to add or remove nsIWebProgressListener
 instances to observe the loading of asynchronous requests (usually in the
 context of a DOM window).

 nsIWebProgress instances may be arranged in a parent-child configuration,
 corresponding to the parent-child configuration of their respective DOM
 windows.  However, in some cases a nsIWebProgress instance may not have an
 associated DOM window.  The parent-child relationship of nsIWebProgress
 instances is not made explicit by this interface, but the relationship may
 exist in some implementations.

 A nsIWebProgressListener instance receives notifications for the
 nsIWebProgress instance to which it added itself, and it may also receive
 notifications from any nsIWebProgress instances that are children of that
 nsIWebProgress instance.

 @status FROZEN
[scriptable, uuid(570f39d0-efd0-11d3-b093-00a024ffc08c)]
interface nsIWebProgress : nsISupports

Constants

 The following flags may be combined to form the aNotifyMask parameter for
 the addProgressListener method.  They limit the set of events that are
 delivered to an nsIWebProgressListener instance.


 These flags indicate the state transistions to observe, corresponding to
 nsIWebProgressListener::onStateChange.

 NOTIFY_STATE_REQUEST
   Only receive the onStateChange event if the aStateFlags parameter
   includes nsIWebProgressListener::STATE_IS_REQUEST.
   
 NOTIFY_STATE_DOCUMENT
   Only receive the onStateChange event if the aStateFlags parameter
   includes nsIWebProgressListener::STATE_IS_DOCUMENT.

 NOTIFY_STATE_NETWORK
   Only receive the onStateChange event if the aStateFlags parameter
   includes nsIWebProgressListener::STATE_IS_NETWORK.

 NOTIFY_STATE_WINDOW
   Only receive the onStateChange event if the aStateFlags parameter
   includes nsIWebProgressListener::STATE_IS_WINDOW.

 NOTIFY_STATE_ALL
   Receive all onStateChange events.
const unsigned long NOTIFY_STATE_REQUEST = 1

        
const unsigned long NOTIFY_STATE_DOCUMENT = 2

        
const unsigned long NOTIFY_STATE_NETWORK = 4

        
const unsigned long NOTIFY_STATE_WINDOW = 8

        
const unsigned long NOTIFY_STATE_ALL = 15
 These flags indicate the other events to observe, corresponding to the
 other four methods defined on nsIWebProgressListener.

 NOTIFY_PROGRESS
   Receive onProgressChange events.

 NOTIFY_STATUS
   Receive onStatusChange events.

 NOTIFY_SECURITY
   Receive onSecurityChange events.

 NOTIFY_LOCATION
   Receive onLocationChange events.

 NOTIFY_REFRESH
   Receive onRefreshAttempted events.
   This is defined on nsIWebProgressListener2.
const unsigned long NOTIFY_PROGRESS = 16

        
const unsigned long NOTIFY_STATUS = 32

        
const unsigned long NOTIFY_SECURITY = 64

        
const unsigned long NOTIFY_LOCATION = 128

        
const unsigned long NOTIFY_REFRESH = 256
 This flag enables all notifications.
const unsigned long NOTIFY_ALL = 511

Attributes

 The DOM window associated with this nsIWebProgress instance.

 @throw NS_ERROR_FAILURE
        Indicates that there is no associated DOM window.
readonly attribute nsIDOMWindow DOMWindow
 Indicates whether or not a document is currently being loaded
 in the context of this nsIWebProgress instance.
readonly attribute PRBool isLoadingDocument

Methods

 Registers a listener to receive web progress events.

 @param aListener
        The listener interface to be called when a progress event occurs.
        This object must also implement nsISupportsWeakReference.
 @param aNotifyMask
        The types of notifications to receive.

 @throw NS_ERROR_INVALID_ARG
        Indicates that aListener was either null or that it does not
        support weak references.
 @throw NS_ERROR_FAILURE
        Indicates that aListener was already registered.
void addProgressListener(in nsIWebProgressListener aListener, in unsigned long aNotifyMask)
 Removes a previously registered listener of progress events.

 @param aListener
        The listener interface previously registered with a call to
        addProgressListener.

 @throw NS_ERROR_FAILURE
        Indicates that aListener was not registered.
void removeProgressListener(in nsIWebProgressListener aListener)