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 description("Tests access of cached DOMWindow properties after the associated frame is removed from a web page and garbage collected. Test should not crash and properties should be set to sane defaults.");
27 var frame
= document
.getElementById("frame");
28 childWindow
= frame
.contentWindow
;
29 // Have expected results assume that the frame has been closed (=> window.closed = true.)
30 collectProperties(true);
31 frame
.parentNode
.removeChild(frame
);
33 for (var i
= 0; i
< propertiesToVerify
.length
; ++i
)
34 shouldBe(propertiesToVerify
[i
].property
, propertiesToVerify
[i
].expected
);
41 <iframe id=
"frame" src=
"about:blank" onload=
"runTest()"></iframe>