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

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html

Issue 2695343002: Handle OffscreenCanvas.convertToBlob exceptions: EncodingError & InvalidStateError (Closed)
Patch Set: Created 3 years, 10 months 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
index 03629b8f99d39c96c9f2cf9826200c3438b9fed4..8ce169d935994bff0289b639a026f3bd8d582c45 100644
--- a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-convertToBlob-exceptions.html
@@ -33,7 +33,29 @@ async_test(function(t) {
assert_true(e instanceof DOMException);
assert_equals(e.name, "IndexSizeError");
}));
-}, "Test that call convertToBlob on a OffscreenCanvas with size 0 throws exception");
+}, "Test that call convertToBlob on an OffscreenCanvas with size 0 throws exception");
+
+async_test(function(t) {
+ var webp_max_dimension = 16383; // Based on WEBPImageEncoder.cpp?l=52
+ var offscreenCanvas = new OffscreenCanvas(10, webp_max_dimension + 1);
+ var ctx = offscreenCanvas.getContext("2d");
+ offscreenCanvas.convertToBlob({type: "image/webp"}).then(t.step_func_done(function() {
+ assert_false("convertToBlob didn't throw, but should be");
+ }), t.step_func_done(function(e) {
+ assert_true(e instanceof DOMException);
+ assert_equals(e.name, "EncodingError");
+ }));
+}, "Test that call convertToBlob throws EncodingError exception when encoding fails");
+
+async_test(function(t) {
+ var offscreenCanvas = new OffscreenCanvas(10, 10);
+ offscreenCanvas.convertToBlob().then(t.step_func_done(function() {
+ assert_false("convertToBlob didn't throw, but should be");
+ }), t.step_func_done(function(e) {
+ assert_true(e instanceof DOMException);
+ assert_equals(e.name, "InvalidStateError");
+ }));
+}, "Test that call convertToBlob on an OffscreenCanvas without contexts throws exception");
</script>
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/html/canvas/CanvasAsyncBlobCreator.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698