modules/libpr0n/public/imgIRequest.idlScriptable
Please add a summary to this article.
Inherits from: nsIRequest Last changed in Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5)

Method overview

void cancelAndForgetObserver(in nsresult aStatus);
imgIRequest clone(in imgIDecoderObserver aObserver);
void decrementAnimationConsumers();
imgIRequest getStaticRequest();
void incrementAnimationConsumers();
void lockImage();
void requestDecode();
void unlockImage();

Attributes

Attribute Type Description
CORSMode long The CORS mode that this image was loaded with. Read only.
decoderObserver imgIDecoderObserver Read only.
image imgIContainer The image container. Read only.
imagePrincipal nsIPrincipal The principal gotten from the channel the image was loaded from. Read only.
imageStatus unsigned long Status flags of the STATUS_* variety. Read only.
mimeType string Read only.
URI nsIURI The URI the image load was started with. Note that this might not be the actual URI for the image (for example if HTTP redirects happened during the load). Read only.

Constants

Constant Value Description
STATUS_NONE 0x0

Nothing to report.

STATUS_SIZE_AVAILABLE 0x1 We received enough image data from the network or filesystem that we know the width and height of the image, and have thus called SetSize() on the container.
STATUS_LOAD_PARTIAL 0x2 Used internally by imgRequest to flag that a request is being cancelled as a result of a failure of a proxy holder and not an internal failure. At least I think that's what it does. Regardless, there's no reason for this flag to be public, and it should either go away or become a private state flag within imgRequest. Do not rely on it.
STATUS_LOAD_COMPLETE 0x4 The data has been fully loaded to memory, but not necessarily fully decoded.
STATUS_ERROR 0x8 An error occurred loading the image.
STATUS_FRAME_COMPLETE 0x10 The first frame has been completely decoded.
STATUS_DECODE_COMPLETE 0x20 The whole image has been decoded.
CORS_NONE 1

CORS modes images can be loaded with.

By default, all images are loaded with CORS_NONE and cannot be used cross-origin in context like WebGL.

If an HTML img element has the crossorigin attribute set, the imgIRequest will be validated for cross-origin usage with CORS, and, if successful, will have its CORS mode set to the relevant type.
CORS_ANONYMOUS 2
CORS_USE_CREDENTIALS 3

Methods

cancelAndForgetObserver()

Cancels this request as in nsIRequest.Cancel(); further, also nulls out decoderObserver so it gets no further notifications from us.

Note: You should not use this in any new code; instead, use cancel(). Note that cancel() is asynchronous, which means that some time after you call it, the listener/observer will get an OnStopRequest(). This means that, if you're the observer, you can not call cancel() from your destructor.

void cancelAndForgetObserver(
  in nsresult aStatus
);
Parameters
aStatus

clone()

Clone this request; the returned request will have aObserver as the observer. aObserver will be notified synchronously (before the clone call returns) with all the notifications that have already been dispatched for this image load.

imgIRequest clone(
  in imgIDecoderObserver aObserver
);
Parameters
aObserver
Return value

 

decrementAnimationConsumers()

Tell the image it can forget about a request that the image animate.

void decrementAnimationConsumers();
Parameters

None.

getStaticRequest()

If this request is for an animated image, the method creates a new request which contains the current frame of the image. Otherwise returns the same request.

imgIRequest getStaticRequest();
Parameters

None.

Return value

 

incrementAnimationConsumers()

Requests that the image animate (if it has an animation).

void incrementAnimationConsumers();
Parameters

None.

lockImage()

Locks an image. If the image does not exist yet, locks it once it becomes available. The lock persists for the lifetime of the imgIRequest (until unlockImage() is called) even if the underlying image changes.

If you do not call unlockImage() by the time this imgIRequest goes away, it will be called for you automatically.

void lockImage();
Parameters

None.

requestDecode()

Requests a decode for the image.

imgIContainer has a requestDecode method, but callers may want to request a decode before the container has necessarily been instantiated. Calling requestDecode on the imgIRequest simply forwards along the request if the container already exists, or calls it once it gets OnStartContainer if the container does not yet exist.

void requestDecode();
Parameters

None.

unlockImage()

Unlocks an image.

void unlockImage();
Parameters

None.