| Index: chrome/browser/ui/cocoa/browser_window_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| index ce8697af7c30b3d9c5a5a6d5137d0b0b61f52051..ef18ebb0dde024933e8a1a7c37d113da82b197a2 100644
|
| --- a/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/browser_window_controller.mm
|
| @@ -424,6 +424,10 @@
|
| return tabStripController_.get();
|
| }
|
|
|
| +- (InfoBarContainerController*)infoBarContainerController {
|
| + return infoBarContainerController_.get();
|
| +}
|
| +
|
| - (StatusBubbleMac*)statusBubble {
|
| return statusBubble_;
|
| }
|
| @@ -2039,6 +2043,11 @@ willAnimateFromState:(bookmarks::VisualState)oldState
|
| return [focused isKindOfClass:[AutocompleteTextFieldEditor class]];
|
| }
|
|
|
| +- (void)tabposeWillClose:(NSNotification*)notif {
|
| + // Re-show the container after Tabpose closes.
|
| + [[infoBarContainerController_ view] setHidden:NO];
|
| +}
|
| +
|
| - (void)openTabpose {
|
| NSUInteger modifierFlags = [[NSApp currentEvent] modifierFlags];
|
| BOOL slomo = (modifierFlags & NSShiftKeyMask) != 0;
|
| @@ -2046,17 +2055,33 @@ willAnimateFromState:(bookmarks::VisualState)oldState
|
| // Cover info bars, inspector window, and detached bookmark bar on NTP.
|
| // Do not cover download shelf.
|
| NSRect activeArea = [[self tabContentArea] frame];
|
| + // Take out the anti-spoof height so that Tabpose doesn't draw on top of the
|
| + // browser chrome.
|
| activeArea.size.height +=
|
| - NSHeight([[infoBarContainerController_ view] frame]);
|
| + NSHeight([[infoBarContainerController_ view] frame]) -
|
| + [infoBarContainerController_ antiSpoofHeight];
|
| if ([self isBookmarkBarVisible] && [self placeBookmarkBarBelowInfoBar]) {
|
| NSView* bookmarkBarView = [bookmarkBarController_ view];
|
| activeArea.size.height += NSHeight([bookmarkBarView frame]);
|
| }
|
|
|
| - [TabposeWindow openTabposeFor:[self window]
|
| - rect:activeArea
|
| - slomo:slomo
|
| - tabStripModel:browser_->tabstrip_model()];
|
| + // Hide the infobar container so that the anti-spoof bulge doesn't show when
|
| + // Tabpose is open.
|
| + [[infoBarContainerController_ view] setHidden:YES];
|
| +
|
| + TabposeWindow* window =
|
| + [TabposeWindow openTabposeFor:[self window]
|
| + rect:activeArea
|
| + slomo:slomo
|
| + tabStripModel:browser_->tabstrip_model()];
|
| +
|
| + // When the Tabpose window closes, the infobar container needs to be made
|
| + // visible again.
|
| + NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
|
| + [center addObserver:self
|
| + selector:@selector(tabposeWillClose:)
|
| + name:NSWindowWillCloseNotification
|
| + object:window];
|
| }
|
|
|
| @end // @implementation BrowserWindowController(Fullscreen)
|
|
|