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

Side by Side 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 unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 2
3 <script src="../../resources/js-test.js"></script> 3 <script src="../../resources/js-test.js"></script>
4 <script> 4 <script>
5 description("Test the Blob constructor."); 5 description("Test the Blob constructor.");
6 var jsTestIsAsync = true; 6 var jsTestIsAsync = true;
7 7
8 // Test the different ways you can construct a Blob. 8 // Test the different ways you can construct a Blob.
9 shouldBeTrue("(new Blob()) instanceof window.Blob"); 9 shouldBeTrue("(new Blob()) instanceof window.Blob");
10 shouldBeTrue("(new Blob(undefined)) instanceof window.Blob"); 10 shouldBeTrue("(new Blob(undefined)) instanceof window.Blob");
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 shouldBe("new Blob([new Uint16Array(100)]).size", "200"); 90 shouldBe("new Blob([new Uint16Array(100)]).size", "200");
91 shouldBe("new Blob([new Uint32Array(100)]).size", "400"); 91 shouldBe("new Blob([new Uint32Array(100)]).size", "400");
92 shouldBe("new Blob([new Int8Array(100)]).size", "100"); 92 shouldBe("new Blob([new Int8Array(100)]).size", "100");
93 shouldBe("new Blob([new Int16Array(100)]).size", "200"); 93 shouldBe("new Blob([new Int16Array(100)]).size", "200");
94 shouldBe("new Blob([new Int32Array(100)]).size", "400"); 94 shouldBe("new Blob([new Int32Array(100)]).size", "400");
95 shouldBe("new Blob([new Float32Array(100)]).size", "400"); 95 shouldBe("new Blob([new Float32Array(100)]).size", "400");
96 shouldBe("new Blob([new Float64Array(100)]).size", "800"); 96 shouldBe("new Blob([new Float64Array(100)]).size", "800");
97 shouldBe("new Blob([new Float64Array(100), new Int32Array(100), new Uint8Array(1 00), new DataView(new ArrayBuffer(100))]).size", "1400"); 97 shouldBe("new Blob([new Float64Array(100), new Int32Array(100), new Uint8Array(1 00), new DataView(new ArrayBuffer(100))]).size", "1400");
98 shouldBe("new Blob([new Blob([new Int32Array(100)]), new Uint8Array(100), new Fl oat32Array(100), new DataView(new ArrayBuffer(100))]).size", "1000"); 98 shouldBe("new Blob([new Blob([new Int32Array(100)]), new Uint8Array(100), new Fl oat32Array(100), new DataView(new ArrayBuffer(100))]).size", "1000");
99 99
100 // Test SharedArrayBuffer view parameters.
101 if (window.internals && internals.runtimeFlags.sharedArrayBufferEnabled && windo w.SharedArrayBuffer) {
102 shouldThrow("new Blob([new Uint8Array(new SharedArrayBuffer(100))])", '"TypeEr ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha redArrayBuffer."');
103 shouldThrow("new Blob([new Uint8ClampedArray(new SharedArrayBuffer(100))])", ' "TypeError: Failed to construct \'Blob\': sequence parameter 1 contains a view o f a SharedArrayBuffer."');
104 shouldThrow("new Blob([new Uint16Array(new SharedArrayBuffer(100))])", '"TypeE rror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sh aredArrayBuffer."');
105 shouldThrow("new Blob([new Uint32Array(new SharedArrayBuffer(100))])", '"TypeE rror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sh aredArrayBuffer."');
106 shouldThrow("new Blob([new Int8Array(new SharedArrayBuffer(100))])", '"TypeErr or: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Shar edArrayBuffer."');
107 shouldThrow("new Blob([new Int16Array(new SharedArrayBuffer(100))])", '"TypeEr ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha redArrayBuffer."');
108 shouldThrow("new Blob([new Int32Array(new SharedArrayBuffer(100))])", '"TypeEr ror: Failed to construct \'Blob\': sequence parameter 1 contains a view of a Sha redArrayBuffer."');
109 shouldThrow("new Blob([new Float32Array(new SharedArrayBuffer(100))])", '"Type Error: Failed to construct \'Blob\': sequence parameter 1 contains a view of a S haredArrayBuffer."');
110 shouldThrow("new Blob([new Float64Array(new SharedArrayBuffer(104))])", '"Type Error: Failed to construct \'Blob\': sequence parameter 1 contains a view of a S haredArrayBuffer."');
111 }
112
100 // Test ArrayBuffer parameters. 113 // Test ArrayBuffer parameters.
101 shouldBe("new Blob([(new DataView(new ArrayBuffer(100))).buffer]).size", "100"); 114 shouldBe("new Blob([(new DataView(new ArrayBuffer(100))).buffer]).size", "100");
102 shouldBe("new Blob([(new Uint8Array(100)).buffer]).size", "100"); 115 shouldBe("new Blob([(new Uint8Array(100)).buffer]).size", "100");
103 shouldBe("new Blob([(new Uint8ClampedArray(100)).buffer]).size", "100"); 116 shouldBe("new Blob([(new Uint8ClampedArray(100)).buffer]).size", "100");
104 shouldBe("new Blob([(new Uint16Array(100)).buffer]).size", "200"); 117 shouldBe("new Blob([(new Uint16Array(100)).buffer]).size", "200");
105 shouldBe("new Blob([(new Uint32Array(100)).buffer]).size", "400"); 118 shouldBe("new Blob([(new Uint32Array(100)).buffer]).size", "400");
106 shouldBe("new Blob([(new Int8Array(100)).buffer]).size", "100"); 119 shouldBe("new Blob([(new Int8Array(100)).buffer]).size", "100");
107 shouldBe("new Blob([(new Int16Array(100)).buffer]).size", "200"); 120 shouldBe("new Blob([(new Int16Array(100)).buffer]).size", "200");
108 shouldBe("new Blob([(new Int32Array(100)).buffer]).size", "400"); 121 shouldBe("new Blob([(new Int32Array(100)).buffer]).size", "400");
109 shouldBe("new Blob([(new Float32Array(100)).buffer]).size", "400"); 122 shouldBe("new Blob([(new Float32Array(100)).buffer]).size", "400");
(...skipping 28 matching lines...) Expand all
138 reader = new FileReader(); 151 reader = new FileReader();
139 reader.readAsText(new Blob([CONTAINS_UNPAIRED_SURROGATES])); 152 reader.readAsText(new Blob([CONTAINS_UNPAIRED_SURROGATES]));
140 reader.onload = function() { 153 reader.onload = function() {
141 shouldBe("reader.result.charCodeAt(3)", "0xFFFD"); 154 shouldBe("reader.result.charCodeAt(3)", "0xFFFD");
142 shouldBe("reader.result.charCodeAt(7)", "0xFFFD"); 155 shouldBe("reader.result.charCodeAt(7)", "0xFFFD");
143 finishJSTest(); 156 finishJSTest();
144 }; 157 };
145 } 158 }
146 159
147 </script> 160 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698