OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <meta charset="utf-8"> | 2 <meta charset="utf-8"> |
3 <body></body> | 3 <body></body> |
4 <script> | 4 <script> |
5 function runTest() { | 5 function runTest() { |
6 var l = document.createElement('link'); | 6 var l = document.createElement('link'); |
7 // Use link rel=preload to try to get the browser to cache the opaque | 7 // Use link rel=preload to try to get the browser to cache the opaque |
8 // response. | 8 // response. |
9 l.setAttribute('rel', 'preload'); | 9 l.setAttribute('rel', 'preload'); |
10 l.setAttribute('href', 'opaque-response'); | 10 l.setAttribute('href', 'opaque-response'); |
| 11 l.setAttribute('as', 'fetch'); |
11 l.onload = function() { | 12 l.onload = function() { |
12 xhr = new XMLHttpRequest; | 13 xhr = new XMLHttpRequest; |
13 xhr.withCredentials = true; | 14 xhr.withCredentials = true; |
14 xhr.open('GET', 'opaque-response'); | 15 xhr.open('GET', 'opaque-response'); |
15 // opaque-response returns an opaque response from serviceworker and thus | 16 // opaque-response returns an opaque response from serviceworker and thus |
16 // the XHR must fail because it is not no-cors request. | 17 // the XHR must fail because it is not no-cors request. |
17 // Particularly, the XHR must not reuse the opaque response from the | 18 // Particularly, the XHR must not reuse the opaque response from the |
18 // preload request. | 19 // preload request. |
19 xhr.onerror = function() { | 20 xhr.onerror = function() { |
20 parent.done('PASS'); | 21 parent.done('PASS'); |
21 }; | 22 }; |
22 xhr.onload = function() { | 23 xhr.onload = function() { |
23 parent.done('FAIL: ' + xhr.responseText); | 24 parent.done('FAIL: ' + xhr.responseText); |
24 }; | 25 }; |
25 xhr.send(); | 26 xhr.send(); |
26 }; | 27 }; |
27 l.onerror = function() { | 28 l.onerror = function() { |
28 parent.done('FAIL: preload failed unexpectedly'); | 29 parent.done('FAIL: preload failed unexpectedly'); |
29 }; | 30 }; |
30 document.body.appendChild(l); | 31 document.body.appendChild(l); |
31 } | 32 } |
32 </script> | 33 </script> |
33 <body onload="setTimeout(runTest, 100)"></body> | 34 <body onload="setTimeout(runTest, 100)"></body> |
OLD | NEW |