mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 22:32:46 +00:00
Fix bug 431833: fire DOMFrameContentLoaded on the immediate parent document of the frame. r=bent, sr=sicking, a=beltzner
This commit is contained in:
parent
00cf6ae1f2
commit
3398f8db45
@ -2804,12 +2804,7 @@ nsDocument::DispatchContentLoadedEvents()
|
|||||||
|
|
||||||
if (target_frame) {
|
if (target_frame) {
|
||||||
nsCOMPtr<nsIDocument> parent = mParentDocument;
|
nsCOMPtr<nsIDocument> parent = mParentDocument;
|
||||||
while (parent) {
|
do {
|
||||||
parent = parent->GetParentDocument();
|
|
||||||
if (!parent) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsCOMPtr<nsIDOMDocumentEvent> document_event =
|
nsCOMPtr<nsIDOMDocumentEvent> document_event =
|
||||||
do_QueryInterface(parent);
|
do_QueryInterface(parent);
|
||||||
|
|
||||||
@ -2851,7 +2846,9 @@ nsDocument::DispatchContentLoadedEvents()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
parent = parent->GetParentDocument();
|
||||||
|
} while (parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
UnblockOnload(PR_TRUE);
|
UnblockOnload(PR_TRUE);
|
||||||
|
@ -178,6 +178,7 @@ _TEST_FILES = test_bug5141.html \
|
|||||||
file_bug428847-1.xhtml \
|
file_bug428847-1.xhtml \
|
||||||
file_bug428847-2.xhtml \
|
file_bug428847-2.xhtml \
|
||||||
test_bug425201.html \
|
test_bug425201.html \
|
||||||
|
test_bug431833.html \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
libs:: $(_TEST_FILES)
|
libs:: $(_TEST_FILES)
|
||||||
|
49
content/base/test/test_bug431833.html
Normal file
49
content/base/test/test_bug431833.html
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<!--
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=431833
|
||||||
|
-->
|
||||||
|
<head>
|
||||||
|
<title>Test for Bug 431833</title>
|
||||||
|
<script type="text/javascript" src="/MochiKit/MochiKit.js"></script>
|
||||||
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=431833">Mozilla Bug 431833</a>
|
||||||
|
<p id="display">
|
||||||
|
<iframe id="f1" src="data:text/html,1"></iframe>
|
||||||
|
<iframe id="f2" src="data:text/html,2"></iframe>
|
||||||
|
<iframe id="f3" src="data:text/html,<iframe id='f4' src='data:text/html,3'></iframe>"></iframe>
|
||||||
|
</p>
|
||||||
|
<div id="content" style="display: none">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<pre id="test">
|
||||||
|
<script class="testbody" type="text/javascript">
|
||||||
|
|
||||||
|
/** Test for Bug 431833 **/
|
||||||
|
|
||||||
|
var str = "FAIL";
|
||||||
|
function test(e) {
|
||||||
|
if (str == "FAIL")
|
||||||
|
str = "";
|
||||||
|
|
||||||
|
str += "PASS: " + e.target.id + '. ';
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('DOMFrameContentLoaded',test,true);
|
||||||
|
|
||||||
|
SimpleTest.waitForExplicitFinish();
|
||||||
|
|
||||||
|
addLoadEvent(function() {
|
||||||
|
is(str, "PASS: f1. PASS: f2. PASS: f3. PASS: f4. ",
|
||||||
|
"DOMFrameContentLoaded events didn't fire?");
|
||||||
|
});
|
||||||
|
|
||||||
|
addLoadEvent(SimpleTest.finish);
|
||||||
|
</script>
|
||||||
|
</pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user