| <!DOCTYPE html> |
| <head> |
| <meta charset="utf-8"> |
| <title>HTML Test: the browsing contexts created by various container elements</title> |
| <link rel="author" title="Intel" href="http://www.intel.com/" /> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| |
| var t1 = async_test("Accessing child browsing contexts 1"); |
| var t2 = async_test("Accessing child browsing contexts 2"); |
| var t3 = async_test("Accessing child browsing contexts 3"); |
| function on_load() { |
| //Child browsing contexts created by iframe, object and embed elements. |
| t1.step(function () { |
| assert_equals(window.length, 3, "The top browsing context should have 3 child browsing contexts."); |
| }); |
| t1.step(function () { |
| assert_equals(window[0].name, "win1", "The browsing context name should be 'win1'."); |
| assert_equals(window[1].name, "win2", "The browsing context name should be 'win2'."); |
| assert_equals(window[2].name, "win3", "The browsing context name should be 'win3'."); |
| }); |
| t1.done(); |
| |
| //Child browsing contexts created by frame elements. |
| t2.step(function () { |
| assert_equals(document.getElementById("fr").contentWindow.length, 2, |
| "The child browsing context created by the iframe element should have 2 child browsing contexts."); |
| }); |
| t2.step(function () { |
| assert_equals(document.getElementById("fr").contentWindow[0].name, "win4", |
| "The browsing context name should be 'win4'."); |
| assert_equals(document.getElementById("fr").contentWindow[1].name, "win5", |
| "The browsing context name should be 'win5'."); |
| }); |
| t2.done(); |
| |
| //The child browsing context will be removed if the data attribute of the associated object element is removed. |
| t3.step(function () { |
| document.getElementById("obj").removeAttribute("type"); |
| assert_equals(window.length, 3, "The top browsing context should have 3 child browsing contexts."); |
| document.getElementById("obj").removeAttribute("data"); |
| assert_equals(window.length, 3, "The top browsing context should have 3 child browsing contexts."); |
| |
| setTimeout(function () { |
| assert_equals(window.length, 2, "The top browsing context should have 2 child browsing contexts."); |
| }, 1); |
| }); |
| t3.done(); |
| } |
| |
| </script> |
| </head> |
| <body onload="on_load()"> |
| <div id="log"></div> |
| <div style="display:none"> |
| <iframe id="fr" name="win1" src="test3.html"></iframe> |
| <object id="obj" name="win2" type="text/html" data="about:blank"></object> |
| <object type="image/png" src="/images/green.png"></object> |
| <embed id="emb" name="win3" type="image/svg+xml" src="/images/green.svg"></embed> |
| </div> |
| </body> |