| <!doctype html> |
| <meta charset="utf-8"> |
| <title>window.top</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <div id="log"></div> |
| <script> |
| test(function() { |
| assert_equals(window, top) |
| }, "Top level browsing context"); |
| |
| function step_func(test) { |
| return function (top_pointer) { |
| test.step(function() {assert_equals(top_pointer, window);}) |
| test.done(); |
| } |
| } |
| |
| var t1 = async_test("One nested iframe"); |
| t1.step(function() { |
| var iframe = document.createElement("iframe"); |
| //iframe.src = "data:text/html," |
| |
| iframe.onload = t1.step_func( |
| function() { |
| var doc = iframe.contentDocument; |
| iframe.contentWindow.test_func = step_func(t1); |
| |
| var script = doc.createElement("script") |
| script.textContent = "test_func(top);" |
| doc.body.appendChild(script); |
| }); |
| document.body.appendChild(iframe); |
| }); |
| |
| var t2 = async_test("Two nested iframes"); |
| t2.step(function() { |
| var iframe = document.createElement("iframe"); |
| //iframe.src = "data:text/html," |
| |
| iframe.onload = t2.step_func( |
| function() { |
| var doc = iframe.contentDocument; |
| iframe2 = document.createElement("iframe"); |
| //iframe2.src = "data:text/html," |
| |
| iframe2.onload = t2.step_func( |
| function() { |
| var doc2 = iframe2.contentDocument; |
| |
| iframe2.contentWindow.test_func = step_func(t2); |
| |
| var script = doc2.createElement("script") |
| script.textContent = "test_func(top);" |
| doc2.body.appendChild(script); |
| }); |
| doc.body.appendChild(iframe2); |
| }); |
| |
| document.body.appendChild(iframe); |
| }); |
| |
| </script> |