| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index d5e8b73ef26b72c4e3eea0f5d097c1fb2b56db55..3424bd0319e6851bacc428182fe820e78e4a4928 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::kProxyTrapReturnedFalseish,
|
| + handler, trap_result, 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::kProxyTrapReturnedFalseish,
|
| + handler, trap_result, 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::kProxyTrapReturnedFalseish,
|
| + handler, trap_result_obj, trap_name));
|
| }
|
| // 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::kProxyTrapReturnedFalseish, 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::kProxyTrapReturned, handler,
|
| + trap_result, 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.
|
|
|