diff --git a/dom/tests/mochitest/bugs/Makefile.in b/dom/tests/mochitest/bugs/Makefile.in index 14e6f010585..f9f599bbc28 100644 --- a/dom/tests/mochitest/bugs/Makefile.in +++ b/dom/tests/mochitest/bugs/Makefile.in @@ -155,6 +155,7 @@ _TEST_FILES = \ devicemotion_inner.html \ test_bug698061.html \ test_bug707749.html \ + test_bug691707.html \ $(NULL) libs:: $(_TEST_FILES) diff --git a/dom/tests/mochitest/bugs/test_bug691707.html b/dom/tests/mochitest/bugs/test_bug691707.html new file mode 100644 index 00000000000..a63ba787dc2 --- /dev/null +++ b/dom/tests/mochitest/bugs/test_bug691707.html @@ -0,0 +1,33 @@ + + + + + + Test for Bug 691707 + + + + +Mozilla Bug 691707 +

+ +
+
+
+ + diff --git a/js/xpconnect/src/dombindings.cpp b/js/xpconnect/src/dombindings.cpp index 27f1214117e..a53217c0d93 100644 --- a/js/xpconnect/src/dombindings.cpp +++ b/js/xpconnect/src/dombindings.cpp @@ -852,8 +852,9 @@ template bool ListBase::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