Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(252)

Unified Diff: src/objects.cc

Issue 1516843002: [proxy] fixing harmony/proxy.js tests and improving error messages + some drive-by fixes (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698