Chromium Code Reviews| Index: src/objects.cc |
| diff --git a/src/objects.cc b/src/objects.cc |
| index bef6dba7932e0297f3471f22b7829395c6379a24..d554495238a40a41d648b72c5c893594efffb12f 100644 |
| --- a/src/objects.cc |
| +++ b/src/objects.cc |
| @@ -4724,8 +4724,8 @@ Maybe<bool> JSProxy::SetProperty(Handle<JSProxy> proxy, Handle<Name> name, |
| Nothing<bool>()); |
| if (!trap_result->BooleanValue()) { |
| RETURN_FAILURE(isolate, should_throw, |
| - NewTypeError(MessageTemplate::kProxyHandlerReturned, handler, |
| - factory->false_string(), trap_name)); |
| + NewTypeError(MessageTemplate::kProxyTrapReturnedNonBoolean, |
|
Jakob Kummerow
2015/12/10 15:35:03
Nope, the problem is that it returned a falsish va
Camillo Bruni
2015/12/10 20:22:13
updated to kProxyReturnedFalsish
|
| + handler, factory->false_string(), trap_name)); |
| } |
| // Enforce the invariant. |
| @@ -4782,8 +4782,8 @@ Maybe<bool> JSProxy::DeletePropertyOrElement(Handle<JSProxy> proxy, |
| Nothing<bool>()); |
| if (!trap_result->BooleanValue()) { |
| RETURN_FAILURE(isolate, should_throw, |
| - NewTypeError(MessageTemplate::kProxyHandlerReturned, handler, |
| - factory->false_string(), trap_name)); |
| + NewTypeError(MessageTemplate::kProxyTrapReturnedNonBoolean, |
|
Jakob Kummerow
2015/12/10 15:35:03
same here
|
| + handler, factory->false_string(), trap_name)); |
| } |
| // Enforce the invariant. |
| @@ -6835,10 +6835,9 @@ Maybe<bool> JSProxy::DefineOwnProperty(Isolate* isolate, Handle<JSProxy> proxy, |
| Nothing<bool>()); |
| // 10. If booleanTrapResult is false, return false. |
| if (!trap_result_obj->BooleanValue()) { |
| - // TODO(jkummerow): Better error message? |
| RETURN_FAILURE(isolate, should_throw, |
| - NewTypeError(MessageTemplate::kProxyHandlerReturned, handler, |
| - trap_result_obj, trap_name)); |
| + NewTypeError(MessageTemplate::kProxyTrapReturnedNonBoolean, |
| + handler, trap_result_obj, trap_name)); |
| } |
|
neis
2015/12/10 15:13:49
(!trap_result_obj->BooleanValue() means that the b
|
| // 11. Let targetDesc be ? target.[[GetOwnProperty]](P). |
| PropertyDescriptor target_desc; |
| @@ -7005,8 +7004,8 @@ Maybe<bool> JSProxy::GetOwnPropertyDescriptor(Isolate* isolate, |
| // TypeError exception. |
| if (!trap_result_obj->IsJSReceiver() && !trap_result_obj->IsUndefined()) { |
| isolate->Throw(*isolate->factory()->NewTypeError( |
| - MessageTemplate::kProxyHandlerReturned, handler, trap_result_obj, |
| - name)); |
| + MessageTemplate::kProxyTrapReturnedNonObject, handler, trap_result_obj, |
| + trap_name)); |
| return Nothing<bool>(); |
| } |
| // 10. Let targetDesc be ? target.[[GetOwnProperty]](P). |
| @@ -7062,7 +7061,8 @@ Maybe<bool> JSProxy::GetOwnPropertyDescriptor(Isolate* isolate, |
| if (target_desc.is_empty() || target_desc.configurable()) { |
| // 17a i. Throw a TypeError exception. |
| isolate->Throw(*isolate->factory()->NewTypeError( |
| - MessageTemplate::kRedefineDisallowed, name)); |
| + MessageTemplate::kProxyTrapDescriptorNonConfigurable, trap_name, |
| + name)); |
| return Nothing<bool>(); |
| } |
| } |
| @@ -7345,8 +7345,8 @@ Maybe<bool> JSProxy::PreventExtensions(Handle<JSProxy> proxy, |
| Nothing<bool>()); |
| if (!trap_result->BooleanValue()) { |
| RETURN_FAILURE(isolate, should_throw, |
| - NewTypeError(MessageTemplate::kProxyHandlerReturned, handler, |
| - factory->false_string(), trap_name)); |
| + NewTypeError(MessageTemplate::kProxyTrapReturnedNonBoolean, |
|
Jakob Kummerow
2015/12/10 15:35:03
same here
|
| + handler, factory->false_string(), trap_name)); |
| } |
| // Enforce the invariant. |
| @@ -8584,7 +8584,8 @@ Maybe<bool> JSProxy::OwnPropertyKeys(Isolate* isolate, |
| int* found = unchecked_result_keys.Find(key); |
| if (found == nullptr || *found == kGone) { |
| isolate->Throw(*isolate->factory()->NewTypeError( |
| - MessageTemplate::kProxyTrapResultMustInclude, handle(key, isolate))); |
| + MessageTemplate::kProxyTrapOwnKeysResultMustInclude, |
| + handle(key, isolate))); |
| return Nothing<bool>(); |
| } |
| // 17b. Remove key from uncheckedResultKeys. |
| @@ -8604,7 +8605,8 @@ Maybe<bool> JSProxy::OwnPropertyKeys(Isolate* isolate, |
| int* found = unchecked_result_keys.Find(key); |
| if (found == nullptr || *found == kGone) { |
| isolate->Throw(*isolate->factory()->NewTypeError( |
| - MessageTemplate::kProxyTrapResultMustInclude, handle(key, isolate))); |
| + MessageTemplate::kProxyTrapOwnKeysResultMustInclude, |
| + handle(key, isolate))); |
| return Nothing<bool>(); |
| } |
| // 19b. Remove key from uncheckedResultKeys. |