Bug 1304767 - Deprecated ImageBitmapRenderingContext.transferImageBitmap. r=Ehsan

Deprecated ImageBitmapRenderingContext.transferImageBitmap and replaced
it with ImageBitmapRenderingContext.transferFromImageBitmap.

MozReview-Commit-ID: BbNgKrluhT7

--HG--
extra : rebase_source : 2aa3dbfc3acc5d8b1e451111ddbb2cac63f40433
This commit is contained in:
Morris Tseng 2016-10-07 17:14:34 +08:00
parent 02a3f88827
commit caefbd2d51
7 changed files with 23 additions and 9 deletions

View File

@ -49,3 +49,4 @@ DEPRECATED_OPERATION(PrefixedImageSmoothingEnabled)
DEPRECATED_OPERATION(PrefixedFullscreenAPI)
DEPRECATED_OPERATION(LenientSetter)
DEPRECATED_OPERATION(FileLastModifiedDate)
DEPRECATED_OPERATION(ImageBitmapRenderingContext_TransferImageBitmap)

View File

@ -50,6 +50,12 @@ ImageBitmapRenderingContext::ClipToIntrinsicSize()
void
ImageBitmapRenderingContext::TransferImageBitmap(ImageBitmap& aImageBitmap)
{
TransferFromImageBitmap(aImageBitmap);
}
void
ImageBitmapRenderingContext::TransferFromImageBitmap(ImageBitmap& aImageBitmap)
{
Reset();
mImage = aImageBitmap.TransferAsImage();

View File

@ -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;

View File

@ -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();
}

View File

@ -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(); },

View File

@ -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.

View File

@ -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);
};