Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-worker.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-worker.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-worker.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..429e2baefa04ec75f48c210064bd13f4ebe31cbf |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-worker.html |
@@ -0,0 +1,34 @@ |
+<!DOCTYPE> |
+<canvas id="canvas2D" width="50" height="50" background-color="red"></canvas> |
+<script id="myWorker" type="text/worker"> |
+self.onmessage = function(e) { |
+ var transferredOffscreenCanvas = e.data.data; |
+ var offscreen2d = transferredOffscreenCanvas.getContext("2d"); |
+ offscreen2d.commit(); |
+ self.postMessage(""); |
+}; |
+</script> |
+<script> |
+// Note: If someone see this test flaky in the future, please mark the test as |
+// flaky; the code itself is not the cause of such flakiness. |
+// TODO(xlai): Guarantee all OffscreenCanvas commit tests non-flaky under all cases. |
+// See crbug.com/645173. |
+if (window.testRunner) { |
+ testRunner.dumpAsTextWithPixelResults(); |
+ testRunner.waitUntilDone(); |
+} |
+ |
+function makeWorker(script) { |
+ var blob = new Blob([script]); |
+ return new Worker(URL.createObjectURL(blob)); |
+} |
+ |
+var canvas2D = document.getElementById("canvas2D"); |
+var offscreenCanvas = canvas2D.transferControlToOffscreen(); |
+var worker = makeWorker(document.getElementById("myWorker").textContent); |
+worker.onmessage = function (e) { |
+ if (window.testRunner) testRunner.notifyDone(); |
+}; |
+worker.postMessage({data: offscreenCanvas}, [offscreenCanvas]); |
+ |
+</script> |