Index: src/lookup.cc |
diff --git a/src/lookup.cc b/src/lookup.cc |
index 6131ac96d0177c2139dab715212096a497b18cef..0ef5116e61a284ff120d0649c119dbb70c2d2047 100644 |
--- a/src/lookup.cc |
+++ b/src/lookup.cc |
@@ -53,11 +53,12 @@ bool LookupIterator::NextHolder() { |
Handle<JSReceiver> next(JSReceiver::cast(holder_map_->prototype())); |
if (!check_derived() && |
- // TODO(verwaest): Check if this is actually necessary currently. If it |
- // is, this should be handled by setting is_hidden_prototype on the |
- // global object behind the proxy. |
- !holder_map_->IsJSGlobalProxyMap() && |
- !next->map()->is_hidden_prototype()) { |
+ !(check_hidden() && |
+ // TODO(verwaest): Check if this is actually necessary currently. If it |
+ // is, this should be handled by setting is_hidden_prototype on the |
+ // global object behind the proxy. |
+ (holder_map_->IsJSGlobalProxyMap() || |
+ next->map()->is_hidden_prototype()))) { |
return false; |
} |