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 10a1c9f7475a336beebc5d09e4fb5849a64a3520..bd6061f6dfa33b383861851e4dde80db06bea4f9 100644 |
--- a/ui/views/widget/native_widget_mac.mm |
+++ b/ui/views/widget/native_widget_mac.mm |
@@ -581,13 +581,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 |