diff options
author | Torne (Richard Coles) <torne@google.com> | 2014-09-10 10:40:48 +0100 |
---|---|---|
committer | Torne (Richard Coles) <torne@google.com> | 2014-09-10 10:40:48 +0100 |
commit | 50090a7ee442d5372ec7f2b1e52eaab5114c74e7 (patch) | |
tree | 15232bd1d46c66d8e32d023ec73028f0d3a496f6 | |
parent | 8e6b6de2b0230c99212993c460bbeed9342bee30 (diff) | |
parent | 7c51867198ecd4109236dba1d69155c779259922 (diff) | |
download | v8-lollipop-wear-release.tar.gz |
Merge from Chromium at DEPS revision 37.0.2062.117android-wear-5.0.0_r1android-cts-5.0_r9android-cts-5.0_r8android-cts-5.0_r7android-cts-5.0_r6android-cts-5.0_r5android-cts-5.0_r4android-cts-5.0_r3android-5.0.2_r3android-5.0.2_r1android-5.0.1_r1android-5.0.0_r7android-5.0.0_r6android-5.0.0_r5.1android-5.0.0_r5android-5.0.0_r4android-5.0.0_r3android-5.0.0_r2android-5.0.0_r1lollipop-wear-releaselollipop-releaselollipop-devlollipop-cts-release
This commit was generated by merge_to_master.py.
Change-Id: I0d2e4648854e365b34df66f3e7ba6b3362a39f17
-rw-r--r-- | src/objects.cc | 25 | ||||
-rw-r--r-- | src/version.cc | 2 |
2 files changed, 18 insertions, 9 deletions
diff --git a/src/objects.cc b/src/objects.cc index 92bce62d4..1d3b022c7 100644 --- a/src/objects.cc +++ b/src/objects.cc @@ -6909,20 +6909,21 @@ MaybeHandle<Object> JSObject::GetAccessor(Handle<JSObject> object, // interceptor calls. AssertNoContextChange ncc(isolate); - // Check access rights if needed. - if (object->IsAccessCheckNeeded() && - !isolate->MayNamedAccess(object, name, v8::ACCESS_HAS)) { - isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS); - RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object); - return isolate->factory()->undefined_value(); - } - // Make the lookup and include prototypes. uint32_t index = 0; if (name->AsArrayIndex(&index)) { for (Handle<Object> obj = object; !obj->IsNull(); obj = handle(JSReceiver::cast(*obj)->GetPrototype(), isolate)) { + if (obj->IsAccessCheckNeeded() && + !isolate->MayNamedAccess(Handle<JSObject>::cast(obj), name, + v8::ACCESS_HAS)) { + isolate->ReportFailedAccessCheck(Handle<JSObject>::cast(obj), + v8::ACCESS_HAS); + RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object); + return isolate->factory()->undefined_value(); + } + if (obj->IsJSObject() && JSObject::cast(*obj)->HasDictionaryElements()) { JSObject* js_object = JSObject::cast(*obj); SeededNumberDictionary* dictionary = js_object->element_dictionary(); @@ -6941,6 +6942,14 @@ MaybeHandle<Object> JSObject::GetAccessor(Handle<JSObject> object, for (Handle<Object> obj = object; !obj->IsNull(); obj = handle(JSReceiver::cast(*obj)->GetPrototype(), isolate)) { + if (obj->IsAccessCheckNeeded() && + !isolate->MayNamedAccess(Handle<JSObject>::cast(obj), name, + v8::ACCESS_HAS)) { + isolate->ReportFailedAccessCheck(Handle<JSObject>::cast(obj), + v8::ACCESS_HAS); + RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object); + return isolate->factory()->undefined_value(); + } LookupResult result(isolate); JSReceiver::cast(*obj)->LookupOwn(name, &result); if (result.IsFound()) { diff --git a/src/version.cc b/src/version.cc index d6c513555..da8e38614 100644 --- a/src/version.cc +++ b/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 3 #define MINOR_VERSION 27 #define BUILD_NUMBER 34 -#define PATCH_LEVEL 14 +#define PATCH_LEVEL 15 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0 |