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

Unified Diff: third_party/WebKit/LayoutTests/fast/files/blob-constructor.html

Issue 1526183004: Prevent SharedArrayBuffer views from being used in bindings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: some tests Created 3 years, 11 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
Index: third_party/WebKit/LayoutTests/fast/files/blob-constructor.html
diff --git a/third_party/WebKit/LayoutTests/fast/files/blob-constructor.html b/third_party/WebKit/LayoutTests/fast/files/blob-constructor.html
index f8a266cb0756eee57e8732d3b80bbb5260b01495..1fa9e5fb06ffbb07a34fbbc389667563aead8191 100644
--- a/third_party/WebKit/LayoutTests/fast/files/blob-constructor.html
+++ b/third_party/WebKit/LayoutTests/fast/files/blob-constructor.html
@@ -97,6 +97,19 @@ shouldBe("new Blob([new Float64Array(100)]).size", "800");
shouldBe("new Blob([new Float64Array(100), new Int32Array(100), new Uint8Array(100), new DataView(new ArrayBuffer(100))]).size", "1400");
shouldBe("new Blob([new Blob([new Int32Array(100)]), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))]).size", "1000");
+// Test SharedArrayBuffer view parameters.
+if (window.internals && internals.runtimeFlags.sharedArrayBufferEnabled && window.SharedArrayBuffer) {
+ shouldThrow("new Blob([new Uint8Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Uint8ClampedArray(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Uint16Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Uint32Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Int8Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Int16Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Int32Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Float32Array(new SharedArrayBuffer(100))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new Blob([new Float64Array(new SharedArrayBuffer(104))])", '"TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+}
+
// Test ArrayBuffer parameters.
shouldBe("new Blob([(new DataView(new ArrayBuffer(100))).buffer]).size", "100");
shouldBe("new Blob([(new Uint8Array(100)).buffer]).size", "100");

Powered by Google App Engine
This is Rietveld 408576698