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

Unified Diff: chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm

Issue 836173002: Mac: Fix sheet positioning on popup windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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: chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
diff --git a/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm b/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
index e4e1224bf0528f2730e1007eb251d30a99d96c04..b8a245a08eb349d7158f2dd509cb9770939cc965 100644
--- a/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
+++ b/chrome/browser/ui/cocoa/browser_window_controller_browsertest.mm
@@ -492,36 +492,37 @@ IN_PROC_BROWSER_TEST_F(BrowserWindowControllerTest, SheetPosition) {
EXPECT_TRUE([controller() hasToolbar]);
EXPECT_FALSE([controller() isBookmarkBarVisible]);
- NSRect defaultAlertFrame = NSMakeRect(0, 0, 300, 200);
- id sheet = MockWindowWithFrame(defaultAlertFrame);
+ id sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 200));
NSWindow* window = browser()->window()->GetNativeWindow();
- NSRect alertFrame = [controller() window:window
- willPositionSheet:nil
- usingRect:defaultAlertFrame];
+ NSRect contentFrame = [[window contentView] frame];
+ NSRect defaultLocation =
+ NSMakeRect(0, NSMaxY(contentFrame), NSWidth(contentFrame), 0);
+
+ NSRect sheetLocation = [controller() window:window
+ willPositionSheet:nil
+ usingRect:defaultLocation];
NSRect toolbarFrame = [[[controller() toolbarController] view] frame];
- EXPECT_EQ(NSMinY(alertFrame), NSMinY(toolbarFrame));
+ EXPECT_EQ(NSMinY(toolbarFrame), NSMinY(sheetLocation));
// Open sheet with normal browser window, persistent bookmark bar.
chrome::ToggleBookmarkBarWhenVisible(browser()->profile());
EXPECT_TRUE([controller() isBookmarkBarVisible]);
- alertFrame = [controller() window:window
- willPositionSheet:sheet
- usingRect:defaultAlertFrame];
+ sheetLocation = [controller() window:window
+ willPositionSheet:sheet
+ usingRect:defaultLocation];
NSRect bookmarkBarFrame = [[[controller() bookmarkBarController] view] frame];
- EXPECT_EQ(NSMinY(alertFrame), NSMinY(bookmarkBarFrame));
+ EXPECT_EQ(NSMinY(bookmarkBarFrame), NSMinY(sheetLocation));
// If the sheet is too large, it should be positioned at the top of the
// window.
- defaultAlertFrame = NSMakeRect(0, 0, 300, 2000);
- sheet = MockWindowWithFrame(defaultAlertFrame);
- alertFrame = [controller() window:window
- willPositionSheet:sheet
- usingRect:defaultAlertFrame];
- EXPECT_EQ(NSMinY(alertFrame), NSHeight([window frame]));
+ sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 2000));
+ sheetLocation = [controller() window:window
+ willPositionSheet:sheet
+ usingRect:defaultLocation];
+ EXPECT_EQ(NSHeight([window frame]), NSMinY(sheetLocation));
// Reset the sheet's size.
- defaultAlertFrame = NSMakeRect(0, 0, 300, 200);
- sheet = MockWindowWithFrame(defaultAlertFrame);
+ sheet = MockWindowWithFrame(NSMakeRect(0, 0, 300, 200));
// Make sure the profile does not have the bookmark visible so that
// we'll create the shortcut window without the bookmark bar.
@@ -542,12 +543,10 @@ IN_PROC_BROWSER_TEST_F(BrowserWindowControllerTest, SheetPosition) {
// Open sheet in an application window.
[popupController showWindow:nil];
- alertFrame = [popupController window:popupWindow
- willPositionSheet:sheet
- usingRect:defaultAlertFrame];
- EXPECT_EQ(NSMinY(alertFrame),
- NSHeight([[popupWindow contentView] frame]) -
- defaultAlertFrame.size.height);
+ sheetLocation = [popupController window:popupWindow
+ willPositionSheet:sheet
+ usingRect:defaultLocation];
+ EXPECT_EQ(NSHeight([[popupWindow contentView] frame]), NSMinY(sheetLocation));
// Close the application window.
popup_browser->tab_strip_model()->CloseSelectedTabs();

Powered by Google App Engine
This is Rietveld 408576698