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

Side by Side Diff: third_party/WebKit/LayoutTests/crypto/subtle/digest-arraybuffer-oom.html

Issue 1414553002: Fix out-of-memory crashes related to ArrayBuffer allocation Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reverting some behavior changes Created 5 years, 1 month 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 <html> 2 <html>
3 <head> 3 <head>
4 <script src="../../resources/js-test.js"></script> 4 <script src="../../resources/js-test.js"></script>
5 <script src="resources/common.js"></script> 5 <script src="resources/common.js"></script>
6 </head> 6 </head>
7 <body> 7 <body>
8 <p id="description"></p> 8 <p id="description"></p>
9 <div id="console"></div> 9 <div id="console"></div>
10 10
11 <script> 11 <script>
12 description("Tests the digest() method using ArrayBuffer"); 12 description("Tests the digest() method using ArrayBuffer, with a memory allocati on failure.");
13 13
14 jsTestIsAsync = true; 14 jsTestIsAsync = true;
15 15
16 var algorithmName = "sha-256"; 16 var algorithmName = "sha-256";
17 var inputHex = "00"; 17 var inputHex = "00";
18 var expectedOutputHex = "6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30 617afa01d"; 18 var expectedOutputHex = "6e340b9cffb37a989ca544e6bb780a2c78901d3fb33738768511a30 617afa01d";
19 19
20 // Most of the crypto LayouTests use ArrayBufferView for data input. This one
21 // passes an ArrayBuffer instead.
22 var input = hexStringToUint8Array(inputHex).buffer; 20 var input = hexStringToUint8Array(inputHex).buffer;
23 21
24 crypto.subtle.digest({name : algorithmName}, input).then(function(result) { 22 if (window.internals) {
25 bytesShouldMatchHexString("sha-256 of [0]", expectedOutputHex, result); 23 internals.fakeOutOfMemoryForNextArrayBufferAllocation();
Stephen White 2015/10/29 16:29:52 Nice!
26 }).then(finishJSTest, failAndFinishJSTest); 24 // Test succeeds if promise is rejected.
25 crypto.subtle.digest({name : algorithmName}, input).then(failAndFinishJSTest , finishJSTest);
26 }
27 27
28 </script> 28 </script>
29 29
30 </body> 30 </body>
31 </html> 31 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698