Backed out changeset 6c25a4bfd449 (bug 975042)
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Fri, 21 Mar 2014 08:47:43 +0100
changeset 193206 a0aab0915b63ac532a89f7353cc7559112941440
parent 193205 6ca085884aba50b79c00864564ef7d83fe5c48ac
child 193207 f1a101a5c858f5e3dd6f9af0238d2adb3dbb2b2c
push id3624
push userasasaki@mozilla.com
push dateMon, 09 Jun 2014 21:49:01 +0000
treeherdermozilla-beta@b1a5da15899a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs975042
milestone31.0a1
backs out6c25a4bfd449a6ce78afd365be86739f372021ac
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 6c25a4bfd449 (bug 975042)
js/xpconnect/wrappers/XrayWrapper.cpp
--- a/js/xpconnect/wrappers/XrayWrapper.cpp
+++ b/js/xpconnect/wrappers/XrayWrapper.cpp
@@ -201,18 +201,18 @@ public:
                                        HandleObject holder, HandleId id,
                                        MutableHandle<JSPropertyDescriptor> desc, unsigned flags);
     virtual bool resolveOwnProperty(JSContext *cx, Wrapper &jsWrapper, HandleObject wrapper,
                                     HandleObject holder, HandleId id,
                                     MutableHandle<JSPropertyDescriptor> desc, unsigned flags);
     static bool defineProperty(JSContext *cx, HandleObject wrapper, HandleId id,
                                MutableHandle<JSPropertyDescriptor> desc,
                                Handle<JSPropertyDescriptor> existingDesc, bool *defined);
-    virtual bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
-                                AutoIdVector &props);
+    static bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
+                               AutoIdVector &props);
     static bool call(JSContext *cx, HandleObject wrapper,
                      const JS::CallArgs &args, js::Wrapper& baseInstance);
     static bool construct(JSContext *cx, HandleObject wrapper,
                           const JS::CallArgs &args, js::Wrapper& baseInstance);
 
     static bool isResolving(JSContext *cx, JSObject *holder, jsid id);
 
     static bool resolveDOMCollectionProperty(JSContext *cx, HandleObject wrapper,
@@ -252,18 +252,18 @@ public:
                                        HandleObject holder, HandleId id,
                                        MutableHandle<JSPropertyDescriptor> desc, unsigned flags);
     virtual bool resolveOwnProperty(JSContext *cx, Wrapper &jsWrapper, HandleObject wrapper,
                                     HandleObject holder, HandleId id,
                                     MutableHandle<JSPropertyDescriptor> desc, unsigned flags);
     static bool defineProperty(JSContext *cx, HandleObject wrapper, HandleId id,
                                MutableHandle<JSPropertyDescriptor> desc,
                                Handle<JSPropertyDescriptor> existingDesc, bool *defined);
-    virtual bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
-                                AutoIdVector &props);
+    static bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
+                               AutoIdVector &props);
     static bool call(JSContext *cx, HandleObject wrapper,
                      const JS::CallArgs &args, js::Wrapper& baseInstance);
     static bool construct(JSContext *cx, HandleObject wrapper,
                           const JS::CallArgs &args, js::Wrapper& baseInstance);
 
     static bool isResolving(JSContext *cx, JSObject *holder, jsid id)
     {
         return false;
@@ -304,18 +304,18 @@ public:
                                MutableHandle<JSPropertyDescriptor> desc,
                                Handle<JSPropertyDescriptor> existingDesc, bool *defined)
     {
         // There's no useful per-trait work to do here. Punt back up to the common code.
         *defined = false;
         return true;
     }
 
-    virtual bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
-                                AutoIdVector &props)
+    static bool enumerateNames(JSContext *cx, HandleObject wrapper, unsigned flags,
+                               AutoIdVector &props)
     {
         MOZ_ASSUME_UNREACHABLE("Not yet implemented");
     }
 
     static bool call(JSContext *cx, HandleObject wrapper,
                      const JS::CallArgs &args, js::Wrapper& baseInstance)
     {
         // We'll handle this when we start supporting Functions.
@@ -1916,17 +1916,17 @@ XrayWrapper<Base, Traits>::enumerate(JSC
     if (expando) {
         JSAutoCompartment ac(cx, expando);
         if (!js::GetPropertyNames(cx, expando, flags, &props))
             return false;
     }
     if (!JS_WrapAutoIdVector(cx, props))
         return false;
 
-    return Traits::singleton.enumerateNames(cx, wrapper, flags, props);
+    return Traits::enumerateNames(cx, wrapper, flags, props);
 }
 
 template <typename Base, typename Traits>
 bool
 XrayWrapper<Base, Traits>::enumerate(JSContext *cx, HandleObject wrapper,
                                     AutoIdVector &props)
 {
     return enumerate(cx, wrapper, 0, props);