Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 44741fd029f2b9067a48f1e29f5df049cf7fa9d7..ea6ffd8503d785b37ecd654e99ecf0d4cc074340 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -1883,13 +1883,9 @@ void JSObject::LookupCallbackSetterInPrototypes(String* name, |
pt = pt->GetPrototype()) { |
JSObject::cast(pt)->LocalLookupRealNamedProperty(name, result); |
if (result->IsProperty()) { |
- if (result->IsReadOnly()) { |
- result->NotFound(); |
- return; |
- } |
- if (result->type() == CALLBACKS) { |
- return; |
- } |
+ if (result->type() == CALLBACKS && !result->IsReadOnly()) return; |
+ // Found non-callback or read-only callback, stop looking. |
+ break; |
} |
} |
result->NotFound(); |
@@ -2273,10 +2269,10 @@ MUST_USE_RESULT PropertyAttributes JSProxy::GetPropertyAttributeWithHandler( |
MaybeObject* JSObject::SetPropertyForResult(LookupResult* result, |
- String* name, |
- Object* value, |
- PropertyAttributes attributes, |
- StrictModeFlag strict_mode) { |
+ String* name, |
+ Object* value, |
+ PropertyAttributes attributes, |
+ StrictModeFlag strict_mode) { |
Heap* heap = GetHeap(); |
// Make sure that the top context does not change when doing callbacks or |
// interceptor calls. |