Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(508)

Unified Diff: ui/views/widget/native_widget_mac_unittest.mm

Issue 1614663002: MacViews: Bubbles and dialogs behave more like sheets wrt main status (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix crash - much nicer anyway :) Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();
}

Powered by Google App Engine
This is Rietveld 408576698