Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index a30d6ab0d1ceccea5a973752c3963faac83d651e..01de39f0250f3fb559f09170fbb883f07235e777 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -3147,9 +3147,12 @@ MaybeHandle<Object> JSObject::SetPropertyViaPrototypes( |
} |
case CALLBACKS: { |
*done = true; |
- Handle<Object> callback_object(result.GetCallbackObject(), isolate); |
- return SetPropertyWithCallback(object, callback_object, name, value, |
- handle(result.holder()), strict_mode); |
+ if (!result.IsReadOnly()) { |
+ Handle<Object> callback_object(result.GetCallbackObject(), isolate); |
+ return SetPropertyWithCallback(object, callback_object, name, value, |
+ handle(result.holder()), strict_mode); |
+ } |
+ break; |
} |
case HANDLER: { |
Handle<JSProxy> proxy(result.proxy()); |