Another try at fixing this test (bug 450637 comment 28)

This commit is contained in:
Jesse Ruderman 2008-09-16 15:32:50 -07:00
Родитель 32dec59543
Коммит 7122b5d84d
9 изменённых файлов: 69 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,7 @@
<html>
<head>
</head>
<frameset resizable="yes" rows="100%" onload="top.p(1);">
<frame src="data:text/html,<body onload=%22top.p(0); var t = top; var d = parent.document; d.write('<body onload=top.p(5);parent.document.documentElement.removeAttribute(\'class\');>foo<script>top.p(2);</script>'); t.p(3); t.p(d.documentElement.innerHTML); d.close(); t.p(4); %22>">
<frame src="data:text/html,<body onload=%22top.p(0); var t = top; var d = parent.document; d.write('<body onload=top.p(5);><script>top.p(2);</script>'); t.p(3); t.p(d.documentElement.innerHTML); d.close(); t.p(4); %22>">
</frameset>
</html>

Просмотреть файл

@ -2,6 +2,5 @@
<head>
</head>
<body>
foo
</body>
</html>

Просмотреть файл

@ -2,6 +2,7 @@
<head>
</head>
<body>
<p>This test is designed to pass regardless of who wins the document.write race.</p>
<iframe src="212563-1-ref-inner.html"></iframe>
</body>
</html>

Просмотреть файл

@ -1,13 +1,14 @@
<html class="reftest-wait">
<html>
<head>
<script type="text/javascript">
function p(n)
{
dump("Test 212563 says: " + n + "\n");
dump("Test 212563-1 says: " + n + "\n");
}
</script>
</head>
<body>
<p>This test is designed to pass regardless of who wins the document.write race.</p>
<iframe src="212563-1-inner.html"></iframe>
</body>
</html>

Просмотреть файл

@ -0,0 +1,9 @@
<html>
<head>
</head>
<frameset resizable="yes" rows="100%" onload="parent.changeInnermost(document.getElementById(&quot;innermost&quot;))">
<frame id="innermost" src="data:text/html,<font color=red>old innermost"></frame>
</frameset>
</html>

Просмотреть файл

@ -0,0 +1,7 @@
<html>
<head>
</head>
<body>
replacement for middle frame
</body>
</html>

Просмотреть файл

@ -0,0 +1,7 @@
<html>
<head>
</head>
<body>
<iframe src="212563-2-ref-inner.html"></iframe>
</body>
</html>

Просмотреть файл

@ -0,0 +1,36 @@
<html class="reftest-wait">
<head>
<script type="text/javascript">
function p(n)
{
dump("Test 212563-2 says: " + n + "\n");
}
// Step 1: replace the innermost frame
function changeInnermost(iframeElement)
{
iframeElement.setAttribute("src",
"data:text/html,<body onload='" + w + "w(parent.document, top);'><font color=blue>new innermost");
}
// Step 2: replace the middle iframe (from the new innermost iframe's onload handler)
var replacementForMiddleFrame = "<body onload=top.p(5);parent.document.documentElement.removeAttribute('class');>replacement for middle frame<script>top.p(2);<\/script><\/body>";
function w(md, t)
{
t.p(0);
md.write(t.replacementForMiddleFrame);
t.p(3);
t.p(md.documentElement.innerHTML);
md.close();
t.p(4);
}
</script>
</head>
<body>
<iframe src="212563-2-inner.html"></iframe>
</body>
</html>

Просмотреть файл

@ -138,6 +138,7 @@ fails == 25888-3r.html 25888-3r-ref.html # bug 25888
!= 210094-1c.html 210094-1-ref.html
== 210876-1.html 210876-1-ref.html
== 212563-1.html 212563-1-ref.html
== 212563-2.html 212563-2-ref.html
== 214077-1a.html 214077-1-ref.html
== 214077-1b.html 214077-1-ref.html
== 218473-1.html 218473-1-ref.html