Index: ui/views/widget/native_widget_mac.mm |
diff --git a/ui/views/widget/native_widget_mac.mm b/ui/views/widget/native_widget_mac.mm |
index ca8fcb64b12697c0465e57238dd512b3adfb3a02..22ab4b44e87056810c874995673beff540103df3 100644 |
--- a/ui/views/widget/native_widget_mac.mm |
+++ b/ui/views/widget/native_widget_mac.mm |
@@ -580,13 +580,13 @@ NativeWidgetPrivate* NativeWidgetPrivate::GetTopLevelNativeWidget( |
BridgedNativeWidget* bridge = |
NativeWidgetMac::GetBridgeForNativeWindow([native_view window]); |
if (!bridge) |
- return NULL; |
+ return nullptr; |
- for (BridgedNativeWidget* parent; |
- (parent = bridge->parent()); |
- bridge = parent) { |
- } |
- return bridge->native_widget_mac(); |
+ NativeWidgetPrivate* ancestor = |
+ bridge->parent() ? GetTopLevelNativeWidget( |
+ [bridge->parent()->GetNSWindow() contentView]) |
+ : nullptr; |
+ return ancestor ? ancestor : bridge->native_widget_mac(); |
} |
// static |