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

Unified Diff: chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm

Issue 420413002: Ensure dialogs are centered on browser windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test works Created 6 years, 4 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: chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
diff --git a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
index 93e6b8e52823c9fabc80f28803e2f2da24fb10c9..9947e956c963db8a4e3c827000e6d0eda8fb607c 100644
--- a/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
+++ b/chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller_unittest.mm
@@ -75,21 +75,31 @@ class ConstrainedWindowSheetControllerTest : public CocoaTest {
// Center the window so that the sheet doesn't go offscreen.
[test_window() center];
+ // The real view setup is quite a few levels deep; recreate something
+ // similar.
+ NSRect dummy_rect = NSMakeRect(0, 0, 50, 50);
+ tab_view_parent_ = [test_window() contentView];
+ for (int i = 0; i < 3; ++i) {
+ base::scoped_nsobject<NSView> new_view(
+ [[NSView alloc] initWithFrame:dummy_rect]);
+ [tab_view_parent_ addSubview:new_view.get()];
+ tab_view_parent_ = new_view.get();
+ }
+
// Create two dummy tabs and make the first one active.
- NSRect dummyRect = NSMakeRect(0, 0, 50, 50);
tab_views_.reset([[NSMutableArray alloc] init]);
for (int i = 0; i < 2; ++i) {
base::scoped_nsobject<NSView> view(
- [[NSView alloc] initWithFrame:dummyRect]);
+ [[NSView alloc] initWithFrame:dummy_rect]);
[tab_views_ addObject:view];
}
- tab0_.reset([[tab_views_ objectAtIndex:0] retain]);
- tab1_.reset([[tab_views_ objectAtIndex:1] retain]);
+ tab0_ = [tab_views_ objectAtIndex:0];
+ tab1_ = [tab_views_ objectAtIndex:1];
ActivateTabView(tab0_);
// Create a test sheet.
sheet_window_.reset([[NSWindow alloc]
- initWithContentRect:dummyRect
+ initWithContentRect:dummy_rect
styleMask:NSTitledWindowMask
backing:NSBackingStoreBuffered
defer:NO]);
@@ -110,11 +120,10 @@ class ConstrainedWindowSheetControllerTest : public CocoaTest {
}
void ActivateTabView(NSView* tab_view) {
- for (NSView* view in tab_views_.get()) {
+ for (NSView* view in tab_views_.get())
[view removeFromSuperview];
- }
- [[test_window() contentView] addSubview:tab_view];
- active_tab_view_.reset([tab_view retain]);
+ [tab_view_parent_ addSubview:tab_view];
+ active_tab_view_ = tab_view;
ConstrainedWindowSheetController* controller =
[ConstrainedWindowSheetController
@@ -145,9 +154,10 @@ class ConstrainedWindowSheetControllerTest : public CocoaTest {
base::scoped_nsobject<CustomConstrainedWindowSheet> sheet_;
base::scoped_nsobject<ConstrainedWindowSheetController> controller_;
base::scoped_nsobject<NSMutableArray> tab_views_;
- base::scoped_nsobject<NSView> active_tab_view_;
- base::scoped_nsobject<NSView> tab0_;
- base::scoped_nsobject<NSView> tab1_;
+ NSView* tab_view_parent_;
+ NSView* active_tab_view_;
+ NSView* tab0_;
+ NSView* tab1_;
};
// Test showing then hiding the sheet.
@@ -209,18 +219,6 @@ TEST_F(ConstrainedWindowSheetControllerTest, TwoParentWindows) {
[parent_window2 close];
}
-// Test that using a top level parent view works.
-TEST_F(ConstrainedWindowSheetControllerTest, TopLevelView) {
- NSView* parentView = [[test_window() contentView] superview];
- [controller_ parentViewDidBecomeActive:parentView];
-
- EXPECT_FALSE([sheet_window_ isVisible]);
- [controller_ showSheet:sheet_ forParentView:parentView];
- EXPECT_TRUE([ConstrainedWindowSheetController controllerForSheet:sheet_]);
- EXPECT_TRUE([sheet_window_ isVisible]);
- VerifySheetXPosition([sheet_window_ frame], parentView);
-}
-
// Test that resizing sheet works.
TEST_F(ConstrainedWindowSheetControllerTest, Resize) {
[controller_ showSheet:sheet_ forParentView:active_tab_view_];
@@ -269,8 +267,8 @@ TEST_F(ConstrainedWindowSheetControllerTest, ResizeParentWindow) {
CGFloat insets[] = {-10, 0, 10};
NSRect old_frame = [test_window() frame];
- for (size_t x = 0; x < sizeof(insets) / sizeof(CGFloat); x++) {
- for (size_t y = 0; y < sizeof(insets) / sizeof(CGFloat); y++) {
+ for (size_t x = 0; x < arraysize(insets); x++) {
+ for (size_t y = 0; y < arraysize(insets); y++) {
NSRect resized_frame = NSInsetRect(old_frame, insets[x], insets[y]);
[test_window() setFrame:resized_frame display:YES];
NSRect sheet_frame = [sheet_window_ frame];
@@ -292,8 +290,7 @@ TEST_F(ConstrainedWindowSheetControllerTest, SystemSheet) {
[system_sheet setAlert:alert];
EXPECT_FALSE([[alert window] isVisible]);
- [controller_ showSheet:system_sheet
- forParentView:active_tab_view_];
+ [controller_ showSheet:system_sheet forParentView:active_tab_view_];
EXPECT_TRUE([[alert window] isVisible]);
[controller_ closeSheet:system_sheet];
@@ -309,8 +306,7 @@ TEST_F(ConstrainedWindowSheetControllerTest, SystemSheetAddToInactiveTab) {
[system_sheet setAlert:alert];
EXPECT_FALSE([[alert window] isVisible]);
- [controller_ showSheet:system_sheet
- forParentView:tab1_];
+ [controller_ showSheet:system_sheet forParentView:tab1_];
EXPECT_FALSE([[alert window] isVisible]);
ActivateTabView(tab1_);

Powered by Google App Engine
This is Rietveld 408576698