summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas
diff options
context:
space:
mode:
authorxidachen <xidachen@chromium.org>2016-03-23 18:25:18 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-24 01:27:57 +0000
commiteb0d622c183ae08eb51e1ca68b84cbb16c564363 (patch)
tree6183d7e7486102e1b71cfab119a9b3e7d505e319 /third_party/WebKit/LayoutTests/fast/canvas
parent32f516395c1d165053be9b93ef9d2cbdfd94685a (diff)
downloadchromium_src-eb0d622c183ae08eb51e1ca68b84cbb16c564363.zip
chromium_src-eb0d622c183ae08eb51e1ca68b84cbb16c564363.tar.gz
chromium_src-eb0d622c183ae08eb51e1ca68b84cbb16c564363.tar.bz2
Use ImageDecoder for createImageBitmap(HTMLImageElement, premultiplyAlpha=false)
This is specifically for the case of premultiplyAlpha=false. Following is an example. Given an image with only one pixel with value of (255, 0, 0, 26), and we load the this image either as a Blob or a HTMLImageElement and call createImageBitmap with premultiplyAlpha=false. the ImageBitmap::copyBitmapData will return a pixel value of (197, 0, 0, 26) which is totally wrong. The reason it fails is that the SkImage that is extracted from ImageDecoder is always in kPremul alphaType even if "AlphaNotPremultiplied" is given to the ImageDecoder. With this CL: https://codereview.chromium.org/1820733004/, the extracted SkImage now has a kUnpremul alphaType. ImageBitmap should adapt to this change as well. So this CL make correction for the case of createImageBitmap from Blob and HTMLImageElement so that copyBitmapData will succeed with the SkImage extracted from ImageDecoder. We have also updated corresponding layout tests. In particular, we change an existing image's alpha channel from 128 to 26. In this case, if the ImageBitmap constructor handles premultiplyAlpha=false by first premultiply and then un-premultiply, we will see a large loss comparing with input. Here we can see that the color is very close (tolerance of 2) to its input image. Additionally, we added several new layout tests to test the cases of createImageBitmap(ImageBitmap) where the parameter ImageBitmap is created from various kinds of sources. 2 layout tests are deleted under fast/canvas/. The reason is that these layout tests uses 2d canvas to display an ImageBitmap, and it cannot distinguish an ImageBitmap created with premultiplyAlpha= false with an ImageBitmap created with true. Now that we have a large set of layout tests under fast/canvas/webgl, these 2 tests are redundant. Review URL: https://codereview.chromium.org/1809603004 Cr-Commit-Position: refs/heads/master@{#383004}
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas')
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options-expected.txt357
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options.html272
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options-expected.txt2833
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options.html576
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/red-green-semi-transparent.pngbin101 -> 102 bytes
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js6
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-blob.html4
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-canvas.html8
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob-expected.txt (renamed from third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-expected.txt)0
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob.html97
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas-expected.txt5
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas.html109
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data-expected.txt5
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html (renamed from third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap.html)10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-expected.txt5
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image.html93
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-data.html10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image.html4
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-video.html4
19 files changed, 337 insertions, 4061 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options-expected.txt
deleted file mode 100644
index 32a5aeb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options-expected.txt
+++ /dev/null
@@ -1,357 +0,0 @@
-Ensure correct behavior of drawImage with ImageBitmaps from video elements along with flipY option.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Checking HTMLVideoElement with imageOrientation: none with premultiplyAlphaOption: default.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: none with premultiplyAlphaOption: none.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: none with premultiplyAlphaOption: premultiply.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLVideoElement with imageOrientation: flipY with premultiplyAlphaOption: default.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: flipY with premultiplyAlphaOption: none.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is opaque
-PASS This pixel is opaque
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-PASS This pixel is transparent black
-Checking HTMLVideoElement with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLVideoElement with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLVideoElement with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLVideoElement with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLVideoElement with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options.html
deleted file mode 100644
index a08367b..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-video-with-options.html
+++ /dev/null
@@ -1,272 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
-<body>
-<script>
-
-description("Ensure correct behavior of drawImage with ImageBitmaps from video elements along with flipY option.");
-window.jsTestIsAsync = true;
-
-function jsWrapperClass(node)
-{
- // returns the ClassName of node
- if (!node)
- return "[null]";
- var string = Object.prototype.toString.apply(node);
-
- // string will be of the form [object ClassName]
- return string.substr(8, string.length - 9);
-}
-
-function shouldBeType(expression, className)
-{
- shouldBe("jsWrapperClass(" + expression + ")", "'" + className + "'");
-}
-
-function shouldBeOpaque(x, y) {
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[3] == 255) {
- testPassed("This pixel is opaque");
- return;
- }
- testFailed("This pixel is expected to be opaque, but it is actually: " + d);
-}
-
-function shouldBeClear(x, y) {
- // should be transparent black pixels
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 0 && d[1] == 0 && d[2] == 0 && d[3] == 0) {
- testPassed("This pixel is transparent black");
- return;
- }
- testFailed("This pixel is expected to be transparent black, but it is actually: " + d);
-}
-
-function clearContext() {
- ctx.clearRect(0, 0, 500, 500);
-}
-
-var bitmap;
-var video;
-var imageOrientationOptions = ["none", "flipY", "invalid"];
-var premultiplyAlphaOptions = ["default", "none", "premultiply", "invalid"];
-var optionIndexArray = [[0, 0], [0, 1], [0, 2], [0, 3],
- [1, 0], [1, 1], [1, 2], [1, 3],
- [2, 0], [2, 1], [2, 2], [2, 3]];
-var optionIndex = 0;
-
-var canvas = document.createElement("canvas");
-canvas.setAttribute("width", "500");
-canvas.setAttribute("height", "500");
-var ctx = canvas.getContext("2d");
-
-video = document.createElement("video");
-video.addEventListener("canplaythrough", videoLoaded, false);
-video.src = "../../compositing/resources/video.ogv";
-
-function videoLoaded() {
- if (optionIndex == optionIndexArray.length) {
- finishJSTest();
- return;
- }
- var optionIndex1 = optionIndexArray[optionIndex][0];
- var optionIndex2 = optionIndexArray[optionIndex][1];
- debug("Checking HTMLVideoElement with imageOrientation: " + imageOrientationOptions[optionIndex1] + " with premultiplyAlphaOption: " + premultiplyAlphaOptions[optionIndex2] + ".");
- var imageBitmaps = {};
- var p1 = createImageBitmap(video, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.noCrop = image });
- var p2 = createImageBitmap(video, 0, 0, 100, 100, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.crop = image });
- var p3 = createImageBitmap(video, 50, 50, 100, 100, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.cropRight = image });
- var p4 = createImageBitmap(video, 100, 100, 100, 100, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.cropCenter = image });
- var p5 = createImageBitmap(video, -100, -100, 600, 600, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.overCrop = image });
- var p6 = createImageBitmap(video, 100, 100, 500, 500, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.overCropRight = image });
- var p7 = createImageBitmap(video, 100, 100, -100, -100, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.negativeCrop = image });
- var p8 = createImageBitmap(video, -300, -300, 300, 300, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.empty = image });
- var p9 = createImageBitmap(video, 400, 300, 300, 300, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.emptyTwo = image });
- Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9]).then(function() {
- checkNoCrop(imageBitmaps.noCrop, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.crop, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.cropRight, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.cropCenter, imageOrientationOptions[optionIndex1]);
- checkOverCrop(imageBitmaps.overCrop, imageOrientationOptions[optionIndex1]);
- checkOverCropRight(imageBitmaps.overCropRight, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.negativeCrop, imageOrientationOptions[optionIndex1]);
- checkEmpty(imageBitmaps.empty, imageOrientationOptions[optionIndex1]);
- checkEmpty(imageBitmaps.emptyTwo, imageOrientationOptions[optionIndex1]);
- optionIndex++;
- videoLoaded();
- }, function(ex) {
- // when the options are invalid, we expect the promise to be rejected.
- if (imageOrientationOptions[optionIndex1] == "invalid" || premultiplyAlphaOptions[optionIndex2] == "invalid") {
- testPassed("createImageBitmap with invalid options are rejected");
- optionIndex++;
- videoLoaded();
- } else {
- testFailed("Promise was rejected." + ex);
- finishJSTest();
- return;
- }
- });
-}
-
-function checkNoCrop(imageBitmap, option) {
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
-
- // should be drawn to (0, 0), (352, 288)
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0);
- shouldBeOpaque(10, 10);
- shouldBeOpaque(100, 100);
- shouldBeOpaque(300, 50);
- shouldBeOpaque(350, 280);
- shouldBeClear(360, 40);
- shouldBeClear(80, 290);
-
- /*commenting out all cases because of crbug.com/578889
- // shrunk to (0, 0), (100, 100)
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 100, 100);
- shouldBeOpaque(40, 40);
- shouldBeOpaque(90, 90);
- shouldBeClear(10, 110);
- shouldBeClear(110, 10);
- shouldBeClear(110, 110);
-
- // shrunk to (100, 100), (250, 200)
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 100, 100, 150, 100);
- shouldBeClear(90, 90);
- shouldBeOpaque(110, 110);
- shouldBeOpaque(240, 190);
- shouldBeClear(110, 210);
- shouldBeClear(260, 110);
- shouldBeClear(260, 210);
-
- // black should be drawn to (100, 100), (200, 200)
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 100, 100, 100, 100, 100, 100, 100, 100);
- shouldBeClear(90, 90);
- shouldBeOpaque(110, 110);
- shouldBeOpaque(190, 190);
- shouldBeClear(10, 210);
- shouldBeClear(210, 10);
- shouldBeClear(210, 210);
-
- // nothing should be drawn
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 400, 300, 200, 200, 100, 100, 100, 100);
- shouldBeClear(10, 10);
- shouldBeClear(80, 80);
- shouldBeClear(150, 150);
- shouldBeClear(210, 210);*/
-}
-
-function checkCrop(imageBitmap, option) {
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
-
- // should be drawn to (0, 0), (100, 100)
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0);
- shouldBeOpaque(10, 10);
- shouldBeOpaque(90, 90);
- shouldBeClear(110, 110);
- shouldBeClear(210, 210);
-}
-
-function checkOverCrop(imageBitmap, option) {
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
-
- // should be drawn to (100, 100), (452, 388)
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "none") {
- shouldBeClear(10, 10);
- shouldBeClear(90, 90);
- shouldBeOpaque(110, 110);
- shouldBeOpaque(300, 200);
- shouldBeOpaque(450, 380);
- shouldBeClear(500, 50);
- shouldBeClear(50, 350);
- shouldBeClear(460, 390);
- } else {
- shouldBeClear(10, 590);
- shouldBeClear(90, 510);
- shouldBeOpaque(110, 490);
- shouldBeOpaque(300, 400);
- shouldBeOpaque(450, 220);
- shouldBeClear(500, 550);
- shouldBeClear(50, 250);
- shouldBeClear(460, 210);
- }
-
- /*commenting out all cases because of crbug.com/578889
- // should be drawn to (50, 50), (226, 194)
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0, 300, 300);
- if (option == "none") {
- shouldBeClear(10, 10);
- shouldBeClear(40, 40);
- shouldBeOpaque(60, 60);
- shouldBeOpaque(220, 190);
- shouldBeClear(230, 50);
- shouldBeClear(50, 200);
- shouldBeClear(230, 200);
- } else {
- shouldBeClear(10, 290);
- shouldBeClear(40, 260);
- shouldBeOpaque(60, 240);
- shouldBeOpaque(220, 110);
- shouldBeClear(230, 250);
- shouldBeClear(50, 100);
- shouldBeClear(230, 100);
- }*/
-}
-
-function checkOverCropRight(imageBitmap, option) {
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
-
- // should be drawn to (0, 0), (252, 188)
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "none") {
- shouldBeOpaque(10, 10);
- shouldBeOpaque(100, 100);
- shouldBeOpaque(200, 50);
- shouldBeOpaque(50, 150);
- shouldBeOpaque(250, 180);
- shouldBeClear(360, 40);
- shouldBeClear(80, 190);
- shouldBeClear(260, 190);
- } else {
- shouldBeOpaque(10, 490);
- shouldBeOpaque(100, 400);
- shouldBeOpaque(200, 450);
- shouldBeOpaque(50, 350);
- shouldBeOpaque(250, 320);
- shouldBeClear(360, 460);
- shouldBeClear(80, 310);
- shouldBeClear(260, 310);
- }
-}
-
-function checkEmpty(imageBitmap, option) {
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
-
- // nothing should be drawn
- clearContext();
- ctx.drawImage(imageBitmap, 0, 0);
- shouldBeClear(10, 10);
- shouldBeClear(90, 90);
- shouldBeClear(110, 110);
- shouldBeClear(210, 210);
-}
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options-expected.txt
deleted file mode 100644
index 2ebb350..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options-expected.txt
+++ /dev/null
@@ -1,2833 +0,0 @@
-Ensure correct behavior of drawImage with ImageBitmaps along with flipY option.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS testBitmap.width is imageWidth
-PASS testBitmap.height is imageHeight
-PASS testBitmap.width is imageWidth
-PASS testBitmap.height is imageHeight
-Checking HTMLImageElement with imageOrientation: none with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: none with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: none with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLImageElement with imageOrientation: flipY with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: flipY with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLImageElement with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLImageElement with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLImageElement with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLImageElement with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLImageElement with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: none with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: none with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: none with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: flipY with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: flipY with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking HTMLCanvasElement with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking HTMLCanvasElement with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: none with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: none with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: none with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: flipY with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: flipY with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageData with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageData with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: none with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: none with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: none with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: flipY with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: flipY with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking ImageBitmap with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking ImageBitmap with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: none with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: none with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: none with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: none with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: flipY with premultiplyAlphaOption: default.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: flipY with premultiplyAlphaOption: none.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: flipY with premultiplyAlphaOption: premultiply.
-Check no crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is imageWidth
-PASS bitmap.height is imageHeight
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop center.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop right.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 60
-PASS bitmap.height is 60
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is blue.
-PASS This pixel is blue.
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is green.
-PASS This pixel is green.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check over crop right.
-PASS bitmap.width is 50
-PASS bitmap.height is 50
-PASS This pixel is black.
-PASS This pixel is black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check crop.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 10
-PASS bitmap.height is 10
-PASS This pixel is red.
-PASS This pixel is red.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Check empty.
-PASS jsWrapperClass(bitmap) is 'ImageBitmap'
-PASS bitmap.width is 30
-PASS bitmap.height is 30
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-PASS This pixel is transparent black.
-Checking Blob with imageOrientation: flipY with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: invalid with premultiplyAlphaOption: default.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: invalid with premultiplyAlphaOption: none.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: invalid with premultiplyAlphaOption: premultiply.
-PASS createImageBitmap with invalid options are rejected
-Checking Blob with imageOrientation: invalid with premultiplyAlphaOption: invalid.
-PASS createImageBitmap with invalid options are rejected
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options.html
deleted file mode 100644
index d7a5bdc..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-createImageBitmap-drawImage-with-options.html
+++ /dev/null
@@ -1,576 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-<head>
-<script src="../../resources/js-test.js"></script>
-</head>
-<body>
-<script>
-
-description("Ensure correct behavior of drawImage with ImageBitmaps along with flipY option.");
-window.jsTestIsAsync = true;
-
-function jsWrapperClass(node)
-{
- // returns the ClassName of node
- if (!node)
- return "[null]";
- var string = Object.prototype.toString.apply(node);
-
- // string will be of the form [object ClassName]
- return string.substr(8, string.length - 9);
-}
-
-function shouldBeType(expression, className)
-{
- shouldBe("jsWrapperClass(" + expression + ")", "'" + className + "'");
-}
-
-function shouldNotBeCalled() {
- testFailed("createImageBitmap promise rejected.");
- finishJSTest();
-}
-
-function shouldBeRed(x, y) {
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 255 && d[1] == 0 && d[2] == 0 && d[3] == 255) {
- testPassed("This pixel is red.");
- return;
- }
- testFailed("This pixel is expected to be red, but it is actually " + d);
-}
-
-function shouldBeGreen(x, y) {
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 0 && d[1] == 255 && d[2] == 0 && d[3] == 255) {
- testPassed("This pixel is green.");
- return;
- }
- testFailed("This pixel is expected to be green, but it is actually " + d);
-}
-
-function shouldBeBlue(x, y) {
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 0 && d[1] == 0 && d[2] == 255 && d[3] == 255) {
- testPassed("This pixel is blue.");
- return;
- }
- testFailed("This pixel is expected to be blue, but it is actually " + d);
-}
-
-function shouldBeBlack(x, y) {
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 0 && d[1] == 0 && d[2] == 0 && d[3] == 255) {
- testPassed("This pixel is black.");
- return;
- }
- testFailed("This pixel is expected to be black, but it is actually " + d);
-}
-
-function shouldBeClear(x, y) {
- // should be transparent black pixels
- d = ctx.getImageData(x, y, 1, 1).data;
- if (d[0] == 0 && d[1] == 0 && d[2] == 0 && d[3] == 0) {
- testPassed("This pixel is transparent black.");
- return;
- }
- testFailed("This pixel is expected to be transparent black, but it is actually " + d);
-}
-
-function drawPattern(ctx) {
- // Draw a four-color pattern
- ctx.beginPath();
- ctx.fillStyle = "rgb(255, 0, 0)";
- ctx.fillRect(0, 0, 10, 10);
- ctx.fillStyle = "rgb(0, 255, 0)";
- ctx.fillRect(10, 0, 10, 10);
- ctx.fillStyle = "rgb(0, 0, 255)";
- ctx.fillRect(0, 10, 10, 10);
- ctx.fillStyle = "rgb(0, 0, 0)";
- ctx.fillRect(10, 10, 10, 10);
-}
-
-function clearContext(context) {
- context.clearRect(0, 0, 50, 50);
-}
-
-var bitmap;
-var image;
-var testBitmap; // this is an ImageBitmap that is uncropped. We use this to test createImageBitmap(testBitmap)
-var d; // image.imageData
-var elements;
-var imageOrientationOptions;
-var premultiplyAlphaOptions;
-var optionIndexArray;
-
-var imageWidth = 20;
-var imageHeight = 20;
-
-// Draw to an auxillary canvas.
-var aCanvas = document.createElement("canvas");
-aCanvas.width = imageWidth;
-aCanvas.height = imageHeight;
-var aCtx = aCanvas.getContext("2d");
-drawPattern(aCtx);
-
-var canvas = document.createElement("canvas");
-canvas.setAttribute("width", "50");
-canvas.setAttribute("height", "50");
-var ctx = canvas.getContext("2d");
-
-image = new Image();
-image.onload = imageLoaded;
-image.src = aCanvas.toDataURL();
-
-var imageLoaded = false;
-var imageBitmapLoaded = false;
-var blobLoaded = false;
-
-function imageLoaded() {
- createImageBitmap(image).then(imageBitmapLoadedCallback, shouldNotBeCalled);
- d = aCtx.getImageData(0, 0, 20, 20);
- imageLoaded = true;
- loaded();
-}
-
-function imageBitmapLoadedCallback(imageBitmap) {
- testBitmap = imageBitmap;
-
- shouldBe("testBitmap.width", "imageWidth");
- shouldBe("testBitmap.height", "imageHeight");
-
- // width and height are readonly
- testBitmap.width = 42;
- testBitmap.height = 42;
- shouldBe("testBitmap.width", "imageWidth");
- shouldBe("testBitmap.height", "imageHeight");
-
- imageBitmapLoaded = true;
- loaded();
-}
-
-var xhr = new XMLHttpRequest();
-xhr.open("GET", 'resources/pattern.png');
-xhr.responseType = 'blob';
-xhr.send();
-xhr.onload = function() {
- blob = xhr.response;
- blobLoaded = true;
- loaded();
-}
-
-function loaded() {
- if (imageLoaded && imageBitmapLoaded && blobLoaded) {
- // check all elements
- elements = [image, aCanvas, d, testBitmap, blob];
- imageOrientationOptions = ["none", "flipY", "invalid"];
- premultiplyAlphaOptions = ["default", "none", "premultiply", "invalid"];
- optionIndexArray = [[0, 0], [0, 1], [0, 2], [0, 3],
- [1, 0], [1, 1], [1, 2], [1, 3],
- [2, 0], [2, 1], [2, 2], [2, 3]];
- // wait for callback to finish before each check to ensure synchronous behavior
- nextCheck(0, 0);
- }
-}
-
-function nextCheck(elementIndex, optionIndex) {
- if (elementIndex == elements.length) {
- finishJSTest();
- return;
- }
- var element = elements[elementIndex];
- var optionIndex1 = optionIndexArray[optionIndex][0];
- var optionIndex2 = optionIndexArray[optionIndex][1];
- imageBitmaps = {};
- debug("Checking " + jsWrapperClass(element) + " with imageOrientation: " + imageOrientationOptions[optionIndex1] + " with premultiplyAlphaOption: " + premultiplyAlphaOptions[optionIndex2] + ".");
- var p1 = createImageBitmap(element, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.noCrop = image });
- var p2 = createImageBitmap(element, 0, 0, 10, 10, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.crop = image });
- var p3 = createImageBitmap(element, 5, 5, 10, 10, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.cropCenter = image });
- var p4 = createImageBitmap(element, 10, 10, 10, 10, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.cropRight = image });
- var p5 = createImageBitmap(element, -10, -10, 60, 60, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.overCrop = image });
- var p6 = createImageBitmap(element, 10, 10, 50, 50, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.overCropRight = image });
- var p7 = createImageBitmap(element, 10, 10, -10, -10, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.negativeCrop = image });
- var p8 = createImageBitmap(element, -30, -30, 30, 30, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.empty = image });
- var p9 = createImageBitmap(element, 40, 30, 30, 30, {imageOrientation: imageOrientationOptions[optionIndex1], premultiplyAlpha: premultiplyAlphaOptions[optionIndex2]}).then(function (image) { imageBitmaps.emptyTwo = image });
- Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9]).then(function() {
- checkNoCrop(imageBitmaps.noCrop, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.crop, imageOrientationOptions[optionIndex1]);
- checkCropCenter(imageBitmaps.cropCenter, imageOrientationOptions[optionIndex1]);
- checkCropRight(imageBitmaps.cropRight, imageOrientationOptions[optionIndex1]);
- checkOverCrop(imageBitmaps.overCrop, imageOrientationOptions[optionIndex1]);
- checkOverCropRight(imageBitmaps.overCropRight, imageOrientationOptions[optionIndex1]);
- checkCrop(imageBitmaps.negativeCrop, imageOrientationOptions[optionIndex1]);
- checkEmpty(imageBitmaps.empty, imageOrientationOptions[optionIndex1]);
- checkEmpty(imageBitmaps.emptyTwo, imageOrientationOptions[optionIndex1]);
- if (optionIndex == optionIndexArray.length - 1)
- nextCheck(elementIndex + 1, 0);
- else
- nextCheck(elementIndex, optionIndex + 1);
- }, function() {
- // when the options are invalid, we expect the promise to be rejected.
- if (imageOrientationOptions[optionIndex1] == "invalid" || premultiplyAlphaOptions[optionIndex2] == "invalid") {
- testPassed("createImageBitmap with invalid options are rejected");
- if (optionIndex == optionIndexArray.length - 1)
- nextCheck(elementIndex + 1, 0);
- else
- nextCheck(elementIndex, optionIndex + 1);
- } else {
- shouldNotBeCalled();
- }
- });
-}
-
-function checkNoCrop(imageBitmap, option) {
- debug("Check no crop.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "imageWidth");
- shouldBe("bitmap.height", "imageHeight");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlue(9, 9);
- shouldBeBlack(11, 9);
- shouldBeRed(9, 11);
- shouldBeGreen(11, 11);
- shouldBeGreen(19, 19);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- shouldBeClear(21, 21);
- } else {
- shouldBeRed(9, 9);
- shouldBeGreen(11, 9);
- shouldBeBlue(9, 11);
- shouldBeBlack(11, 11);
- shouldBeBlack(19, 19);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- shouldBeClear(21, 21);
- }
-
- /*commenting out these cases because of crbug.com/578889
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 10, 10);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlue(4, 4);
- shouldBeBlack(6, 4);
- shouldBeRed(4, 6);
- shouldBeGreen(6, 6);
- shouldBeGreen(9, 9);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- shouldBeClear(11, 11);
- } else {
- shouldBeRed(4, 4);
- shouldBeGreen(6, 4);
- shouldBeBlue(4, 6);
- shouldBeBlack(6, 6);
- shouldBeBlack(9, 9);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- shouldBeClear(11, 11);
- }
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 10, 10, 10, 10);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlue(14, 14);
- shouldBeBlack(16, 14);
- shouldBeRed(14, 16);
- shouldBeGreen(16, 16);
- shouldBeGreen(19, 19);
- shouldBeClear(11, 21);
- shouldBeClear(21, 11);
- shouldBeClear(21, 21);
- } else {
- shouldBeRed(14, 14);
- shouldBeGreen(16, 14);
- shouldBeBlue(14, 16);
- shouldBeBlack(16, 16);
- shouldBeBlack(19, 19);
- shouldBeClear(11, 21);
- shouldBeClear(21, 11);
- shouldBeClear(21, 21);
- }
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 10, 10, 10, 10, 10, 10, 10, 10);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeClear(9, 9);
- shouldBeGreen(11, 11);
- shouldBeGreen(19, 19);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- shouldBeClear(21, 21);
- } else {
- shouldBeClear(9, 9);
- shouldBeBlack(11, 11);
- shouldBeBlack(19, 19);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- shouldBeClear(21, 21);
- }*/
-}
-
-function checkCrop(imageBitmap, option) {
- debug("Check crop.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "10");
- shouldBe("bitmap.height", "10");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeRed(1, 1);
- shouldBeRed(9, 9);
- shouldBeClear(12, 12);
- shouldBeClear(1, 12);
- shouldBeClear(12, 1);
- } else {
- shouldBeRed(1, 1);
- shouldBeRed(9, 9);
- shouldBeClear(12, 12);
- shouldBeClear(1, 12);
- shouldBeClear(12, 1);
- }
-
- /*commenting out these cases because of crbug.com/578889
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 20, 20);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeRed(1, 1);
- shouldBeRed(18, 18);
- shouldBeClear(22, 22);
- shouldBeClear(1, 22);
- shouldBeClear(22, 1);
- } else {
- shouldBeRed(1, 1);
- shouldBeRed(18, 18);
- shouldBeClear(22, 22);
- shouldBeClear(1, 22);
- shouldBeClear(22, 1);
- }*/
-}
-
-function checkCropCenter(imageBitmap, option) {
- debug("Check crop center.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "10");
- shouldBe("bitmap.height", "10");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlue(4, 4);
- shouldBeBlack(6, 4);
- shouldBeRed(4, 6);
- shouldBeGreen(6, 6);
- shouldBeGreen(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- } else {
- shouldBeRed(4, 4);
- shouldBeGreen(6, 4);
- shouldBeBlue(4, 6);
- shouldBeBlack(6, 6);
- shouldBeBlack(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- }
-
- /*commenting out these cases because of crbug.com/578889
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 20, 20);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlue(8, 8);
- shouldBeBlack(11, 8);
- shouldBeRed(8, 11);
- shouldBeGreen(11, 11);
- shouldBeGreen(18, 18);
- shouldBeClear(22, 22);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- } else {
- shouldBeRed(8, 8);
- shouldBeGreen(11, 8);
- shouldBeBlue(8, 11);
- shouldBeBlack(11, 11);
- shouldBeBlack(18, 18);
- shouldBeClear(22, 22);
- shouldBeClear(1, 21);
- shouldBeClear(21, 1);
- }*/
-}
-
-function checkCropRight(imageBitmap, option) {
- debug("Check crop right.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "10");
- shouldBe("bitmap.height", "10");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlack(1, 1);
- shouldBeBlack(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- } else {
- shouldBeBlack(1, 1);
- shouldBeBlack(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- }
-}
-
-function checkOverCrop(imageBitmap, option) {
- debug("Check over crop.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "60");
- shouldBe("bitmap.height", "60");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeClear(1, 59);
- shouldBeClear(9, 51);
- shouldBeBlue(11, 31);
- shouldBeBlue(19, 39);
- shouldBeBlack(21, 31);
- shouldBeBlack(29, 39);
- shouldBeRed(11, 41);
- shouldBeRed(19, 49);
- shouldBeGreen(21, 41);
- shouldBeGreen(29, 49);
- shouldBeClear(31, 59);
- shouldBeClear(1, 29);
- shouldBeClear(31, 31);
- } else {
- shouldBeClear(1, 1);
- shouldBeClear(9, 9);
- shouldBeRed(11, 11);
- shouldBeRed(19, 19);
- shouldBeGreen(21, 19);
- shouldBeBlue(19, 21);
- shouldBeBlack(21, 21);
- shouldBeBlack(29, 29);
- shouldBeClear(32, 1);
- shouldBeClear(1, 32);
- shouldBeClear(32, 32);
- }
-
- // comment out this part for now due to crbug.com/578889
- /*clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 30, 30);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeClear(1, 29);
- shouldBeClear(4, 25);
- shouldBeBlue(5, 15);
- shouldBeBlue(9, 19);
- shouldBeBlack(10, 15);
- shouldBeBlack(14, 19);
- shouldBeRed(5, 21);
- shouldBeRed(9, 24);
- shouldBeGreen(11, 21);
- shouldBeGreen(14, 24);
- shouldBeClear(16, 29);
- shouldBeClear(1, 14);
- shouldBeClear(15, 15);
- } else {
- shouldBeClear(1, 1);
- shouldBeClear(4, 4);
- shouldBeRed(6, 6);
- shouldBeRed(9, 9);
- shouldBeGreen(11, 9);
- shouldBeBlue(9, 11);
- shouldBeBlack(11, 11);
- shouldBeBlack(14, 14);
- shouldBeClear(16, 1);
- shouldBeClear(1, 16);
- shouldBeClear(16, 16);
- }*/
-}
-
-function checkOverCropRight(imageBitmap, option) {
- debug("Check over crop right.");
- bitmap = imageBitmap;
- shouldBe("bitmap.width", "50");
- shouldBe("bitmap.height", "50");
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlack(1, 40);
- shouldBeBlack(9, 49);
- shouldBeClear(10, 49);
- shouldBeClear(1, 39);
- shouldBeClear(10, 40);
- } else {
- shouldBeBlack(1, 1);
- shouldBeBlack(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(1, 11);
- shouldBeClear(11, 1);
- }
-
- // comment out this part for now due to crbug.com/578889
- /*clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0, 20, 20);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeBlack(0, 16);
- shouldBeBlack(3, 19);
- shouldBeClear(4, 19);
- shouldBeClear(0, 15);
- shouldBeClear(4, 15);
- } else {
- shouldBeBlack(1, 1);
- shouldBeBlack(3, 3);
- shouldBeClear(5, 5);
- shouldBeClear(1, 5);
- shouldBeClear(5, 1);
- }
-
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 10, 10, 20, 20, 0, 0, 20, 20);
- if (option == "flipY" || option == "bottomLeft") {
- shouldBeClear(1, 1);
- shouldBeClear(3, 3);
- shouldBeClear(5, 5);
- shouldBeClear(1, 5);
- shouldBeClear(5, 1);
- } else {
- shouldBeClear(1, 1);
- shouldBeClear(3, 3);
- shouldBeClear(5, 5);
- shouldBeClear(1, 5);
- shouldBeClear(5, 1);
- }*/
-}
-
-// For an empty image, the orientation doesn't matter
-function checkEmpty(imageBitmap, option) {
- debug("Check empty.");
- bitmap = imageBitmap;
- shouldBeType("bitmap", "ImageBitmap");
- shouldBe("bitmap.width", "30");
- shouldBe("bitmap.height", "30");
-
- // nothing should be drawn
- clearContext(ctx);
- ctx.drawImage(imageBitmap, 0, 0);
- shouldBeClear(1, 1);
- shouldBeClear(9, 9);
- shouldBeClear(11, 11);
- shouldBeClear(22, 22);
-}
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/red-green-semi-transparent.png b/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/red-green-semi-transparent.png
index 11f2928..3372e6a 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/red-green-semi-transparent.png
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/red-green-semi-transparent.png
Binary files differ
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js b/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js
index fc01d51..510ab1d 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/resources/tex-image-and-sub-image-image-bitmap-utils.js
@@ -57,9 +57,9 @@ function runOneIteration(useTexSubImage2D, bindingTarget, program, bitmap, flipY
var bottom = flipY ? (height - halfHeight + quaterHeight) : quaterHeight;
var tl = redColor;
- var tr = premultiplyAlpha ? ((retVal.alpha == 0.5) ? halfRed : (retVal.alpha == 1) ? redColor : blackColor) : redColor;
+ var tr = premultiplyAlpha ? ((retVal.alpha == 0.5) ? darkRed : (retVal.alpha == 1) ? redColor : blackColor) : redColor;
var bl = greenColor;
- var br = premultiplyAlpha ? ((retVal.alpha == 0.5) ? halfGreen : (retVal.alpha == 1) ? greenColor : blackColor) : greenColor;
+ var br = premultiplyAlpha ? ((retVal.alpha == 0.5) ? darkGreen : (retVal.alpha == 1) ? greenColor : blackColor) : greenColor;
var blueColor = [0, 0, 255];
if (colorspace == 'none') {
@@ -73,7 +73,7 @@ function runOneIteration(useTexSubImage2D, bindingTarget, program, bitmap, flipY
loc = gl.getUniformLocation(program, "face");
}
- var tolerance = (retVal.alpha == 0) ? 0 : 3;
+ var tolerance = (retVal.alpha == 0) ? 0 : 2;
if (colorspace == 'default' || colorspace == 'none' || colorspace == 'notprovided')
tolerance = 13; // For linux and win, the tolerance can be 8.
for (var tt = 0; tt < targets.length; ++tt) {
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-blob.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-blob.html
index 055cb09..bcecd5b 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-blob.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-blob.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
var blob1 = null;
var blob2 = null;
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-canvas.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-canvas.html
index 97cd5fd..f0dee08 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-canvas.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-canvas.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
function promiseRejected()
{
@@ -40,11 +40,11 @@ function setCanvasToRedGreen(ctx) {
var halfHeight = Math.floor(height / 2);
ctx.fillStyle = "rgba(255, 0, 0, 1)";
ctx.fillRect(0, 0, halfWidth, halfHeight);
- ctx.fillStyle = "rgba(255, 0, 0, 0.5)";
+ ctx.fillStyle = "rgba(255, 0, 0, 0.1)";
ctx.fillRect(halfWidth, 0, halfWidth, halfHeight);
ctx.fillStyle = "rgba(0, 255, 0, 1)";
ctx.fillRect(0, halfHeight, halfWidth, halfHeight);
- ctx.fillStyle = "rgba(0, 255, 0, 0.5)";
+ ctx.fillStyle = "rgba(0, 255, 0, 0.1)";
ctx.fillRect(halfWidth, halfHeight, halfWidth, halfHeight);
}
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob-expected.txt
index 22c2f2f..22c2f2f 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-expected.txt
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob-expected.txt
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob.html
new file mode 100644
index 0000000..cbba86a
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-blob.html
@@ -0,0 +1,97 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="./resources/webgl-test-utils-full.js"></script>
+<script src="./resources/tex-image-and-sub-image-utils.js"></script>
+<script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script>
+<script src="../../../resources/js-test.js"></script>
+<script>
+
+window.jsTestIsAsync = true;
+
+var wtu = WebGLTestUtils;
+var tiu = TexImageUtils;
+var gl = null;
+var internalFormat = "RGBA";
+var pixelFormat = "RGBA";
+var pixelType = "UNSIGNED_BYTE";
+var redColor = [255, 0, 0];
+var greenColor = [0, 255, 0];
+var blackColor = [0, 0, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
+
+var blob = null;
+
+function promiseRejected()
+{
+ document.getElementById("results").innerHTML = "Promise <span style='color:red'>REJECTED</span>";
+}
+
+function pass()
+{
+ document.getElementById("results").innerHTML = "Test <span style='color:green'>PASSED</span>";
+}
+
+function generateTest()
+{
+ var bitmaps = [];
+
+ var canvas = document.getElementById("example");
+ gl = canvas.getContext("webgl");
+
+ gl.clearColor(0,0,0,1);
+ gl.clearDepth(1);
+
+ var bitmap; // bitmap will be in unpremultiplied format
+ createImageBitmap(blob, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) {
+ bitmap = imageBitmap;
+ var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap });
+ var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = imageBitmap });
+ var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageBitmap });
+ var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBitmap });
+ var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imageBitmap });
+ var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBitmap });
+ var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitmap });
+ var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.colorspaceDef = imageBitmap });
+ var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
+ var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
+ Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
+ var alphaVal = 0.5;
+ var testPassed = runTest(bitmaps, alphaVal, false);
+ if (testPassed)
+ pass();
+ finishJSTest();
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+}
+
+function init()
+{
+ if (window.testRunner) {
+ testRunner.overridePreference("WebKitWebGLEnabled", "1");
+ testRunner.dumpAsText();
+ }
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", 'resources/red-green-semi-transparent.png');
+ xhr.responseType = 'blob';
+ xhr.send();
+ xhr.onload = function() {
+ blob = xhr.response;
+ generateTest();
+ }
+}
+</script>
+</head>
+<body onload="init()">
+<canvas id="texcanvas" width="2" height="2"></canvas>
+<canvas id="example" width="32" height="32"></canvas>
+<div id="results">Test <span style="color:red">FAILED</span></div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas-expected.txt
new file mode 100644
index 0000000..22c2f2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas-expected.txt
@@ -0,0 +1,5 @@
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+Test PASSED
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas.html
new file mode 100644
index 0000000..18157a0
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-canvas.html
@@ -0,0 +1,109 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="./resources/webgl-test-utils-full.js"></script>
+<script src="./resources/tex-image-and-sub-image-utils.js"></script>
+<script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script>
+<script src="../../../resources/js-test.js"></script>
+<script>
+
+window.jsTestIsAsync = true;
+
+var wtu = WebGLTestUtils;
+var tiu = TexImageUtils;
+var gl = null;
+var internalFormat = "RGBA";
+var pixelFormat = "RGBA";
+var pixelType = "UNSIGNED_BYTE";
+var redColor = [255, 0, 0];
+var greenColor = [0, 255, 0];
+var blackColor = [0, 0, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
+
+function promiseRejected()
+{
+ document.getElementById("results").innerHTML = "Promise <span style='color:red'>REJECTED</span>";
+}
+
+function pass()
+{
+ document.getElementById("results").innerHTML = "Test <span style='color:green'>PASSED</span>";
+}
+
+function setCanvasToRedGreen(ctx) {
+ ctx.canvas.width = 2;
+ ctx.canvas.height = 2;
+ var width = ctx.canvas.width;
+ var halfWidth = Math.floor(width / 2);
+ var height = ctx.canvas.height;
+ var halfHeight = Math.floor(height / 2);
+ ctx.fillStyle = "rgba(255, 0, 0, 1)";
+ ctx.fillRect(0, 0, halfWidth, halfHeight);
+ ctx.fillStyle = "rgba(255, 0, 0, 0.1)";
+ ctx.fillRect(halfWidth, 0, halfWidth, halfHeight);
+ ctx.fillStyle = "rgba(0, 255, 0, 1)";
+ ctx.fillRect(0, halfHeight, halfWidth, halfHeight);
+ ctx.fillStyle = "rgba(0, 255, 0, 0.1)";
+ ctx.fillRect(halfWidth, halfHeight, halfWidth, halfHeight);
+}
+
+function generateTest()
+{
+ var bitmaps = [];
+
+ var canvas = document.getElementById("example");
+ gl = canvas.getContext("webgl");
+
+ gl.clearColor(0,0,0,1);
+ gl.clearDepth(1);
+
+ var testCanvas = document.createElement('canvas');
+ var ctx = testCanvas.getContext("2d");
+ setCanvasToRedGreen(ctx);
+
+ var bitmap; // bitmap will be in unpremultiplied format
+ createImageBitmap(testCanvas, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) {
+ bitmap = imageBitmap;
+ var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap });
+ var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = imageBitmap });
+ var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageBitmap });
+ var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBitmap });
+ var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imageBitmap });
+ var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBitmap });
+ var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitmap });
+ var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.colorspaceDef = imageBitmap });
+ var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
+ var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
+ Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
+ var alphaVal = 0.5;
+ var testPassed = runTest(bitmaps, alphaVal, false);
+ if (testPassed)
+ pass();
+ finishJSTest();
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+}
+
+function init()
+{
+ if (window.testRunner) {
+ testRunner.overridePreference("WebKitWebGLEnabled", "1");
+ testRunner.dumpAsText();
+ }
+ generateTest();
+}
+</script>
+</head>
+<body onload="init()">
+<canvas id="texcanvas" width="2" height="2"></canvas>
+<canvas id="example" width="32" height="32"></canvas>
+<div id="results">Test <span style="color:red">FAILED</span></div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data-expected.txt
new file mode 100644
index 0000000..22c2f2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data-expected.txt
@@ -0,0 +1,5 @@
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+Test PASSED
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html
index 75928662..0c021b9 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-data.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
function promiseRejected()
{
@@ -44,9 +44,9 @@ function generateTest()
var imageData = new ImageData(new Uint8ClampedArray(
[255, 0, 0, 255,
- 255, 0, 0, 0,
+ 255, 0, 0, 26,
0, 255, 0, 255,
- 0, 255, 0, 0]),
+ 0, 255, 0, 26]),
2, 2);
var bitmap; // bitmap will be in unpremultiplied format
@@ -63,7 +63,7 @@ function generateTest()
var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
- var alphaVal = 0;
+ var alphaVal = 0.5;
var testPassed = runTest(bitmaps, alphaVal, false);
if (testPassed)
pass();
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-expected.txt
new file mode 100644
index 0000000..22c2f2f
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image-expected.txt
@@ -0,0 +1,5 @@
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+Test PASSED
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image.html
new file mode 100644
index 0000000..f01ca26
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-bitmap-from-image.html
@@ -0,0 +1,93 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script src="./resources/webgl-test-utils-full.js"></script>
+<script src="./resources/tex-image-and-sub-image-utils.js"></script>
+<script src="./resources/tex-image-and-sub-image-image-bitmap-utils.js"></script>
+<script src="../../../resources/js-test.js"></script>
+<script>
+
+window.jsTestIsAsync = true;
+
+var wtu = WebGLTestUtils;
+var tiu = TexImageUtils;
+var gl = null;
+var internalFormat = "RGBA";
+var pixelFormat = "RGBA";
+var pixelType = "UNSIGNED_BYTE";
+var redColor = [255, 0, 0];
+var greenColor = [0, 255, 0];
+var blackColor = [0, 0, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
+
+var image = new Image();
+
+function promiseRejected()
+{
+ document.getElementById("results").innerHTML = "Promise <span style='color:red'>REJECTED</span>";
+}
+
+function pass()
+{
+ document.getElementById("results").innerHTML = "Test <span style='color:green'>PASSED</span>";
+}
+
+function generateTest()
+{
+ var bitmaps = [];
+
+ var canvas = document.getElementById("example");
+ gl = canvas.getContext("webgl");
+
+ gl.clearColor(0,0,0,1);
+ gl.clearDepth(1);
+
+ var bitmap; // bitmap will be in unpremultiplied format
+ createImageBitmap(image, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) {
+ bitmap = imageBitmap;
+ var p1 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap });
+ var p2 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.noFlipYPremul = imageBitmap });
+ var p3 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.noFlipYDefault = imageBitmap });
+ var p4 = createImageBitmap(bitmap, {imageOrientation: "none", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.noFlipYUnpremul = imageBitmap });
+ var p5 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "premultiply"}).then(function(imageBitmap) { bitmaps.flipYPremul = imageBitmap });
+ var p6 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "default"}).then(function(imageBitmap) { bitmaps.flipYDefault = imageBitmap });
+ var p7 = createImageBitmap(bitmap, {imageOrientation: "flipY", premultiplyAlpha: "none"}).then(function(imageBitmap) { bitmaps.flipYUnpremul = imageBitmap });
+ var p8 = createImageBitmap(bitmap).then(function(imageBitmap) { bitmaps.colorspaceDef = imageBitmap });
+ var p9 = createImageBitmap(bitmap, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
+ var p10 = createImageBitmap(bitmap, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
+ Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
+ var alphaVal = 0.5;
+ var testPassed = runTest(bitmaps, alphaVal, false);
+ if (testPassed)
+ pass();
+ finishJSTest();
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+ }, function() {
+ promiseRejected();
+ finishJSTest();
+ });
+}
+
+function init()
+{
+ if (window.testRunner) {
+ testRunner.overridePreference("WebKitWebGLEnabled", "1");
+ testRunner.dumpAsText();
+ }
+ image.onload = function() {
+ generateTest();
+ }
+ image.src = "resources/red-green-semi-transparent.png";
+}
+</script>
+</head>
+<body onload="init()">
+<canvas id="texcanvas" width="2" height="2"></canvas>
+<canvas id="example" width="32" height="32"></canvas>
+<div id="results">Test <span style="color:red">FAILED</span></div>
+</body>
+</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-data.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-data.html
index deaf45d..4f3c4d1 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-data.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image-data.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
function promiseRejected()
{
@@ -44,9 +44,9 @@ function generateTest()
var imageData = new ImageData(new Uint8ClampedArray(
[255, 0, 0, 255,
- 255, 0, 0, 0,
+ 255, 0, 0, 26,
0, 255, 0, 255,
- 0, 255, 0, 0]),
+ 0, 255, 0, 26]),
2, 2);
var p1 = createImageBitmap(imageData).then(function(imageBitmap) { bitmaps.defaultOption = imageBitmap });
@@ -60,7 +60,7 @@ function generateTest()
var p9 = createImageBitmap(imageData, {colorspaceConversion: "none"}).then(function(imageBitmap) { bitmaps.colorspaceNone = imageBitmap });
var p10 = createImageBitmap(imageData, {colorspaceConversion: "default"}).then(function(imageBitmap) { bitmaps.colorspaceDefault = imageBitmap });
Promise.all([p1, p2, p3, p4, p5, p6, p7, p8, p9, p10]).then(function() {
- var alphaVal = 0;
+ var alphaVal = 0.5;
var testPassed = runTest(bitmaps, alphaVal, false);
if (testPassed)
pass();
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image.html
index 185ca8f..67767d0 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-image.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [26, 0, 0];
+var darkGreen = [0, 26, 0];
var image = new Image();
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-video.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-video.html
index 77b3450..1bc8037 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-video.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-image-bitmap-from-video.html
@@ -18,8 +18,8 @@ var pixelType = "UNSIGNED_BYTE";
var redColor = [255, 0, 0];
var greenColor = [0, 255, 0];
var blackColor = [0, 0, 0];
-var halfRed = [128, 0, 0];
-var halfGreen = [0, 128, 0];
+var darkRed = [128, 0, 0];
+var darkGreen = [0, 128, 0];
var video = document.createElement("video");