blob: 8239baf44504dc3899f0b7d5271ec536c5520a15 [file] [log] [blame]
<html>
<body>
<p>Tests source origin difference for cached resources.</p
<p>Trying to load sequentially the same image from different origins.</p>
<div id="console"></div>
<div>
<iframe id="iframe1"></iframe>
<iframe id="iframe2"></iframe>
<iframe id="iframe3"></iframe>
<iframe id="iframe4"></iframe>
</div>
<div>
<iframe id="iframe5"></iframe>
<iframe id="iframe6"></iframe>
<iframe id="iframe7"></iframe>
<iframe id="iframe8"></iframe>
</div>
<script>
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.addEventListener("message", function(event) {
document.getElementById('console').innerHTML += event.data + "<br/>";
loadNextFrame();
});
var iframeURL8000 = "http://localhost:8000/security/resources/cross-origin-cached-resource-iframe.html";
var iframeURL8080 = "http://localhost:8080/security/resources/cross-origin-cached-resource-iframe.html";
var allowAllImage1 = "http://127.0.0.1:8000/security/resources/abe-allow-star.py?allowCache";
var allow8000Image1 = "http://127.0.0.1:8000/security/resources/allow-if-origin.py?allowCache&origin=http%3A%2F%2Flocalhost%3A8000";
var allowAllImage2 = "http://127.0.0.1:8080/security/resources/abe-allow-star.py?allowCache";
var allow8000Image2 = "http://127.0.0.1:8080/security/resources/allow-if-origin.py?allowCache&origin=http%3A%2F%2Flocalhost%3A8000";
var counter = 0;
function loadNextFrame()
{
counter++;
// Four first tests try to load an image with a given origin and then the same image (in cache) with a different origin.
if (counter == 1)
document.getElementById('iframe1').src = iframeURL8000 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allowAllImage1, shouldPass:true, crossOrigin: "anonymous", id: 1}));
else if (counter == 2)
document.getElementById('iframe2').src = iframeURL8080 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allowAllImage1, shouldPass: true, crossOrigin: "anonymous", id: 2}));
else if (counter == 3)
document.getElementById('iframe3').src = iframeURL8000 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allow8000Image1, shouldPass: true, crossOrigin: "anonymous", id: 3}));
// Fourth image load should fail since requesting image from localhost:8080 while only allowed from localhost:8000.
else if (counter == 4)
document.getElementById('iframe4').src = iframeURL8080 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allow8000Image1, shouldPass: false, crossOrigin: "anonymous", id: 4}));
// Four next tests try to load a cross-origin image without cors and then with cors.
else if (counter == 5)
document.getElementById('iframe5').src = iframeURL8000 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allowAllImage2, shouldPass:true, id: 5}));
else if (counter == 6)
document.getElementById('iframe6').src = iframeURL8000 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allowAllImage2, shouldPass:true, crossOrigin: "anonymous", id: 6}));
else if (counter == 7)
document.getElementById('iframe7').src = iframeURL8080 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allow8000Image2, shouldPass:true, id: 7}));
else if (counter == 8)
document.getElementById('iframe8').src = iframeURL8080 + "#" +
encodeURIComponent(JSON.stringify({node: "img", url: allow8000Image2, shouldPass:false, crossOrigin: "anonymous", id: 8}));
else if (window.testRunner)
testRunner.notifyDone();
}
loadNextFrame();
</script>
</body>
</html>