Interface nsILoadGroupType

A load group maintains a collection of nsIRequest objects. This is used in lots of places where groups of requests need to be tracked. For example, Document::mDocumentLoadGroup is used to track all requests made for subdocuments in order to track page load progress and allow all requests made on behalf of the document to be stopped, etc.

Hierarchy

Properties

activeCount: number

Returns the count of "active" requests (ie. requests without the LOAD_BACKGROUND bit set).

canceledReason: string
defaultLoadFlags: nsLoadFlags

The set of load flags that will be added to all new requests added to this group. Any existing requests in the load group are not modified, so it is expected these flags will be added before requests are added to the group - typically via nsIDocShell::defaultLoadFlags on a new docShell. Note that these flags are not added to the default request for the load group; it is expected the default request will already have these flags (again, courtesy of setting nsIDocShell::defaultLoadFlags before the docShell has created the default request.)

defaultLoadRequest: nsIRequest

Accesses the default load request for the group. Each time a number of requests are added to a group, the defaultLoadRequest may be set to indicate that all of the requests are related to a base request.

The load group inherits its load flags from the default load request. If the default load request is NULL, then the group's load flags are not changed.

groupObserver: nsIRequestObserver

The group observer is notified when requests are added to and removed from this load group. The groupObserver is weak referenced.

isBrowsingContextDiscarded: boolean

Returns true if the loadGroup belongs to a discarded context, such as, a terminated private browsing session.

loadFlags: nsLoadFlags

The load flags of this request. Bits 0-15 are reserved.

When added to a load group, this request's load flags are merged with the load flags of the load group.

loadGroup: nsILoadGroup

The load group of this request. While pending, the request is a member of the load group. It is the responsibility of the request to implement this policy.

name: string

The name of the request. Often this is the URI of the request.

notificationCallbacks: nsIInterfaceRequestor

Notification callbacks for the load group.

requestContextID: number

Context for managing things like js/css connection blocking, and per-tab connection grouping.

requests: nsISimpleEnumerator

Returns the requests contained directly in this group. Enumerator element type: nsIRequest.

status: number

The error status associated with the request.

Methods

  • Increases the reference count for this interface. The associated instance will not be deleted unless the reference count is returned to zero.

    Returns

    The resulting reference count.

    Returns number

  • Parameters

    • aIID: object
    • Optional aInstancePtr: object

    Returns any

  • A run time mechanism for interface discovery.

    Returns

    NS_OK if the interface is supported by the associated instance, NS_NOINTERFACE if it is not.

    aInstancePtr must not be null.

    Parameters

    • aIID: object

      [in] A requested interface IID

    • aInstancePtr: object

      [out] A pointer to an interface pointer to receive the result.

    Returns void

  • Decreases the reference count for this interface. Generally, if the reference count returns to zero, the associated instance is deleted.

    Returns

    The resulting reference count.

    Returns number

  • Adds a new request to the group. This will cause the default load flags to be applied to the request. If this is a foreground request then the groupObserver's onStartRequest will be called.

    If the request is the default load request or if the default load request is null, then the load group will inherit its load flags from the request.

    Parameters

    • aRequest: nsIRequest
    • aContext: nsISupports

    Returns void

  • Cancels the current request. This will close any open input or output streams and terminate any async requests. Users should normally pass NS_BINDING_ABORTED, although other errors may also be passed. The error passed in will become the value of the status attribute.

    Implementations must not send any notifications (e.g. via nsIRequestObserver) synchronously from this function. Similarly, removal from the load group (if any) must also happen asynchronously.

    Requests that use nsIStreamListener must not call onDataAvailable anymore after cancel has been called.

    Parameters

    • aStatus: number

      the reason for canceling this request.

      NOTE: most nsIRequest implementations expect aStatus to be a failure code; however, some implementations may allow aStatus to be a success code such as NS_OK. In general, aStatus should be a failure code.

    Returns void

  • Parameters

    • aStatus: number
    • aReason: string

    Returns void

  • These methods encode/decode the TRR mode to/from the loadFlags. Helper methods Get/SetTRRModeImpl are provided so implementations don't need to duplicate code.

    Requests with TRR_DEFAULT_MODE will use the mode indicated by the pref

    • see network.trr.mode in all.js Requests with TRR_DISABLED_MODE will always use native DNS, even if the pref is set to mode3 (TRR-only). Requests with TRR_FIRST_MODE will first use TRR then fallback to regular DNS, unless TRR is disabled by setting the pref to mode5, parental control being enabled, or the domain being in the exclusion list. Requests with TRR_ONLY_MODE will only use TRR, unless not allowed by the same conditions mentioned above.

    Returns nsIRequest_TRRMode

  • Indicates whether the request is pending. nsIRequest::isPending is true when there is an outstanding asynchronous event that will make the request no longer be pending. Requests do not necessarily start out pending; in some cases, requests have to be explicitly initiated (e.g. nsIChannel implementations are only pending once asyncOpen returns successfully).

    Requests can become pending multiple times during their lifetime.

    Returns

    TRUE if the request has yet to reach completion.

    Returns

    FALSE if the request has reached completion (e.g., after OnStopRequest has fired).

    Note

    Suspended requests are still considered pending.

    Returns boolean

  • Removes a request from the group. If this is a foreground request then the groupObserver's onStopRequest will be called.

    By the time this call ends, aRequest will have been removed from the loadgroup, even if this function throws an exception.

    Parameters

    • aRequest: nsIRequest
    • aContext: nsISupports
    • aStatus: number

    Returns void

  • Resumes the current request. This may have the effect of re-opening any underlying transport and will resume the delivery of data to any open streams.

    Returns void

  • Parameters

    • mode: nsIRequest_TRRMode

    Returns void

  • Suspends the current request. This may have the effect of closing any underlying transport (in order to free up resources), although any open streams remain logically opened and will continue delivering data when the transport is resumed.

    Calling cancel() on a suspended request must not send any notifications (such as onstopRequest) until the request is resumed.

    NOTE: some implementations are unable to immediately suspend, and may continue to deliver events already posted to an event queue. In general, callers should be capable of handling events even after suspending a request.

    Returns void

Generated using TypeDoc