gecko/dom/browser-element/mochitest/file_browserElement_XFrameOptionsDeny.html
Justin Lebar 745f0cb7fa Bug 770239 - Tests for X-Frame-Options behavior inside <iframe mozbrowser>. r=bz
--HG--
extra : rebase_source : 100a084ba36f396f9f5a9d7c0695724da39592d1
2012-07-09 16:42:18 -04:00

58 lines
1.6 KiB
HTML

<html>
<body>
<!-- Try to load in a frame a page which sends "X-Frame-Options: DENY", and a
cross-origin page which sends "X-Frame-Options: SAMEORIGIN". -->
<script>
// Make sure these iframes aren't too tall; they both need to fit inside the
// iframe this page is contained in, without scrolling, in order for the test's
// screenshots to work properly.
var iframe1 = document.createElement('iframe');
iframe1.height = '300px';
var iframe2 = document.createElement('iframe');
iframe2.height = '300px';
document.body.appendChild(iframe1);
document.body.appendChild(iframe2);
// This causes our embedder to take a screenshot (and blocks until the
// screenshot is completed).
alert('step 1');
// Wait for both iframes to load.
var iframe1Loaded = false;
iframe1.addEventListener('load', function iframe1Load() {
iframe1.removeEventListener('load', iframe1Load);
iframe1Loaded = true;
waitForBothLoads();
});
var iframe2Loaded = false;
iframe2.addEventListener('load', function iframe2Load() {
iframe2.removeEventListener('load', iframe2Load);
iframe2Loaded = true;
waitForBothLoads();
});
function waitForBothLoads() {
if (iframe1Loaded && iframe2Loaded) {
setTimeout(function() {
// This causes our embedder to take another screenshot.
alert('step 2');
}, 0);
}
}
iframe1.src = 'file_browserElement_XFrameOptions.sjs?DENY';
// Load iframe2 with the origin of our parent. Since we have a different
// origin and are inside <iframe mozbrowser>, this should not load.
iframe2.src = 'http://mochi.test:8888/tests/dom/browser-element/mochitest/file_browserElement_XFrameOptions.sjs?SAMEORIGIN';
</script>
</body>
</html>