Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index e11cbdc4fd3853f23d4e79561df897807efe1cda..358ec9ae2ccd61860da955e3cd1b47b482f3753c 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -1870,7 +1870,6 @@ class JSObject: public JSReceiver { |
void LocalLookupRealNamedProperty(String* name, LookupResult* result); |
void LookupRealNamedProperty(String* name, LookupResult* result); |
void LookupRealNamedPropertyInPrototypes(String* name, LookupResult* result); |
- void LookupCallbackSetterInPrototypes(String* name, LookupResult* result); |
MUST_USE_RESULT MaybeObject* SetElementWithCallbackSetterInPrototypes( |
uint32_t index, Object* value, bool* found, StrictModeFlag strict_mode); |
void LookupCallback(String* name, LookupResult* result); |
@@ -2155,17 +2154,16 @@ class JSObject: public JSReceiver { |
bool check_prototype, |
SetPropertyMode set_mode); |
- // Searches the prototype chain for a callback setter and sets the property |
- // with the setter if it finds one. The '*found' flag indicates whether |
- // a setter was found or not. |
- // This function can cause GC and can return a failure result with |
- // '*found==true'. |
- MUST_USE_RESULT MaybeObject* SetPropertyWithCallbackSetterInPrototypes( |
+ // Searches the prototype chain for property 'name'. If it is found and |
+ // has a setter, invoke it and set '*done' to true. If it is found and is |
+ // read-only, reject and set '*done' to true. Otherwise, set '*done' to |
+ // false. Can cause GC and can return a failure result with '*done==true'. |
+ MUST_USE_RESULT MaybeObject* SetPropertyViaPrototypes( |
String* name, |
Object* value, |
PropertyAttributes attributes, |
- bool* found, |
- StrictModeFlag strict_mode); |
+ StrictModeFlag strict_mode, |
+ bool* done); |
MUST_USE_RESULT MaybeObject* DeletePropertyPostInterceptor(String* name, |
DeleteMode mode); |
@@ -7728,14 +7726,17 @@ class JSProxy: public JSReceiver { |
Object* value, |
StrictModeFlag strict_mode); |
- // If the handler defines an accessor property, invoke its setter |
- // (or throw if only a getter exists) and set *found to true. Otherwise false. |
- MUST_USE_RESULT MaybeObject* SetPropertyWithHandlerIfDefiningSetter( |
+ // If the handler defines an accessor property with a setter, invoke it. |
+ // If it defines an accessor property without a setter, or a data property |
+ // that is read-only, throw. In all these cases set '*done' to true, |
+ // otherwise set it to false. |
+ MUST_USE_RESULT MaybeObject* SetPropertyViaPrototypesWithHandler( |
+ JSObject* receiver, |
String* name, |
Object* value, |
PropertyAttributes attributes, |
StrictModeFlag strict_mode, |
- bool* found); |
+ bool* done); |
MUST_USE_RESULT MaybeObject* DeletePropertyWithHandler( |
String* name, |