| Index: LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html | 
| diff --git a/LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html b/LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html | 
| index 06f6e6c0114c6c3c8b4f886d85ee2a28626ec089..c1722e7e3796e15d592d5fda17f9eb10b423ef87 100644 | 
| --- a/LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html | 
| +++ b/LayoutTests/fast/canvas/canvas-createImageBitmap-recursive.html | 
| @@ -59,35 +59,56 @@ image.onload = imageLoaded; | 
| image.src = aCanvas.toDataURL(); | 
|  | 
| function imageLoaded() { | 
| -    var bitmapFromImage, bitmapFromCanvas; | 
| -    var p1 = createImageBitmap(image, -10, -10, 20, 20).then(function(imageBitmap) { bitmapFromImage = imageBitmap }); | 
| -    var p2 = createImageBitmap(aCanvas, 10, 10, 20, 20).then(function(imageBitmap) { bitmapFromCanvas = imageBitmap }); | 
| -    Promise.every(p1, p2).then(function() { | 
| -        checkBitmaps(bitmapFromImage, bitmapFromCanvas); | 
| +    var bitmaps = {}; | 
| +    var p0 = createImageBitmap(image, -10, -10, 20, 20).then(function(imageBitmap) { bitmaps.upperLeft1 = imageBitmap }); | 
| +    var p1 = createImageBitmap(aCanvas, -10, -10, 20, 20).then(function(imageBitmap) { bitmaps.upperLeft2 = imageBitmap }); | 
| +    var p2 = createImageBitmap(image, 10, 10, 20, 20).then(function(imageBitmap) { bitmaps.lowerRight1 = imageBitmap }); | 
| +    var p3 = createImageBitmap(aCanvas, 10, 10, 20, 20).then(function(imageBitmap) { bitmaps.lowerRight2 = imageBitmap }); | 
| +    Promise.every(p0, p1, p2, p3).then(function() { | 
| +        checkBitmaps(bitmaps); | 
| }, shouldNotBeCalled); | 
| } | 
|  | 
| -function checkBitmaps(bitmapFromImage, bitmapFromCanvas) { | 
| +function checkBitmaps(bitmaps) { | 
| var funcs = []; | 
| -    var p1 = createImageBitmap(bitmapFromImage).then(function(imageBitmap) { | 
| +    var p0 = createImageBitmap(bitmaps.upperLeft1).then(function(imageBitmap) { | 
| funcs[0] = checkDrawnToRect(imageBitmap, 10, 10, 10, 10); | 
| }); | 
| -    var p2 = createImageBitmap(bitmapFromImage, -10, -10, 30, 30).then(function(imageBitmap) { | 
| +    var p1 = createImageBitmap(bitmaps.upperLeft1, -10, -10, 30, 30).then(function(imageBitmap) { | 
| funcs[1] = checkDrawnToRect(imageBitmap, 20, 20, 10, 10); | 
| }); | 
| -    var p3 = createImageBitmap(bitmapFromImage, 10, 10, 20, 20).then(function(imageBitmap) { | 
| +    var p2 = createImageBitmap(bitmaps.upperLeft1, 10, 10, 20, 20).then(function(imageBitmap) { | 
| funcs[2] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); | 
| }); | 
| -    var p4 = createImageBitmap(bitmapFromCanvas).then(function(imageBitmap) { | 
| -        funcs[3] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); | 
| +    var p3 = createImageBitmap(bitmaps.upperLeft2).then(function(imageBitmap) { | 
| +        funcs[3] = checkDrawnToRect(imageBitmap, 10, 10, 10, 10); | 
| }); | 
| -    var p5 = createImageBitmap(bitmapFromCanvas, -15, -10, 35, 40).then(function(imageBitmap) { | 
| -        funcs[4] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10); | 
| +    var p4 = createImageBitmap(bitmaps.upperLeft2, -10, -10, 30, 30).then(function(imageBitmap) { | 
| +        funcs[4] = checkDrawnToRect(imageBitmap, 20, 20, 10, 10); | 
| }); | 
| -    var p6 = createImageBitmap(bitmapFromCanvas, 5, 5, 10, 10).then(function(imageBitmap) { | 
| -        funcs[5] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5); | 
| +    var p5 = createImageBitmap(bitmaps.upperLeft2, 10, 10, 20, 20).then(function(imageBitmap) { | 
| +        funcs[5] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); | 
| }); | 
| -    Promise.every(p1, p2, p3, p4, p5, p6).then(function() { | 
| +    var p6 = createImageBitmap(bitmaps.lowerRight1).then(function(imageBitmap) { | 
| +        funcs[6] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); | 
| +    }); | 
| +    var p7 = createImageBitmap(bitmaps.lowerRight1, -15, -10, 35, 40).then(function(imageBitmap) { | 
| +        funcs[7] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10); | 
| +    }); | 
| +    var p8 = createImageBitmap(bitmaps.lowerRight1, 5, 5, 10, 10).then(function(imageBitmap) { | 
| +        funcs[8] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5); | 
| +    }); | 
| +    var p9 = createImageBitmap(bitmaps.lowerRight2).then(function(imageBitmap) { | 
| +        funcs[9] = checkDrawnToRect(imageBitmap, 0, 0, 10, 10); | 
| +    }); | 
| +    var p10 = createImageBitmap(bitmaps.lowerRight2, -15, -10, 35, 40).then(function(imageBitmap) { | 
| +        funcs[10] = checkDrawnToRect(imageBitmap, 15, 10, 10, 10); | 
| +    }); | 
| +    var p11 = createImageBitmap(bitmaps.lowerRight2, 5, 5, 10, 10).then(function(imageBitmap) { | 
| +        funcs[11] = checkDrawnToRect(imageBitmap, 0, 0, 5, 5); | 
| +    }); | 
| + | 
| +    Promise.every(p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11).then(function() { | 
| for (var i = 0; i < funcs.length; ++i) | 
| funcs[i](); | 
| finishJSTest(); | 
|  |