Index: src/handles.cc |
=================================================================== |
--- src/handles.cc (revision 366) |
+++ src/handles.cc (working copy) |
@@ -332,13 +332,6 @@ |
Handle<FixedArray> GetKeysInFixedArrayFor(Handle<JSObject> object) { |
Handle<FixedArray> content = Factory::empty_fixed_array(); |
- // Check access rights if required. |
- if (object->IsAccessCheckNeeded() && |
- !Top::MayNamedAccess(*object, Heap::undefined_value(), v8::ACCESS_KEYS)) { |
- Top::ReportFailedAccessCheck(*object, v8::ACCESS_KEYS); |
- return content; |
- } |
- |
JSObject* arguments_boilerplate = |
Top::context()->global_context()->arguments_boilerplate(); |
JSFunction* arguments_function = |
@@ -352,6 +345,14 @@ |
p = Handle<Object>(p->GetPrototype())) { |
Handle<JSObject> current(JSObject::cast(*p)); |
+ // Check access rights if required. |
+ if (current->IsAccessCheckNeeded() && |
+ !Top::MayNamedAccess(*current, Heap::undefined_value(), |
+ v8::ACCESS_KEYS)) { |
+ Top::ReportFailedAccessCheck(*current, v8::ACCESS_KEYS); |
+ break; |
+ } |
+ |
// Compute the property keys. |
content = UnionOfKeys(content, GetEnumPropertyKeys(current)); |