| 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.
|
|
|