Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-transferable-exceptions.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-transferable-exceptions.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-transferable-exceptions.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9250720809a7e0c2f081a90275ef11ed189f554f |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-transferable-exceptions.html |
@@ -0,0 +1,54 @@ |
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
+<html> |
+<head> |
+<script src="../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<script> |
+ |
+description("Test OffscreenCanvas transferable with exception cases."); |
+window.jsTestIsAsync = true; |
+ |
+var worker = new Worker('./resources/OffscreenCanvas-transferable.js'); |
+ |
+var width = 50; |
+var height = 50; |
+var offscreenCanvas1 = new OffscreenCanvas(width, height); |
+ |
+var ctx; |
+shouldNotThrow("ctx = offscreenCanvas1.getContext('2d')"); |
+shouldBeType("ctx", "OffscreenCanvasRenderingContext2D"); |
+try { |
+ worker.postMessage({data: offscreenCanvas1}, [offscreenCanvas1]); |
+ testFailed("Transfer an offscreenCanvas with a context succeed, expected to fail"); |
+} catch(e) { |
+ testPassed("Transfer an offscreenCanvas with a context should throw an exception: " + e); |
+} |
+ |
+var offscreenCanvas2 = new OffscreenCanvas(width, height); |
+worker.postMessage({data: offscreenCanvas2}, [offscreenCanvas2]); |
+try { |
+ var image = offscreenCanvas2.transferToImageBitmap(); |
+ testFailed("Calling transferToImageBitmap from a neutered offscreenCanvas succeed, expected to fail"); |
+} catch(e) { |
+ testPassed("Calling transferToImageBitmap from a neutered offscreenCanvas should throw an exception: " + e); |
+} |
+ |
+try { |
+ worker.postMessage({data: offscreenCanvas2}, [offscreenCanvas2]); |
+ testFailed("Transfer a neutered offscreenCanvas succeed, expected to fail"); |
+} catch(e) { |
+ testPassed("Transfer a neutered offscreenCanvas should throw an exception: " + e); |
+} |
+ |
+try { |
+ var ctx = offscreenCanvas2.getContext('2d'); |
+ testFailed("Calling getContext('2d') from a neutered offscreenCanvas succeed, expected to fail"); |
+} catch(e) { |
+ testPassed("Calling getContext('2d') from a neutered offscreenCanvas should throw an exception: " + e); |
+} |
+ |
+finishJSTest(); |
+</script> |
+</body> |
+</html> |