| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index d886d1ab441a58f90c1ebe8c55d36b4425db4949..3c4415747aff6b54910eab70acabdb4632b86928 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -552,7 +552,7 @@ MaybeHandle<Object> JSObject::GetPropertyWithFailedAccessCheck(
|
|
|
| // No accessible property found.
|
| *attributes = ABSENT;
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_GET);
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_GET);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->undefined_value();
|
| }
|
| @@ -616,7 +616,8 @@ PropertyAttributes JSObject::GetPropertyAttributeWithFailedAccessCheck(
|
| }
|
| }
|
|
|
| - object->GetIsolate()->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + object->GetIsolate()->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return ABSENT;
|
| }
|
|
|
| @@ -803,7 +804,7 @@ MaybeHandle<Object> Object::GetProperty(Handle<Object> object,
|
| // property from the current object, we still check that we have
|
| // access to it.
|
| Handle<JSObject> checked = Handle<JSObject>::cast(current);
|
| - if (!isolate->MayNamedAccessWrapper(checked, name, v8::ACCESS_GET)) {
|
| + if (!isolate->MayNamedAccess(checked, name, v8::ACCESS_GET)) {
|
| return JSObject::GetPropertyWithFailedAccessCheck(
|
| checked, receiver, result, name, attributes);
|
| }
|
| @@ -899,8 +900,8 @@ MaybeHandle<Object> Object::GetElementWithReceiver(Isolate* isolate,
|
|
|
| // Check access rights if needed.
|
| if (js_object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayIndexedAccessWrapper(js_object, index, v8::ACCESS_GET)) {
|
| - isolate->ReportFailedAccessCheckWrapper(js_object, v8::ACCESS_GET);
|
| + if (!isolate->MayIndexedAccess(js_object, index, v8::ACCESS_GET)) {
|
| + isolate->ReportFailedAccessCheck(js_object, v8::ACCESS_GET);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->undefined_value();
|
| }
|
| @@ -3395,7 +3396,7 @@ MaybeHandle<Object> JSObject::SetPropertyWithFailedAccessCheck(
|
| }
|
|
|
| Isolate* isolate = object->GetIsolate();
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_SET);
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_SET);
|
| RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return value;
|
| }
|
| @@ -3945,7 +3946,7 @@ MaybeHandle<Object> JSObject::SetPropertyForResult(
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_SET)) {
|
| + if (!isolate->MayNamedAccess(object, name, v8::ACCESS_SET)) {
|
| return SetPropertyWithFailedAccessCheck(object, lookup, name, value,
|
| true, strict_mode);
|
| }
|
| @@ -4085,7 +4086,7 @@ MaybeHandle<Object> JSObject::SetLocalPropertyIgnoreAttributes(
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_SET)) {
|
| + if (!isolate->MayNamedAccess(object, name, v8::ACCESS_SET)) {
|
| return SetPropertyWithFailedAccessCheck(object, &lookup, name, value,
|
| false, SLOPPY);
|
| }
|
| @@ -4277,7 +4278,7 @@ PropertyAttributes JSReceiver::GetPropertyAttributeForResult(
|
| if (object->IsAccessCheckNeeded()) {
|
| Heap* heap = object->GetHeap();
|
| Handle<JSObject> obj = Handle<JSObject>::cast(object);
|
| - if (!heap->isolate()->MayNamedAccessWrapper(obj, name, v8::ACCESS_HAS)) {
|
| + if (!heap->isolate()->MayNamedAccess(obj, name, v8::ACCESS_HAS)) {
|
| return JSObject::GetPropertyAttributeWithFailedAccessCheck(
|
| obj, lookup, name, continue_search);
|
| }
|
| @@ -4330,8 +4331,9 @@ PropertyAttributes JSObject::GetElementAttributeWithReceiver(
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_HAS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + if (!isolate->MayIndexedAccess(object, index, v8::ACCESS_HAS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return ABSENT;
|
| }
|
| }
|
| @@ -5207,8 +5209,8 @@ MaybeHandle<Object> JSObject::DeleteElement(Handle<JSObject> object,
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_DELETE)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_DELETE);
|
| + !isolate->MayIndexedAccess(object, index, v8::ACCESS_DELETE)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_DELETE);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return factory->false_value();
|
| }
|
| @@ -5276,8 +5278,8 @@ MaybeHandle<Object> JSObject::DeleteProperty(Handle<JSObject> object,
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_DELETE)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_DELETE);
|
| + !isolate->MayNamedAccess(object, name, v8::ACCESS_DELETE)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_DELETE);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->false_value();
|
| }
|
| @@ -5506,10 +5508,9 @@ Handle<Object> JSObject::PreventExtensions(Handle<JSObject> object) {
|
| if (!object->map()->is_extensible()) return object;
|
|
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object,
|
| - isolate->factory()->undefined_value(),
|
| - v8::ACCESS_KEYS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_KEYS);
|
| + !isolate->MayNamedAccess(
|
| + object, isolate->factory()->undefined_value(), v8::ACCESS_KEYS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_KEYS);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->false_value();
|
| }
|
| @@ -5590,10 +5591,9 @@ MaybeHandle<Object> JSObject::Freeze(Handle<JSObject> object) {
|
|
|
| Isolate* isolate = object->GetIsolate();
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object,
|
| - isolate->factory()->undefined_value(),
|
| - v8::ACCESS_KEYS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_KEYS);
|
| + !isolate->MayNamedAccess(
|
| + object, isolate->factory()->undefined_value(), v8::ACCESS_KEYS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_KEYS);
|
| RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->false_value();
|
| }
|
| @@ -6247,7 +6247,7 @@ void JSObject::DefinePropertyAccessor(Handle<JSObject> object,
|
| bool JSObject::CanSetCallback(Handle<JSObject> object, Handle<Name> name) {
|
| Isolate* isolate = object->GetIsolate();
|
| ASSERT(!object->IsAccessCheckNeeded() ||
|
| - isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_SET));
|
| + isolate->MayNamedAccess(object, name, v8::ACCESS_SET));
|
|
|
| // Check if there is an API defined callback object which prohibits
|
| // callback overwriting in this object or its prototype chain.
|
| @@ -6370,8 +6370,9 @@ void JSObject::DefineAccessor(Handle<JSObject> object,
|
| Isolate* isolate = object->GetIsolate();
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_SET)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_SET);
|
| + !isolate->MayNamedAccess(object, name, v8::ACCESS_SET)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_SET);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return;
|
| }
|
|
|
| @@ -6554,8 +6555,8 @@ Handle<Object> JSObject::SetAccessor(Handle<JSObject> object,
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_SET)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_SET);
|
| + !isolate->MayNamedAccess(object, name, v8::ACCESS_SET)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_SET);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return factory->undefined_value();
|
| }
|
| @@ -6640,8 +6641,8 @@ Handle<Object> JSObject::GetAccessor(Handle<JSObject> object,
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded() &&
|
| - !isolate->MayNamedAccessWrapper(object, name, v8::ACCESS_HAS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + !isolate->MayNamedAccess(object, name, v8::ACCESS_HAS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return isolate->factory()->undefined_value();
|
| }
|
| @@ -12509,8 +12510,8 @@ MaybeHandle<Object> JSObject::SetElement(Handle<JSObject> object,
|
|
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_SET)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_SET);
|
| + if (!isolate->MayIndexedAccess(object, index, v8::ACCESS_SET)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_SET);
|
| RETURN_EXCEPTION_IF_SCHEDULED_EXCEPTION(isolate, Object);
|
| return value;
|
| }
|
| @@ -13288,8 +13289,9 @@ bool JSObject::HasRealNamedProperty(Handle<JSObject> object,
|
| SealHandleScope shs(isolate);
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayNamedAccessWrapper(object, key, v8::ACCESS_HAS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + if (!isolate->MayNamedAccess(object, key, v8::ACCESS_HAS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return false;
|
| }
|
| }
|
| @@ -13305,8 +13307,9 @@ bool JSObject::HasRealElementProperty(Handle<JSObject> object, uint32_t index) {
|
| HandleScope scope(isolate);
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_HAS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + if (!isolate->MayIndexedAccess(object, index, v8::ACCESS_HAS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return false;
|
| }
|
| }
|
| @@ -13330,8 +13333,9 @@ bool JSObject::HasRealNamedCallbackProperty(Handle<JSObject> object,
|
| SealHandleScope shs(isolate);
|
| // Check access rights if needed.
|
| if (object->IsAccessCheckNeeded()) {
|
| - if (!isolate->MayNamedAccessWrapper(object, key, v8::ACCESS_HAS)) {
|
| - isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_HAS);
|
| + if (!isolate->MayNamedAccess(object, key, v8::ACCESS_HAS)) {
|
| + isolate->ReportFailedAccessCheck(object, v8::ACCESS_HAS);
|
| + // TODO(yangguo): Issue 3269, check for scheduled exception missing?
|
| return false;
|
| }
|
| }
|
|
|