Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-ImageBitmap-worker-to-worker.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-ImageBitmap-worker-to-worker.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-ImageBitmap-worker-to-worker.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5c1f42d0d3bd0e8a00c5c4c24ce3c3e80c79f974 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-ImageBitmap-worker-to-worker.html |
@@ -0,0 +1,28 @@ |
+<!DOCTYPE html> |
+<script src="../../resources/testharness.js"></script> |
+<script src="../../resources/testharnessreport.js"></script> |
+<script> |
+var t = async_test("Test the case where an ImageBitmap produced on a worker is consumed on another worker"); |
+ |
+var worker1 = new Worker('OffscreenCanvas-ImageBitmap-worker-to-worker-1.js'); |
+var worker2 = new Worker('OffscreenCanvas-ImageBitmap-worker-to-worker-2.js'); |
+ |
+worker1.addEventListener('message', msg => { |
+ worker2.postMessage(msg.data, [msg.data]); |
+}); |
+ |
+worker2.addEventListener('message', t.step_func(function(msg) { |
+ var testCtx = document.createElement('canvas').getContext('2d'); |
+ testCtx.drawImage(msg.data, 0, 0); |
+ var pixelData = testCtx.getImageData(0, 0, 1, 1); |
+ assert_equals(pixelData.data[0], 0, "red"); |
+ assert_equals(pixelData.data[1], 255, "green"); |
+ assert_equals(pixelData.data[2], 0, "blue"); |
+ assert_equals(pixelData.data[3], 255, "alpha"); |
+ t.done(); |
+})); |
+ |
+worker1.postMessage("go"); |
+ |
+</script> |
+ |