imgIRequest 编辑

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

AttributeTypeDescription
CORSModelongThe CORS mode that this image was loaded with. Read only.
decoderObserverimgIDecoderObserverRead only.
imageimgIContainerThe image container. Read only.
imagePrincipalnsIPrincipalThe principal gotten from the channel the image was loaded from. Read only.
imageStatusunsigned longStatus flags of the STATUS_* variety. Read only.
mimeTypestringRead only.
URInsIURIThe 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

ConstantValueDescription
STATUS_NONE0x0

Nothing to report.

STATUS_SIZE_AVAILABLE0x1We 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_PARTIAL0x2Used 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_COMPLETE0x4The data has been fully loaded to memory, but not necessarily fully decoded.
STATUS_ERROR0x8An error occurred loading the image.
STATUS_FRAME_COMPLETE0x10The first frame has been completely decoded.
STATUS_DECODE_COMPLETE0x20The whole image has been decoded.
CORS_NONE1

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_ANONYMOUS2
CORS_USE_CREDENTIALS3

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:72 次

字数:10437

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文