nsIWebProgress
From MDC
Contents |
[edit] Summary
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.
nsIWebProgress is defined in uriloader/base/nsIWebProgress.idl. It is scriptable and
has been frozen since Gecko 1.8.0.
[edit] Interface Code
[scriptable, uuid(570F39D0-EFD0-11d3-B093-00A024FFC08C)]
interface nsIWebProgress : nsISupports
{
const unsigned long NOTIFY_STATE_REQUEST = 0x00000001;
const unsigned long NOTIFY_STATE_DOCUMENT = 0x00000002;
const unsigned long NOTIFY_STATE_NETWORK = 0x00000004;
const unsigned long NOTIFY_STATE_WINDOW = 0x00000008;
const unsigned long NOTIFY_STATE_ALL = 0x0000000f;
const unsigned long NOTIFY_PROGRESS = 0x00000010;
const unsigned long NOTIFY_STATUS = 0x00000020;
const unsigned long NOTIFY_SECURITY = 0x00000040;
const unsigned long NOTIFY_LOCATION = 0x00000080;
const unsigned long NOTIFY_ALL = 0x000000ff;
void addProgressListener(in nsIWebProgressListener aListener,
in unsigned long aNotifyMask);
void removeProgressListener(in nsIWebProgressListener aListener);
readonly attribute nsIDOMWindow DOMWindow;
readonly attribute PRBool isLoadingDocument;
};
[edit] Constants
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.
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.
[edit] Methods
[edit] addProgressListener
void addProgressListener(in nsIWebProgressListener aListener,
in unsigned long aNotifyMask);
Registers a listener to receive web progress events.
[edit] Parameters
aListener
- The listener interface to be called when a progress event occurs.
- This object must also implement nsISupportsWeakReference.
aNotifyMask
- The types of notifications to receive.
[edit] Exceptions
NS_ERROR_INVALID_ARG
- Indicates that aListener was either null or that it does not support weak references.
NS_ERROR_FAILURE
- Indicates that aListener was already registered.
[edit] removeProgressListener
void removeProgressListener(in nsIWebProgressListener aListener);
[edit] Parameters
aListener
- The listener interface previously registered with a call to addProgressListener.
[edit] Exceptions
NS_ERROR_FAILURE
- Indicates that aListener was not registered.
[edit] Attributes
[edit] DOMWindow
readonly attribute nsIDOMWindow DOMWindow;
The DOM window associated with this nsIWebProgress instance.
[edit] Exceptions
NS_ERROR_FAILURE
- Indicates that there is no associated DOM window.
[edit] isLoadingDocument
readonly attribute PRBool isLoadingDocument;
Indicates whether or not a document is currently being loaded in the context of this nsIWebProgress instance.