| Index: src/proxy.js
|
| diff --git a/src/proxy.js b/src/proxy.js
|
| index d90e5d4ca8ad50f9a2793a74fc20cb4d2ceb5130..cb9c020e35c60c9b0cdcf15e961ca9a8fdb73789 100644
|
| --- a/src/proxy.js
|
| +++ b/src/proxy.js
|
| @@ -60,8 +60,9 @@ $Proxy.createFunction = function(handler, callTrap, constructTrap) {
|
| }
|
|
|
| $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 @@ function DerivedSetTrap(receiver, name, val) {
|
| configurable: true});
|
| return true;
|
| }
|
| +
|
| +function DerivedHasTrap(name) {
|
| + return !!this.getPropertyDescriptor(name)
|
| +}
|
|
|