зеркало из https://github.com/mozilla/pjs.git
Fix for bug 691707 (Enumerating new proxy-based DOM bindings should enumerate the prototype too). r=mrbkap.
--HG-- extra : rebase_source : 788c2b3f9666ca654fab67047f6309937360f725
This commit is contained in:
Родитель
58ccbf0620
Коммит
7c9577d8ff
|
@ -155,6 +155,7 @@ _TEST_FILES = \
|
|||
devicemotion_inner.html \
|
||||
test_bug698061.html \
|
||||
test_bug707749.html \
|
||||
test_bug691707.html \
|
||||
$(NULL)
|
||||
|
||||
libs:: $(_TEST_FILES)
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=691707
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for Bug 691707</title>
|
||||
<script type="application/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=691707">Mozilla Bug 691707</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 691707 **/
|
||||
|
||||
var nodeList = document.body.childNodes;
|
||||
var properties = [i for (i in nodeList)];
|
||||
for (var j = 1; j < nodeList.length; ++j)
|
||||
ok(properties.indexOf("" + j) >= 0, "Enumerating hit all numeric properties");
|
||||
ok(properties.indexOf("item") >= 0, "Enumerating hit 'item' from the prototype");
|
||||
ok(properties.indexOf("length") >= 0, "Enumerating hit 'length' from the prototype");
|
||||
|
||||
</script>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
|
@ -852,8 +852,9 @@ template<class LC>
|
|||
bool
|
||||
ListBase<LC>::enumerate(JSContext *cx, JSObject *proxy, AutoIdVector &props)
|
||||
{
|
||||
// FIXME: enumerate proto as well
|
||||
return getOwnPropertyNames(cx, proxy, props);
|
||||
JSObject *proto = JS_GetPrototype(proxy);
|
||||
return getOwnPropertyNames(cx, proxy, props) &&
|
||||
(!proto || js::GetPropertyNames(cx, proto, 0, &props));
|
||||
}
|
||||
|
||||
template<class LC>
|
||||
|
|
Загрузка…
Ссылка в новой задаче