68 lines
1.8 KiB
HTML
68 lines
1.8 KiB
HTML
<html>
|
|
<head>
|
|
|
|
<script>
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpDOMAsWebArchive();
|
|
testRunner.setCanOpenWindows();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
var otherWindow = null;
|
|
|
|
function startTest()
|
|
{
|
|
otherWindow = window.open("resources/adopt-inline-styled-node-second-window.html", "TestWindow");
|
|
if (!otherWindow) {
|
|
alert("When running this test under Safari, popup blocking must be disabled.");
|
|
return;
|
|
}
|
|
tryAdoptNode();
|
|
}
|
|
|
|
function tryAdoptNode()
|
|
{
|
|
var otherSpan = otherWindow.document.getElementById("otherSpan");
|
|
if (!otherSpan) {
|
|
setTimeout("tryAdoptNode()", 10);
|
|
return;
|
|
}
|
|
|
|
var adoptedSpan = document.adoptNode(otherSpan);
|
|
document.getElementById("testSpan").appendChild(adoptedSpan);
|
|
otherWindow.close();
|
|
|
|
procedeAfterClosedWindow();
|
|
}
|
|
|
|
function procedeAfterClosedWindow()
|
|
{
|
|
if (!otherWindow.closed) {
|
|
setTimeout("procedeAfterClosedWindow()", 10);
|
|
return;
|
|
}
|
|
|
|
otherWindow = null;
|
|
|
|
if (window.GCController) {
|
|
GCController.collect();
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
else
|
|
alert("How strange - You have window.GCController, but no window.testRunner. How did this happen?");
|
|
}
|
|
else
|
|
alert("Now wait for garbage collection to have occured, then save the current page as a WebArchive.");
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
|
|
<body onload="startTest();">
|
|
<span id="testSpan">This test takes a node with inline style from a different document, moves it to this document, makes sure the other document has closed,
|
|
then makes a WebArchive from this document. The test passes if it doesn't crash. If running the test in Safari then garbage collection might get in the
|
|
way of fulling testing the bug. One should wait "awhile" before making the WebArchive.<br></span>
|
|
</body>
|
|
</html>
|