From dd790f7ea818d158b4b1cee54900499058ed9d2d Mon Sep 17 00:00:00 2001 From: "avi@chromium.org" Date: Thu, 6 Jan 2011 21:41:42 +0000 Subject: With the Mac App Store, we see that window controls are no longer tied to the top of the window. Adjust ours downward so they have space to breathe. BUG=68746 TEST=window widgets are vertically centered Review URL: http://codereview.chromium.org/6100004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70655 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/ui/cocoa/framed_browser_window.h | 16 +++++++--------- chrome/browser/ui/cocoa/framed_browser_window.mm | 8 +++++--- .../browser/ui/cocoa/framed_browser_window_unittest.mm | 14 ++++++++------ chrome/browser/ui/cocoa/tab_strip_controller.mm | 2 +- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/chrome/browser/ui/cocoa/framed_browser_window.h b/chrome/browser/ui/cocoa/framed_browser_window.h index 40f330c..d3fd68b 100644 --- a/chrome/browser/ui/cocoa/framed_browser_window.h +++ b/chrome/browser/ui/cocoa/framed_browser_window.h @@ -11,17 +11,15 @@ #include "base/scoped_nsobject.h" #include "chrome/browser/ui/cocoa/chrome_browser_window.h" -// Offset from the top of the window frame to the top of the window controls -// (zoom, close, miniaturize) for a window with a tabstrip. -const NSInteger kFramedWindowButtonsWithTabStripOffsetFromTop = 6; +// Offsets from the top/left of the window frame to the top of the window +// controls (zoom, close, miniaturize) for a window with a tabstrip. +const NSInteger kFramedWindowButtonsWithTabStripOffsetFromTop = 10; +const NSInteger kFramedWindowButtonsWithTabStripOffsetFromLeft = 10; -// Offset from the top of the window frame to the top of the window controls -// (zoom, close, miniaturize) for a window without a tabstrip. +// Offsets from the top/left of the window frame to the top of the window +// controls (zoom, close, miniaturize) for a window without a tabstrip. const NSInteger kFramedWindowButtonsWithoutTabStripOffsetFromTop = 4; - -// Offset from the left of the window frame to the top of the window controls -// (zoom, close, miniaturize). -const NSInteger kFramedWindowButtonsOffsetFromLeft = 8; +const NSInteger kFramedWindowButtonsWithoutTabStripOffsetFromLeft = 8; // Offset between the window controls (zoom, close, miniaturize). const NSInteger kFramedWindowButtonsInterButtonSpacing = 7; diff --git a/chrome/browser/ui/cocoa/framed_browser_window.mm b/chrome/browser/ui/cocoa/framed_browser_window.mm index 9d63cb7..46b3a98 100644 --- a/chrome/browser/ui/cocoa/framed_browser_window.mm +++ b/chrome/browser/ui/cocoa/framed_browser_window.mm @@ -118,13 +118,15 @@ namespace { closeButton_ = [NSWindow standardWindowButton:NSWindowCloseButton forStyleMask:aStyle]; NSRect closeButtonFrame = [closeButton_ frame]; + CGFloat xOffset = [browserController hasTabStrip] ? + kFramedWindowButtonsWithTabStripOffsetFromLeft : + kFramedWindowButtonsWithoutTabStripOffsetFromLeft; CGFloat yOffset = [browserController hasTabStrip] ? kFramedWindowButtonsWithTabStripOffsetFromTop : kFramedWindowButtonsWithoutTabStripOffsetFromTop; closeButtonFrame.origin = - NSMakePoint(kFramedWindowButtonsOffsetFromLeft, - (NSHeight(frameViewBounds) - - NSHeight(closeButtonFrame) - yOffset)); + NSMakePoint(xOffset, (NSHeight(frameViewBounds) - + NSHeight(closeButtonFrame) - yOffset)); [closeButton_ setFrame:closeButtonFrame]; [closeButton_ setTarget:self]; diff --git a/chrome/browser/ui/cocoa/framed_browser_window_unittest.mm b/chrome/browser/ui/cocoa/framed_browser_window_unittest.mm index ad05334..b9d96c0 100644 --- a/chrome/browser/ui/cocoa/framed_browser_window_unittest.mm +++ b/chrome/browser/ui/cocoa/framed_browser_window_unittest.mm @@ -110,8 +110,9 @@ TEST_F(FramedBrowserWindowTest, WindowWidgetLocation) { windowBounds.origin = NSZeroPoint; EXPECT_EQ(NSMaxY(closeBoxFrame), NSMaxY(windowBounds) - - kFramedWindowButtonsWithoutTabStripOffsetFromTop); - EXPECT_EQ(NSMinX(closeBoxFrame), kFramedWindowButtonsOffsetFromLeft); + kFramedWindowButtonsWithoutTabStripOffsetFromTop); + EXPECT_EQ(NSMinX(closeBoxFrame), + kFramedWindowButtonsWithoutTabStripOffsetFromLeft); NSCell* miniaturizeCell = [window_ accessibilityAttributeValue: NSAccessibilityMinimizeButtonAttribute]; @@ -120,7 +121,7 @@ TEST_F(FramedBrowserWindowTest, WindowWidgetLocation) { NSRect miniaturizeFrame = [miniaturizeControl frame]; EXPECT_EQ(NSMaxY(miniaturizeFrame), NSMaxY(windowBounds) - - kFramedWindowButtonsWithoutTabStripOffsetFromTop); + kFramedWindowButtonsWithoutTabStripOffsetFromTop); EXPECT_EQ(NSMinX(miniaturizeFrame), NSMaxX(closeBoxFrame) + kFramedWindowButtonsInterButtonSpacing); @@ -144,8 +145,9 @@ TEST_F(FramedBrowserWindowTest, WindowWidgetLocation) { windowBounds.origin = NSZeroPoint; EXPECT_EQ(NSMaxY(closeBoxFrame), NSMaxY(windowBounds) - - kFramedWindowButtonsWithTabStripOffsetFromTop); - EXPECT_EQ(NSMinX(closeBoxFrame), kFramedWindowButtonsOffsetFromLeft); + kFramedWindowButtonsWithTabStripOffsetFromTop); + EXPECT_EQ(NSMinX(closeBoxFrame), + kFramedWindowButtonsWithTabStripOffsetFromLeft); miniaturizeCell = [window_ accessibilityAttributeValue: NSAccessibilityMinimizeButtonAttribute]; @@ -154,7 +156,7 @@ TEST_F(FramedBrowserWindowTest, WindowWidgetLocation) { miniaturizeFrame = [miniaturizeControl frame]; EXPECT_EQ(NSMaxY(miniaturizeFrame), NSMaxY(windowBounds) - - kFramedWindowButtonsWithTabStripOffsetFromTop); + kFramedWindowButtonsWithTabStripOffsetFromTop); EXPECT_EQ(NSMinX(miniaturizeFrame), NSMaxX(closeBoxFrame) + kFramedWindowButtonsInterButtonSpacing); [window_ setWindowController:nil]; diff --git a/chrome/browser/ui/cocoa/tab_strip_controller.mm b/chrome/browser/ui/cocoa/tab_strip_controller.mm index fa9f037..d9fb6fc 100644 --- a/chrome/browser/ui/cocoa/tab_strip_controller.mm +++ b/chrome/browser/ui/cocoa/tab_strip_controller.mm @@ -430,7 +430,7 @@ private: + (CGFloat)defaultIndentForControls { // Default indentation leaves enough room so tabs don't overlap with the // window controls. - return 64.0; + return 68.0; } // Finds the TabContentsController associated with the given index into the tab -- cgit v1.1