3 <script src="../../../resources/js-test.js"></script>
4 <script src="resources/window-property-collector.js"></script>
6 var jsTestIsAsync = true;
9 var propertiesToVerify = [];
11 function insertExpectedResult(path, expected)
15 var propertyDir = path.slice(0, -1).join('.');
16 var cachedPropertyDir = "cached_" + propertyDir.replace('.', '_');
17 window[cachedPropertyDir] = eval("childWindow." + propertyDir);
18 propertiesToVerify.push({
19 'property': ["window", cachedPropertyDir, path[path.length - 1]].join("."),
26 var frame = document.getElementById("frame");
27 if (frame.src != 'about:blank') {
28 description("Tests access of cached DOMWindow properties after the associated frame is navigated. Test should not crash and properties should be set to sane defaults.");
29 childWindow = frame.contentWindow;
30 // Have expected results assume that the frame hasn't been closed (=> window.closed = false.)
31 collectProperties(false);
32 frame.src = 'about:blank';
35 for (var i = 0; i < propertiesToVerify.length; ++i)
36 shouldBe(propertiesToVerify[i].property, propertiesToVerify[i].expected);
42 <iframe id="frame" src="resources/blank.html" onload="runTest()"></iframe>