Index: ui/views/widget/native_widget_mac_unittest.mm |
diff --git a/ui/views/widget/native_widget_mac_unittest.mm b/ui/views/widget/native_widget_mac_unittest.mm |
index 5a48f0257223f75064732e12b1a76061c18a7cd2..500ff97933c1666c63d950c2a8978c868eff0aa2 100644 |
--- a/ui/views/widget/native_widget_mac_unittest.mm |
+++ b/ui/views/widget/native_widget_mac_unittest.mm |
@@ -22,6 +22,7 @@ |
#import "ui/events/test/cocoa_test_event_utils.h" |
#include "ui/events/test/event_generator.h" |
#import "ui/gfx/mac/coordinate_conversion.h" |
+#include "ui/views/bubble/bubble_delegate.h" |
#import "ui/views/cocoa/bridged_native_widget.h" |
#import "ui/views/cocoa/native_widget_mac_nswindow.h" |
#include "ui/views/controls/button/label_button.h" |
@@ -938,6 +939,20 @@ TEST_F(NativeWidgetMacTest, NativeProperties) { |
// Dialogs shouldn't take main status away from their parent. |
EXPECT_FALSE([dialog_widget->GetNativeWindow() canBecomeMainWindow]); |
+ // Create a bubble widget with a parent: also shouldn't get main. |
+ BubbleDelegateView* bubble_view = new BubbleDelegateView(); |
+ bubble_view->set_parent_window(regular_widget->GetNativeView()); |
+ Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_view); |
+ EXPECT_TRUE([bubble_widget->GetNativeWindow() canBecomeKeyWindow]); |
+ EXPECT_FALSE([bubble_widget->GetNativeWindow() canBecomeMainWindow]); |
+ |
+ // But a bubble without a parent should still be able to become main. |
+ Widget* toplevel_bubble_widget = |
+ BubbleDelegateView::CreateBubble(new BubbleDelegateView()); |
+ EXPECT_TRUE([toplevel_bubble_widget->GetNativeWindow() canBecomeKeyWindow]); |
+ EXPECT_TRUE([toplevel_bubble_widget->GetNativeWindow() canBecomeMainWindow]); |
+ |
+ toplevel_bubble_widget->CloseNow(); |
regular_widget->CloseNow(); |
} |