diff --git a/dom/base/nsDeprecatedOperationList.h b/dom/base/nsDeprecatedOperationList.h index ae25ae375720..8fb381d9de3d 100644 --- a/dom/base/nsDeprecatedOperationList.h +++ b/dom/base/nsDeprecatedOperationList.h @@ -49,3 +49,4 @@ DEPRECATED_OPERATION(PrefixedImageSmoothingEnabled) DEPRECATED_OPERATION(PrefixedFullscreenAPI) DEPRECATED_OPERATION(LenientSetter) DEPRECATED_OPERATION(FileLastModifiedDate) +DEPRECATED_OPERATION(ImageBitmapRenderingContext_TransferImageBitmap) diff --git a/dom/canvas/ImageBitmapRenderingContext.cpp b/dom/canvas/ImageBitmapRenderingContext.cpp index 33845264e536..8f5074554254 100644 --- a/dom/canvas/ImageBitmapRenderingContext.cpp +++ b/dom/canvas/ImageBitmapRenderingContext.cpp @@ -50,6 +50,12 @@ ImageBitmapRenderingContext::ClipToIntrinsicSize() void ImageBitmapRenderingContext::TransferImageBitmap(ImageBitmap& aImageBitmap) +{ + TransferFromImageBitmap(aImageBitmap); +} + +void +ImageBitmapRenderingContext::TransferFromImageBitmap(ImageBitmap& aImageBitmap) { Reset(); mImage = aImageBitmap.TransferAsImage(); diff --git a/dom/canvas/ImageBitmapRenderingContext.h b/dom/canvas/ImageBitmapRenderingContext.h index 538a67c60eff..0a72aa427ddb 100644 --- a/dom/canvas/ImageBitmapRenderingContext.h +++ b/dom/canvas/ImageBitmapRenderingContext.h @@ -25,7 +25,7 @@ namespace dom { /** * The purpose of ImageBitmapRenderingContext is to provide a faster and efficient - * way to display ImageBitmap. Simply call TransferImageBitmap() then we'll transfer + * way to display ImageBitmap. Simply call TransferFromImageBitmap() then we'll transfer * the surface of ImageBitmap to this context and then to use it to display. * * See more details in spec: https://wiki.whatwg.org/wiki/OffscreenCanvas @@ -47,6 +47,7 @@ public: NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(ImageBitmapRenderingContext) void TransferImageBitmap(ImageBitmap& aImageBitmap); + void TransferFromImageBitmap(ImageBitmap& aImageBitmap); // nsICanvasRenderingContextInternal virtual int32_t GetWidth() const override; diff --git a/dom/canvas/test/test_bitmaprenderer.html b/dom/canvas/test/test_bitmaprenderer.html index 32361c645476..4c76fae9b8dc 100644 --- a/dom/canvas/test/test_bitmaprenderer.html +++ b/dom/canvas/test/test_bitmaprenderer.html @@ -20,7 +20,7 @@ onmessage = function(event) { var ctx = offscreenCanvas.getContext('bitmaprenderer'); ok(!!ctx, "Get bitmaprenderer context on worker."); - ctx.transferImageBitmap(bitmap); + ctx.transferFromImageBitmap(bitmap); var resultBitmap = offscreenCanvas.transferToImageBitmap(); postMessage({"type": "bitmap", bitmap: resultBitmap}, [resultBitmap]); } @@ -57,7 +57,7 @@ function runTest(canvasWidth, canvasHeight, nextTest) { var canvas2 = createCanvas(90, 90); var ctx2 = canvas2.getContext("bitmaprenderer"); - ctx2.transferImageBitmap(bmp); + ctx2.transferFromImageBitmap(bmp); ok(canvasRef.toDataURL() == canvas2.toDataURL(), "toDataURL should return same result."); @@ -109,7 +109,7 @@ function scaleTest() { // Create a large canvas then shrink. var canvas3 = createCanvas(128, 128); var ctx3 = canvas3.getContext("bitmaprenderer"); - ctx3.transferImageBitmap(bitmaps[0]); + ctx3.transferFromImageBitmap(bitmaps[0]); var snapshotLargeRef = snapshotWindow(window); canvas3.width = 32; @@ -120,7 +120,7 @@ function scaleTest() { // Create a small canvas then grow. var canvas4 = createCanvas(32, 32); var ctx4 = canvas4.getContext("bitmaprenderer"); - ctx4.transferImageBitmap(bitmaps[1]); + ctx4.transferFromImageBitmap(bitmaps[1]); var snapshotSmallRef = snapshotWindow(window); canvas4.width = 128; @@ -155,7 +155,7 @@ function runTestOnWorker() { } else if (event.data.type == "bitmap") { var canvas2 = createCanvas(64, 64); var ctx2 = canvas2.getContext('bitmaprenderer'); - ctx2.transferImageBitmap(event.data.bitmap); + ctx2.transferFromImageBitmap(event.data.bitmap); ok(canvas1.toDataURL() == canvas2.toDataURL(), 'toDataURL should be the same'); SimpleTest.finish(); } diff --git a/dom/canvas/test/test_offscreencanvas_toimagebitmap.html b/dom/canvas/test/test_offscreencanvas_toimagebitmap.html index a7dd30eab470..e07f4f3352a5 100644 --- a/dom/canvas/test/test_offscreencanvas_toimagebitmap.html +++ b/dom/canvas/test/test_offscreencanvas_toimagebitmap.html @@ -35,17 +35,17 @@ function runTest() { var htmlCanvas = document.getElementById("c"); var bitmapRenderer = htmlCanvas.getContext("bitmaprenderer"); - bitmapRenderer.transferImageBitmap(msg.bitmap); + bitmapRenderer.transferFromImageBitmap(msg.bitmap); ok(c.toDataURL() == htmlCanvas.toDataURL(), "imagebitmap should return a 64x64 green square"); // The ownership of msg.bitmap should be transferred to canvas "c" when - // we called transferImageBitmap. So we test if the ownership is actually + // we called transferFromImageBitmap. So we test if the ownership is actually // transferred here. var htmlCanvas = document.getElementById("c2"); var bitmapRenderer = htmlCanvas.getContext("bitmaprenderer"); - bitmapRenderer.transferImageBitmap(msg.bitmap); + bitmapRenderer.transferFromImageBitmap(msg.bitmap); SimpleTest.doesThrow( function() { c2.toDataURL(); }, diff --git a/dom/locales/en-US/chrome/dom/dom.properties b/dom/locales/en-US/chrome/dom/dom.properties index 89ea3c0c8bae..612c209c9d93 100644 --- a/dom/locales/en-US/chrome/dom/dom.properties +++ b/dom/locales/en-US/chrome/dom/dom.properties @@ -294,6 +294,8 @@ PushMessageBadCryptoError=The ServiceWorker for scope ‘%1$S’ failed to decry # LOCALIZATION NOTE: %1$S is the type of a DOM event. 'passive' is a literal parameter from the DOM spec. PreventDefaultFromPassiveListenerWarning=Ignoring ‘preventDefault()’ call on event of type ‘%1$S’ from a listener registered as ‘passive’. FileLastModifiedDateWarning=File.lastModifiedDate is deprecated. Use File.lastModified instead. +# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated +ImageBitmapRenderingContext_TransferImageBitmap=ImageBitmapRenderingContext.transferImageBitmap is deprecated and will be removed soon. Use ImageBitmapRenderingContext.transferFromImageBitmap instead. ChromeScriptedDOMParserWithoutPrincipal=Creating DOMParser without a principal is deprecated. IIRFilterChannelCountChangeWarning=IIRFilterNode channel count changes may produce audio glitches. BiquadFilterChannelCountChangeWarning=BiquadFilterNode channel count changes may produce audio glitches. diff --git a/dom/webidl/ImageBitmapRenderingContext.webidl b/dom/webidl/ImageBitmapRenderingContext.webidl index 4696427b2ea6..b94447cd96db 100644 --- a/dom/webidl/ImageBitmapRenderingContext.webidl +++ b/dom/webidl/ImageBitmapRenderingContext.webidl @@ -32,5 +32,9 @@ interface ImageBitmapRenderingContext { // would be covered by the canvas's bitmap which are not covered by // the supplied ImageBitmap are rendered transparent black. Any CSS // styles affecting the display of the canvas are applied as usual. + void transferFromImageBitmap(ImageBitmap bitmap); + + // Deprecated version of transferFromImageBitmap + [Deprecated="ImageBitmapRenderingContext_TransferImageBitmap"] void transferImageBitmap(ImageBitmap bitmap); };