Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index 55013f1b4e45241f652841ad863113a50ced4615..1e431b6375001f7719da3ebe1bf1224e2331284d 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -1621,7 +1621,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetPrototype) { |
!isolate->MayNamedAccessWrapper(Handle<JSObject>::cast(obj), |
isolate->factory()->proto_string(), |
v8::ACCESS_GET)) { |
- isolate->ReportFailedAccessCheck(JSObject::cast(*obj), v8::ACCESS_GET); |
+ isolate->ReportFailedAccessCheckWrapper(Handle<JSObject>::cast(obj), |
+ v8::ACCESS_GET); |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return isolate->heap()->undefined_value(); |
} |
@@ -1747,7 +1748,7 @@ static AccessCheckResult CheckPropertyAccess(Handle<JSObject> obj, |
return ACCESS_ALLOWED; |
} |
- obj->GetIsolate()->ReportFailedAccessCheck(*obj, access_type); |
+ obj->GetIsolate()->ReportFailedAccessCheckWrapper(obj, access_type); |
return ACCESS_FORBIDDEN; |
} |
@@ -1786,7 +1787,7 @@ static AccessCheckResult CheckPropertyAccess(Handle<JSObject> obj, |
break; |
} |
- isolate->ReportFailedAccessCheck(*obj, access_type); |
+ isolate->ReportFailedAccessCheckWrapper(obj, access_type); |
return ACCESS_FORBIDDEN; |
} |
@@ -5737,10 +5738,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLocalPropertyNames) { |
if (obj->IsJSGlobalProxy()) { |
// Only collect names if access is permitted. |
if (obj->IsAccessCheckNeeded() && |
- !isolate->MayNamedAccess(*obj, |
- isolate->heap()->undefined_value(), |
- v8::ACCESS_KEYS)) { |
- isolate->ReportFailedAccessCheck(*obj, v8::ACCESS_KEYS); |
+ !isolate->MayNamedAccessWrapper(obj, |
+ isolate->factory()->undefined_value(), |
+ v8::ACCESS_KEYS)) { |
+ isolate->ReportFailedAccessCheckWrapper(obj, v8::ACCESS_KEYS); |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return *isolate->factory()->NewJSArray(0); |
} |
@@ -5757,10 +5758,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_GetLocalPropertyNames) { |
for (int i = 0; i < length; i++) { |
// Only collect names if access is permitted. |
if (jsproto->IsAccessCheckNeeded() && |
- !isolate->MayNamedAccess(*jsproto, |
- isolate->heap()->undefined_value(), |
- v8::ACCESS_KEYS)) { |
- isolate->ReportFailedAccessCheck(*jsproto, v8::ACCESS_KEYS); |
+ !isolate->MayNamedAccessWrapper(jsproto, |
+ isolate->factory()->undefined_value(), |
+ v8::ACCESS_KEYS)) { |
+ isolate->ReportFailedAccessCheckWrapper(jsproto, v8::ACCESS_KEYS); |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return *isolate->factory()->NewJSArray(0); |
} |
@@ -5908,9 +5909,10 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_LocalKeys) { |
if (object->IsJSGlobalProxy()) { |
// Do access checks before going to the global object. |
if (object->IsAccessCheckNeeded() && |
- !isolate->MayNamedAccess(*object, isolate->heap()->undefined_value(), |
- v8::ACCESS_KEYS)) { |
- isolate->ReportFailedAccessCheck(*object, v8::ACCESS_KEYS); |
+ !isolate->MayNamedAccessWrapper(object, |
+ isolate->factory()->undefined_value(), |
+ v8::ACCESS_KEYS)) { |
+ isolate->ReportFailedAccessCheckWrapper(object, v8::ACCESS_KEYS); |
RETURN_IF_SCHEDULED_EXCEPTION(isolate); |
return *isolate->factory()->NewJSArray(0); |
} |
@@ -14739,8 +14741,9 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsAccessAllowedForObserver) { |
Handle<Object> key = args.at<Object>(2); |
SaveContext save(isolate); |
isolate->set_context(observer->context()); |
- if (!isolate->MayNamedAccess(*object, isolate->heap()->undefined_value(), |
- v8::ACCESS_KEYS)) { |
+ if (!isolate->MayNamedAccessWrapper(object, |
+ isolate->factory()->undefined_value(), |
+ v8::ACCESS_KEYS)) { |
return isolate->heap()->false_value(); |
} |
bool access_allowed = false; |
@@ -14748,11 +14751,12 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_IsAccessAllowedForObserver) { |
if (key->ToArrayIndex(&index) || |
(key->IsString() && String::cast(*key)->AsArrayIndex(&index))) { |
access_allowed = |
- isolate->MayIndexedAccess(*object, index, v8::ACCESS_GET) && |
- isolate->MayIndexedAccess(*object, index, v8::ACCESS_HAS); |
+ isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_GET) && |
+ isolate->MayIndexedAccessWrapper(object, index, v8::ACCESS_HAS); |
} else { |
- access_allowed = isolate->MayNamedAccess(*object, *key, v8::ACCESS_GET) && |
- isolate->MayNamedAccess(*object, *key, v8::ACCESS_HAS); |
+ access_allowed = |
+ isolate->MayNamedAccessWrapper(object, key, v8::ACCESS_GET) && |
+ isolate->MayNamedAccessWrapper(object, key, v8::ACCESS_HAS); |
} |
return isolate->heap()->ToBoolean(access_allowed); |
} |