Index: src/proxy.js |
=================================================================== |
--- src/proxy.js (revision 8174) |
+++ src/proxy.js (working copy) |
@@ -60,8 +60,9 @@ |
} |
$Proxy.create = function(handler, proto) { |
- if (!IS_SPEC_OBJECT(handler)) throw TypeError |
- if (!IS_SPEC_OBJECT(proto)) proto = $Object.prototype |
+ if (!IS_SPEC_OBJECT(handler)) |
+ throw MakeTypeError("handler_non_object", ["create"]) |
+ if (!IS_SPEC_OBJECT(proto)) proto = null // Mozilla does this... |
return %CreateJSProxy(handler, proto) |
} |
@@ -130,3 +131,7 @@ |
configurable: true}); |
return true; |
} |
+ |
+function DerivedHasTrap(name) { |
+ return !!this.getPropertyDescriptor(name) |
+} |