Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/OffScreenCanvas-invalid-args.html

Issue 1488763002: Start an empty interface OffScreenCanvas (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update global-interface-listing-expected.txt Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/canvas/OffScreenCanvas-invalid-args.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffScreenCanvas-invalid-args.html b/third_party/WebKit/LayoutTests/fast/canvas/OffScreenCanvas-invalid-args.html
new file mode 100644
index 0000000000000000000000000000000000000000..9ce02a7c079e2148c37aab238afe08978d22e900
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffScreenCanvas-invalid-args.html
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<script src="../../resources/js-test.js"></script>
+<script>
+description("Tests that the OffScreenCanvas can handle invalid arguments");
+
+// Since blink uses signed int internally, this case tests how the constructor
+// responds to the arguments that are larger than INT_MAX which would cause
+// overflow. The current implementation is expected to clamp.
+var setWidth = Math.pow(2, 31);
+var setHeight = Math.pow(2, 31);
+var obj = {Name: "John Doe", Age: 30};
+
+var canvas1 = new OffScreenCanvas(setWidth, setHeight);
+shouldBe("canvas1.width", "setWidth-1");
+shouldBe("canvas1.height", "setHeight-1");
+
+canvas1.width = null;
+canvas1.height = null;
+shouldBe("canvas1.width", "0");
+shouldBe("canvas1.height", "0");
+
+shouldThrow("new OffScreenCanvas(-1, -1)");
+
+var canvas2 = new OffScreenCanvas(null, null);
+shouldBe("canvas2.width", "0");
+shouldBe("canvas2.height", "0");
+
+canvas2.width = setWidth;
+canvas2.height = setHeight;
+shouldBe("canvas2.width", "setWidth-1");
+shouldBe("canvas2.height", "setHeight-1");
+
+shouldThrow("canvas2.width = -1");
+shouldThrow("canvas2.height = -1");
+
+shouldThrow("canvas2.width = obj");
+shouldThrow("canvas2.height = obj");
+
+shouldThrow("new OffScreenCanvas(obj, obj)");
+</script>

Powered by Google App Engine
This is Rietveld 408576698