file_frameNavigation_innermost.html (3323B)
1 <!DOCTYPE HTML> 2 <html> 3 <body> 4 <div id="content"></div> 5 <script> 6 // get the case from the query string 7 var type = location.search.substring(1); 8 9 function clickLink() { 10 // If we don't reflow before clicking the link, the test will fail intermittently. The reason is still unknown. We'll track this issue in bug 1259715. 11 requestAnimationFrame(function() { 12 setTimeout(function() { 13 document.getElementById("link").click(); 14 }, 0); 15 }); 16 } 17 18 switch (type) { 19 case "insecurePage_navigate_child": 20 document.getElementById("content").innerHTML = 21 '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?insecurePage_navigate_child_response" id="link">Testing\<\/a>'; 22 clickLink(); 23 break; 24 25 case "insecurePage_navigate_child_response": 26 parent.parent.postMessage({"test": "insecurePage_navigate_child", "msg": "navigated to insecure iframe on insecure page"}, "http://mochi.test:8888"); 27 document.getElementById("content").innerHTML = "Navigated from secure to insecure frame on an insecure page"; 28 break; 29 30 case "insecurePage_navigate_grandchild": 31 document.getElementById("content").innerHTML = 32 '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?insecurePage_navigate_grandchild_response" id="link">Testing\<\/a>'; 33 clickLink(); 34 break; 35 36 case "insecurePage_navigate_grandchild_response": 37 parent.parent.parent.postMessage({"test": "insecurePage_navigate_grandchild", "msg": "navigated to insecure grandchild iframe on insecure page"}, "http://mochi.test:8888"); 38 document.getElementById("content").innerHTML = "Navigated from secure to insecure grandchild frame on an insecure page"; 39 break; 40 41 case "securePage_navigate_child": 42 document.getElementById("content").innerHTML = 43 '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?securePage_navigate_child_response" id="link">Testing\<\/a>'; 44 clickLink(); 45 break; 46 47 case "securePage_navigate_child_response": 48 document.getElementById("content").innerHTML = "<p>Navigated from secure to insecure frame on a secure page</p>"; 49 parent.parent.postMessage({"test": "securePage_navigate_child", "msg": "navigated to insecure iframe on secure page"}, "http://mochi.test:8888"); 50 break; 51 52 case "securePage_navigate_grandchild": 53 document.getElementById("content").innerHTML= 54 '<a href="http://example.com/tests/dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html?securePage_navigate_grandchild_response" id="link">Testing\<\/a>'; 55 clickLink(); 56 break; 57 58 case "securePage_navigate_grandchild_response": 59 parent.parent.parent.postMessage({"test": "securePage_navigate_grandchild", "msg": "navigated to insecure grandchild iframe on secure page"}, "http://mochi.test:8888"); 60 document.getElementById("content").innerHTML = "<p>Navigated from secure to insecure grandchild frame on a secure page</p>"; 61 break; 62 63 case "blankTarget": 64 window.close(); 65 break; 66 67 default: 68 document.getElementById("content").innerHTML = "Hello"; 69 break; 70 } 71 72 </script> 73 </body> 74 </html>