| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index d0b9dc2832ed855bd70b0bd1377919f72da0eb15..1cb3b47e1bc43604994c6b775b49daf2fde6b437 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -1960,17 +1960,18 @@ class JSReceiver: public HeapObject {
|
| Handle<JSReceiver> object, uint32_t index,
|
| LanguageMode language_mode = SLOPPY);
|
|
|
| - MUST_USE_RESULT static Object* DefineProperty(Isolate* isolate,
|
| - Handle<Object> object,
|
| - Handle<Object> name,
|
| - Handle<Object> attributes);
|
| + MUST_USE_RESULT static Object* DefineProperty(
|
| + Isolate* isolate, Handle<Object> object, Handle<Object> name,
|
| + Handle<Object> attributes, bool bypass_interceptor = false);
|
| +
|
| MUST_USE_RESULT static MaybeHandle<Object> DefineProperties(
|
| Isolate* isolate, Handle<Object> object, Handle<Object> properties);
|
|
|
| // "virtual" dispatcher to the correct [[DefineOwnProperty]] implementation.
|
| MUST_USE_RESULT static Maybe<bool> DefineOwnProperty(
|
| Isolate* isolate, Handle<JSReceiver> object, Handle<Object> key,
|
| - PropertyDescriptor* desc, ShouldThrow should_throw);
|
| + PropertyDescriptor* desc, ShouldThrow should_throw,
|
| + bool bypass_interceptor = false);
|
|
|
| // ES6 7.3.4 (when passed DONT_THROW)
|
| MUST_USE_RESULT static Maybe<bool> CreateDataProperty(
|
| @@ -1979,9 +1980,11 @@ class JSReceiver: public HeapObject {
|
| // ES6 9.1.6.1
|
| MUST_USE_RESULT static Maybe<bool> OrdinaryDefineOwnProperty(
|
| Isolate* isolate, Handle<JSObject> object, Handle<Object> key,
|
| - PropertyDescriptor* desc, ShouldThrow should_throw);
|
| + PropertyDescriptor* desc, ShouldThrow should_throw,
|
| + bool bypass_interceptor = false);
|
| MUST_USE_RESULT static Maybe<bool> OrdinaryDefineOwnProperty(
|
| LookupIterator* it, PropertyDescriptor* desc, ShouldThrow should_throw);
|
| +
|
| // ES6 9.1.6.2
|
| MUST_USE_RESULT static Maybe<bool> IsCompatiblePropertyDescriptor(
|
| Isolate* isolate, bool extensible, PropertyDescriptor* desc,
|
| @@ -10146,7 +10149,8 @@ class JSProxy: public JSReceiver {
|
| // ES6 9.5.6
|
| MUST_USE_RESULT static Maybe<bool> DefineOwnProperty(
|
| Isolate* isolate, Handle<JSProxy> object, Handle<Object> key,
|
| - PropertyDescriptor* desc, ShouldThrow should_throw);
|
| + PropertyDescriptor* desc, ShouldThrow should_throw,
|
| + bool bypass_interceptor = false);
|
|
|
| // ES6 9.5.7
|
| MUST_USE_RESULT static Maybe<bool> HasProperty(Isolate* isolate,
|
| @@ -10627,7 +10631,8 @@ class JSTypedArray: public JSArrayBufferView {
|
| // ES6 9.4.5.3
|
| MUST_USE_RESULT static Maybe<bool> DefineOwnProperty(
|
| Isolate* isolate, Handle<JSTypedArray> o, Handle<Object> key,
|
| - PropertyDescriptor* desc, ShouldThrow should_throw);
|
| + PropertyDescriptor* desc, ShouldThrow should_throw,
|
| + bool bypass_interceptor = false);
|
|
|
| DECLARE_CAST(JSTypedArray)
|
|
|
| @@ -10745,7 +10750,8 @@ class JSArray: public JSObject {
|
| // ES6 9.4.2.1
|
| MUST_USE_RESULT static Maybe<bool> DefineOwnProperty(
|
| Isolate* isolate, Handle<JSArray> o, Handle<Object> name,
|
| - PropertyDescriptor* desc, ShouldThrow should_throw);
|
| + PropertyDescriptor* desc, ShouldThrow should_throw,
|
| + bool bypass_interceptor = false);
|
|
|
| static bool AnythingToArrayLength(Isolate* isolate,
|
| Handle<Object> length_object,
|
| @@ -10753,7 +10759,8 @@ class JSArray: public JSObject {
|
| MUST_USE_RESULT static Maybe<bool> ArraySetLength(Isolate* isolate,
|
| Handle<JSArray> a,
|
| PropertyDescriptor* desc,
|
| - ShouldThrow should_throw);
|
| + ShouldThrow should_throw,
|
| + bool bypass_interceptor);
|
|
|
| // Checks whether the Array has the current realm's Array.prototype as its
|
| // prototype. This function is best-effort and only gives a conservative
|
|
|