OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <script> | 3 <script> |
4 var ranProgressHandler = false; | 4 var ranProgressHandler = false; |
5 var completedUpload = false; | 5 var completedUpload = false; |
6 | 6 |
7 var asyncXHR; | 7 var asyncXHR; |
8 var lastSeenProgress = 0; | 8 var lastSeenProgress = 0; |
9 // Build a long string, fast. | 9 var data; |
10 // data.length = 2 * 3^15 = 28697814 | |
11 | |
12 var data = 'yo'; | |
13 var iterations = 15; | |
14 for (var i = 0; i < iterations; i++) { | |
15 data = data + data + data; | |
16 } | |
17 | 10 |
18 function sendResults(failures) { | 11 function sendResults(failures) { |
19 var resultString = failures.length ? failures.join('\n') : "success"; | 12 var resultString = failures.length ? failures.join('\n') : "success"; |
20 window.domAutomationController.send(resultString); | 13 window.domAutomationController.send(resultString); |
21 } | 14 } |
22 | 15 |
23 function progressListener(e) { | 16 function progressListener(e) { |
24 var progress = e.loaded; | 17 var progress = e.loaded; |
25 var failureList = []; | 18 var failureList = []; |
26 | 19 |
(...skipping 29 matching lines...) Expand all Loading... |
56 failureList.push( | 49 failureList.push( |
57 'Receieved responseText: \'' + this.responseText +'\'. Expected: \'hello
\'.'); | 50 'Receieved responseText: \'' + this.responseText +'\'. Expected: \'hello
\'.'); |
58 } | 51 } |
59 sendResults(failureList); | 52 sendResults(failureList); |
60 } | 53 } |
61 | 54 |
62 function onError(e) { | 55 function onError(e) { |
63 sendResults(['Received an XHR error event.']); | 56 sendResults(['Received an XHR error event.']); |
64 } | 57 } |
65 | 58 |
66 function WaitForAsyncXHR(url) { | 59 function WaitForAsyncXHR(url, payloadSize) { |
| 60 // Build a long string, fast. |
| 61 // Note: payloadSize will be of the form 2*3^x. |
| 62 data = 'yo'; |
| 63 while(data.length !== payloadSize) { |
| 64 data = data + data + data; |
| 65 } |
67 asyncXHR = new XMLHttpRequest(); | 66 asyncXHR = new XMLHttpRequest(); |
68 asyncXHR.addEventListener('load', onFinished); | 67 asyncXHR.addEventListener('load', onFinished); |
69 asyncXHR.addEventListener('error', onError); | 68 asyncXHR.addEventListener('error', onError); |
70 | 69 |
71 asyncXHR.upload.addEventListener('progress', progressListener); | 70 asyncXHR.upload.addEventListener('progress', progressListener); |
72 asyncXHR.upload.addEventListener('load', completedUpload); | 71 asyncXHR.upload.addEventListener('load', completedUpload); |
73 | 72 |
74 asyncXHR.open('POST', url, true); | 73 asyncXHR.open('POST', url, true); |
75 | 74 |
76 asyncXHR.setRequestHeader('Content-Type', 'text/plain'); | 75 asyncXHR.setRequestHeader('Content-Type', 'text/plain'); |
77 asyncXHR.send(data); | 76 asyncXHR.send(data); |
78 } | 77 } |
79 </script> | 78 </script> |
80 </head> | 79 </head> |
81 <body> | 80 <body> |
82 This page sends an asynchronous XMLHttpRequest on calling WaitForAsyncXHR(url). | 81 This page sends an asynchronous XMLHttpRequest on calling WaitForAsyncXHR(url). |
83 </body> | 82 </body> |
84 </html> | 83 </html> |
OLD | NEW |