Backed out changeset b3389fd511a0 (bug 1795506) for causing failures complaining about transferFromImageBitmap. CLOSED TREE

This commit is contained in:
Butkovits Atila 2023-01-23 18:30:42 +02:00
parent e8d9ad8d88
commit cfb5b51ba3
4 changed files with 10 additions and 14 deletions

View file

@ -62,23 +62,18 @@ void ImageBitmapRenderingContext::GetCanvas(
} }
} }
void ImageBitmapRenderingContext::TransferImageBitmap(ImageBitmap& aImageBitmap, void ImageBitmapRenderingContext::TransferImageBitmap(
ErrorResult& aRv) { ImageBitmap& aImageBitmap) {
TransferFromImageBitmap(&aImageBitmap, aRv); TransferFromImageBitmap(&aImageBitmap);
} }
void ImageBitmapRenderingContext::TransferFromImageBitmap( void ImageBitmapRenderingContext::TransferFromImageBitmap(
ImageBitmap* aImageBitmap, ErrorResult& aRv) { ImageBitmap* aImageBitmap) {
ResetBitmap(); ResetBitmap();
if (aImageBitmap) { if (aImageBitmap) {
mImage = aImageBitmap->TransferAsImage(); mImage = aImageBitmap->TransferAsImage();
if (!mImage) {
aRv.ThrowInvalidStateError("The input ImageBitmap has been detached");
return;
}
if (aImageBitmap->IsWriteOnly()) { if (aImageBitmap->IsWriteOnly()) {
if (mCanvasElement) { if (mCanvasElement) {
mCanvasElement->SetWriteOnly(); mCanvasElement->SetWriteOnly();

View file

@ -57,8 +57,8 @@ class ImageBitmapRenderingContext final
void GetCanvas( void GetCanvas(
Nullable<OwningHTMLCanvasElementOrOffscreenCanvas>& retval) const; Nullable<OwningHTMLCanvasElementOrOffscreenCanvas>& retval) const;
void TransferImageBitmap(ImageBitmap& aImageBitmap, ErrorResult& aRv); void TransferImageBitmap(ImageBitmap& aImageBitmap);
void TransferFromImageBitmap(ImageBitmap* aImageBitmap, ErrorResult& aRv); void TransferFromImageBitmap(ImageBitmap* aImageBitmap);
// nsICanvasRenderingContextInternal // nsICanvasRenderingContextInternal
virtual int32_t GetWidth() override { return mWidth; } virtual int32_t GetWidth() override { return mWidth; }

View file

@ -34,10 +34,9 @@ interface ImageBitmapRenderingContext {
// would be covered by the canvas's bitmap which are not covered by // would be covered by the canvas's bitmap which are not covered by
// the supplied ImageBitmap are rendered transparent black. Any CSS // the supplied ImageBitmap are rendered transparent black. Any CSS
// styles affecting the display of the canvas are applied as usual. // styles affecting the display of the canvas are applied as usual.
[Throws]
undefined transferFromImageBitmap(ImageBitmap? bitmap); undefined transferFromImageBitmap(ImageBitmap? bitmap);
// Deprecated version of transferFromImageBitmap // Deprecated version of transferFromImageBitmap
[Deprecated="ImageBitmapRenderingContext_TransferImageBitmap", Throws] [Deprecated="ImageBitmapRenderingContext_TransferImageBitmap"]
undefined transferImageBitmap(ImageBitmap bitmap); undefined transferImageBitmap(ImageBitmap bitmap);
}; };

View file

@ -1,3 +1,5 @@
[transferFromImageBitmap-detached.html] [transferFromImageBitmap-detached.html]
expected: expected:
if (os == "android") and fission: [TIMEOUT, OK] if (os == "android") and fission: [TIMEOUT, OK]
[Test transferFromImageBitmap(image) with a detached image should throw InvalidStateError]
expected: FAIL