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

Unified Diff: third_party/WebKit/LayoutTests/fast/files/file-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/file-constructor.html
diff --git a/third_party/WebKit/LayoutTests/fast/files/file-constructor.html b/third_party/WebKit/LayoutTests/fast/files/file-constructor.html
index f634db7d7750c47089f34b20d8028339ac706848..f9bd9d7badf7f78380db3038d5c0bcad377da06b 100644
--- a/third_party/WebKit/LayoutTests/fast/files/file-constructor.html
+++ b/third_party/WebKit/LayoutTests/fast/files/file-constructor.html
@@ -120,6 +120,19 @@ shouldBe("new File([new Float64Array(100), new Int32Array(100), new Uint8Array(1
shouldBe("new File([new Blob([new Int32Array(100)]), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))], 'world.html').size", "1000");
shouldBe("new File([new Blob([new Int32Array(100)]), new File([new Uint16Array(100)], 'world.txt'), new Uint8Array(100), new Float32Array(100), new DataView(new ArrayBuffer(100))], 'world.html').size", "1200");
+// Test SharedArrayBuffer view parameters.
+if (window.internals && internals.runtimeFlags.sharedArrayBufferEnabled && window.SharedArrayBuffer) {
+ shouldThrow("new File([new Uint8Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Uint8ClampedArray(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Uint16Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Uint32Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Int8Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Int16Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Int32Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Float32Array(new SharedArrayBuffer(100))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+ shouldThrow("new File([new Float64Array(new SharedArrayBuffer(104))], 'world.html')", '"TypeError: Failed to construct \'File\': sequence parameter 1 contains a view of a SharedArrayBuffer."');
+}
+
// Test ArrayBuffer parameters.
shouldBe("new File([(new DataView(new ArrayBuffer(100))).buffer], 'world.html').size", "100");
shouldBe("new File([(new Uint8Array(100)).buffer], 'world.html').size", "100");

Powered by Google App Engine
This is Rietveld 408576698