| OLD | NEW |
| 1 <p>Test that XMLHttpRequest doesn't return a wrong cached answer when there is a
Vary header in response.</p> | 1 <p>Test that XMLHttpRequest doesn't return a wrong cached answer when there is a
Vary header in response.</p> |
| 2 | 2 |
| 3 <script src="/js-test-resources/js-test.js"></script> | 3 <script src="/js-test-resources/js-test.js"></script> |
| 4 <script> | 4 <script> |
| 5 window.jsTestIsAsync = true; | 5 window.jsTestIsAsync = true; |
| 6 | 6 |
| 7 if (location.protocol != "http:" || location.host != "127.0.0.1:8000") | 7 if (location.protocol != "http:" || location.host != "127.0.0.1:8000") |
| 8 debug("This test must be run from http://127.0.0.1:8000"); | 8 debug("This test must be run from http://127.0.0.1:8000"); |
| 9 | 9 |
| 10 var testStep = 1; | 10 var testStep = 1; |
| 11 | 11 |
| 12 function testCrossOrigin() | 12 function testCrossOrigin() |
| 13 { | 13 { |
| 14 var req = new XMLHttpRequest; | 14 var req = new XMLHttpRequest; |
| 15 req.open("get", "http://localhost:8000/cache/resources/xhr-vary-header-respo
nse.php"); | 15 req.open("GET", "http://localhost:8080/cache/resources/xhr-vary-header-respo
nse.php"); |
| 16 req.onload=function() { receivedResponse(req.responseText) } | 16 req.onload=function() { receivedResponse(req.responseText) } |
| 17 req.send(); | 17 req.send(); |
| 18 } | 18 } |
| 19 | 19 |
| 20 function testSameOrigin() | 20 function testSameOrigin() |
| 21 { | 21 { |
| 22 frames[0].postMessage("", "http://localhost:8000"); | 22 frames[0].postMessage("", "http://localhost:8000"); |
| 23 } | 23 } |
| 24 | 24 |
| 25 function receivedResponse(text) | 25 function receivedResponse(text) |
| 26 { | 26 { |
| 27 window.responseText = text; | 27 window.responseText = text; |
| 28 switch (testStep) { | 28 switch (testStep) { |
| 29 case 1: | 29 case 1: |
| 30 shouldBe("responseText", "'Cross origin response'"); | 30 shouldBe("responseText", "'Origin header value is http://127.0.0.1:8
000'"); |
| 31 testStep++; | 31 testStep++; |
| 32 testSameOrigin(); | 32 testSameOrigin(); |
| 33 break; | 33 break; |
| 34 case 2: | 34 case 2: |
| 35 shouldBe("responseText", "'Same origin response'"); | 35 shouldBe("responseText", "'Origin header value is http://localhost:8
000'"); |
| 36 testStep++; | 36 testStep++; |
| 37 testCrossOrigin(); | 37 testCrossOrigin(); |
| 38 break; | 38 break; |
| 39 case 3: | 39 case 3: |
| 40 shouldBe("responseText", "'Cross origin response'"); | 40 shouldBe("responseText", "'Origin header value is http://127.0.0.1:8
000'"); |
| 41 finishJSTest(); | 41 finishJSTest(); |
| 42 testStep++; | 42 testStep++; |
| 43 break; | 43 break; |
| 44 default: | 44 default: |
| 45 debug(responseText); | 45 debug(responseText); |
| 46 break; | 46 break; |
| 47 } | 47 } |
| 48 delete window.responseText; | 48 delete window.responseText; |
| 49 } | 49 } |
| 50 | 50 |
| 51 window.onmessage = function(msg) { receivedResponse(msg.data) } | 51 window.onmessage = function(msg) { receivedResponse(msg.data) } |
| 52 window.onload = testCrossOrigin; | 52 window.onload = testCrossOrigin; |
| 53 | 53 |
| 54 </script> | 54 </script> |
| 55 | 55 |
| 56 <button onclick="testCrossOrigin()">Make cross origin request</button> | 56 <button onclick="testCrossOrigin()">Make cross origin request</button> |
| 57 <br> | 57 <br> |
| 58 <iframe src="http://localhost:8000/cache/resources/xhr-vary-header-subframe.html
" frameborder=0 height=50></iframe> | 58 <iframe src="http://localhost:8000/cache/resources/xhr-vary-header-subframe.html
" frameborder=0 height=50></iframe> |
| 59 <pre id=console></pre> | 59 <pre id=console></pre> |
| OLD | NEW |