Index: src/api.cc |
diff --git a/src/api.cc b/src/api.cc |
index b6f7bb77243bed6519cf86300ef3b325e545047e..cd3cd0556bbacbc2c69caa5b1c4881ec73ee8d42 100644 |
--- a/src/api.cc |
+++ b/src/api.cc |
@@ -4256,7 +4256,8 @@ bool v8::PropertyDescriptor::has_configurable() const { |
Maybe<bool> v8::Object::DefineOwnProperty(v8::Local<v8::Context> context, |
v8::Local<Name> key, |
v8::Local<Value> value, |
- v8::PropertyAttribute attributes) { |
+ v8::PropertyAttribute attributes, |
+ bool bypass_interceptor) { |
PREPARE_FOR_EXECUTION_PRIMITIVE(context, Object, DefineOwnProperty, bool); |
i::Handle<i::JSReceiver> self = Utils::OpenHandle(this); |
i::Handle<i::Name> key_obj = Utils::OpenHandle(*key); |
@@ -4268,7 +4269,8 @@ Maybe<bool> v8::Object::DefineOwnProperty(v8::Local<v8::Context> context, |
desc.set_configurable(!(attributes & v8::DontDelete)); |
desc.set_value(value_obj); |
Maybe<bool> success = i::JSReceiver::DefineOwnProperty( |
- isolate, self, key_obj, &desc, i::Object::DONT_THROW); |
+ isolate, self, key_obj, &desc, i::AccessCheckInfo::DONT_THROW, |
Franzi
2017/05/10 09:17:52
Why did this change?
|
+ bypass_interceptor); |
// Even though we said DONT_THROW, there might be accessors that do throw. |
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool); |
return success; |
@@ -4276,14 +4278,15 @@ Maybe<bool> v8::Object::DefineOwnProperty(v8::Local<v8::Context> context, |
Maybe<bool> v8::Object::DefineProperty(v8::Local<v8::Context> context, |
v8::Local<Name> key, |
- PropertyDescriptor& descriptor) { |
+ PropertyDescriptor& descriptor, |
+ bool bypass_interceptor) { |
PREPARE_FOR_EXECUTION_PRIMITIVE(context, Object, DefineProperty, bool); |
i::Handle<i::JSReceiver> self = Utils::OpenHandle(this); |
i::Handle<i::Name> key_obj = Utils::OpenHandle(*key); |
Maybe<bool> success = i::JSReceiver::DefineOwnProperty( |
isolate, self, key_obj, &descriptor.get_private()->desc, |
- i::Object::DONT_THROW); |
+ i::Object::DONT_THROW, bypass_interceptor); |
RETURN_ON_FAILED_EXECUTION_PRIMITIVE(bool); |
return success; |
} |