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.
Inherits from: nsISupports
void addProgressListener(in nsIWebProgressListener aListener, in unsigned long aNotifyMask); |
void removeProgressListener(in nsIWebProgressListener aListener); |
Attribute | Type | Description |
DOMWindow |
| The DOM window associated with this nsIWebProgress instance. Read only. Exceptions thrown
|
isLoadingDocument | PRBool | Indicates whether or not a document is currently being loaded in the context of this nsIWebProgress instance. Read only. |
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()
.
Constant | Value | Description |
NOTIFY_STATE_REQUEST | 0x00000001 | Only receive the nsIWebProgressListener.onStateChange() event if the aStateFlags parameter includes nsIWebProgressListener ::STATE_IS_REQUEST. |
NOTIFY_STATE_DOCUMENT | 0x00000002 | Only receive the nsIWebProgressListener.onStateChange() event if the aStateFlags parameter includes nsIWebProgressListener ::STATE_IS_DOCUMENT. |
NOTIFY_STATE_NETWORK | 0x00000004 | Only receive the nsIWebProgressListener.onStateChange() event if the aStateFlags parameter includes nsIWebProgressListener ::STATE_IS_NETWORK. |
NOTIFY_STATE_WINDOW | 0x00000008 | Only receive the nsIWebProgressListener.onStateChange() event if the aStateFlags parameter includes nsIWebProgressListener ::STATE_IS_WINDOW. |
NOTIFY_STATE_ALL | 0x0000000f | Receive all nsIWebProgressListener.onStateChange() events. |
These flags indicate the other events to observe, corresponding to the other four methods defined on nsIWebProgressListener
.
Constant | Value | Description |
NOTIFY_PROGRESS | 0x00000010 | Receive nsIWebProgressListener.onProgressChange() events. |
NOTIFY_STATUS | 0x00000020 | Receive nsIWebProgressListener.onStatusChange() events. |
NOTIFY_SECURITY | 0x00000040 | Receive nsIWebProgressListener.onSecurityChange() events. |
NOTIFY_LOCATION | 0x00000080 | Receive nsIWebProgressListener.onLocationChange() events. |
NOTIFY_REFRESH | 0x00000100 | Receive nsIWebProgressListener2.onRefreshAttempted() events. This is defined on nsIWebProgressListener2 . |
NOTIFY_ALL | 0x000000ff <= Gecko 1.8.10x000001ff > Gecko 1.8.1 | This flag enables all notifications. |
Registers a listener to receive web progress events.
void addProgressListener( in nsIWebProgressListener aListener, in unsigned long aNotifyMask );
aListener
nsISupportsWeakReference
.aNotifyMask
NS_ERROR_INVALID_ARG
NS_ERROR_FAILURE
Removes a previously registered listener of progress events.
void removeProgressListener( in nsIWebProgressListener aListener );
aListener
addProgressListener()
.NS_ERROR_FAILURE