зеркало из https://github.com/mozilla/gecko-dev.git
Bug 402680, document.activeElement returns wrong node, r+sr=bz, a=mtschrep
This commit is contained in:
Родитель
c82aa9bd88
Коммит
b19f405d98
|
@ -1644,8 +1644,10 @@ nsDocument::GetActiveElement(nsIDOMElement **aElement)
|
|||
if (bodyElement) {
|
||||
*aElement = bodyElement;
|
||||
NS_ADDREF(*aElement);
|
||||
return NS_OK;
|
||||
}
|
||||
// Because of IE compatibility, return null when html document doesn't have
|
||||
// a body.
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
// If we couldn't get a BODY, return the root element.
|
||||
|
|
|
@ -62,6 +62,7 @@ _TEST_FILES = test_bug1682.html \
|
|||
test_bug380383.html \
|
||||
test_bug386495.html \
|
||||
test_bug391777.html \
|
||||
test_bug402680.html \
|
||||
test_form-parsing.html \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=402680
|
||||
-->
|
||||
<head>
|
||||
<title>Test for Bug 402680</title>
|
||||
<script>
|
||||
var activeElementIsNull = (document.activeElement == null);
|
||||
</script>
|
||||
<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=402680">Mozilla Bug 402680</a>
|
||||
<p id="display"></p>
|
||||
<div id="content">
|
||||
<input type="text">
|
||||
<textarea></textarea>
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script class="testbody" type="text/javascript">
|
||||
|
||||
/** Test for Bug 402680 **/
|
||||
|
||||
ok(activeElementIsNull,
|
||||
"Before document has body, active element should be null");
|
||||
|
||||
function testActiveElement() {
|
||||
ok(document.body == document.activeElement,
|
||||
"After page load body element should be the active element!");
|
||||
var input = document.getElementsByTagName("input")[0];
|
||||
input.focus();
|
||||
ok(document.activeElement == input,
|
||||
"Input element isn't the active element!");
|
||||
var textarea = document.getElementsByTagName("textarea")[0];
|
||||
textarea.focus();
|
||||
ok(document.activeElement == textarea,
|
||||
"Textarea element isn't the active element!");
|
||||
SimpleTest.finish();
|
||||
}
|
||||
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
addLoadEvent(testActiveElement);
|
||||
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
Загрузка…
Ссылка в новой задаче