| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h" | 5 #import "chrome/browser/ui/cocoa/tabs/tab_window_controller.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #import "base/mac/sdk_forward_declarations.h" | 8 #import "base/mac/sdk_forward_declarations.h" |
| 9 #import "chrome/browser/ui/cocoa/browser_window_layout.h" | 9 #import "chrome/browser/ui/cocoa/browser_window_layout.h" |
| 10 #import "chrome/browser/ui/cocoa/fast_resize_view.h" | 10 #import "chrome/browser/ui/cocoa/fast_resize_view.h" |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 [[self tabStripView] setInATabDraggingOverlayWindow:YES]; | 175 [[self tabStripView] setInATabDraggingOverlayWindow:YES]; |
| 176 [[overlayWindow_ contentView] addSubview:originalContentView_]; | 176 [[overlayWindow_ contentView] addSubview:originalContentView_]; |
| 177 | 177 |
| 178 [overlayWindow_ orderFront:nil]; | 178 [overlayWindow_ orderFront:nil]; |
| 179 } else if (!useOverlay && overlayWindow_) { | 179 } else if (!useOverlay && overlayWindow_) { |
| 180 DCHECK(originalContentView_); | 180 DCHECK(originalContentView_); |
| 181 | 181 |
| 182 // Return the original window's tab strip view and content view to their | 182 // Return the original window's tab strip view and content view to their |
| 183 // places. The TabStripView always needs to be in front of the window's | 183 // places. The TabStripView always needs to be in front of the window's |
| 184 // content view and therefore it should always be added after the content | 184 // content view and therefore it should always be added after the content |
| 185 // view is set. It needs to be positioned at the bottom of the view | 185 // view is set. It needs to be positioned below the avatar button to ensure |
| 186 // hierarchy to ensure that it does not overlap the avatar button icon. | 186 // that its overlay will not overlap it. |
| 187 [[window contentView] addSubview:originalContentView_ | 187 [[window contentView] addSubview:originalContentView_ |
| 188 positioned:NSWindowBelow | 188 positioned:NSWindowBelow |
| 189 relativeTo:nil]; | 189 relativeTo:nil]; |
| 190 originalContentView_.frame = [[window contentView] bounds]; | 190 originalContentView_.frame = [[window contentView] bounds]; |
| 191 [[window contentView] addSubview:[self tabStripView] | 191 [[window contentView] addSubview:[self tabStripView] |
| 192 positioned:NSWindowBelow | 192 positioned:NSWindowBelow |
| 193 relativeTo:nil]; | 193 relativeTo:[self avatarView]]; |
| 194 [[self tabStripView] setInATabDraggingOverlayWindow:NO]; | 194 [[self tabStripView] setInATabDraggingOverlayWindow:NO]; |
| 195 [[window contentView] updateTrackingAreas]; | 195 [[window contentView] updateTrackingAreas]; |
| 196 | 196 |
| 197 [focusBeforeOverlay_ restoreFocusInWindow:window]; | 197 [focusBeforeOverlay_ restoreFocusInWindow:window]; |
| 198 focusBeforeOverlay_.reset(); | 198 focusBeforeOverlay_.reset(); |
| 199 | 199 |
| 200 [window display]; | 200 [window display]; |
| 201 [window removeChildWindow:overlayWindow_]; | 201 [window removeChildWindow:overlayWindow_]; |
| 202 | 202 |
| 203 [overlayWindow_ orderOut:nil]; | 203 [overlayWindow_ orderOut:nil]; |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 NOTIMPLEMENTED(); | 308 NOTIMPLEMENTED(); |
| 309 return NO; | 309 return NO; |
| 310 } | 310 } |
| 311 | 311 |
| 312 - (CGFloat)menubarOffset { | 312 - (CGFloat)menubarOffset { |
| 313 // Subclasses should implement this. | 313 // Subclasses should implement this. |
| 314 NOTIMPLEMENTED(); | 314 NOTIMPLEMENTED(); |
| 315 return 0; | 315 return 0; |
| 316 } | 316 } |
| 317 | 317 |
| 318 - (NSView*)avatarView { |
| 319 return nil; |
| 320 } |
| 321 |
| 318 - (NSString*)activeTabTitle { | 322 - (NSString*)activeTabTitle { |
| 319 // subclass must implement | 323 // subclass must implement |
| 320 NOTIMPLEMENTED(); | 324 NOTIMPLEMENTED(); |
| 321 return @""; | 325 return @""; |
| 322 } | 326 } |
| 323 | 327 |
| 324 - (BOOL)hasTabStrip { | 328 - (BOOL)hasTabStrip { |
| 325 // Subclasses should implement this. | 329 // Subclasses should implement this. |
| 326 NOTIMPLEMENTED(); | 330 NOTIMPLEMENTED(); |
| 327 return YES; | 331 return YES; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 [visualEffectView addSubview:tabStripBackgroundView_]; | 397 [visualEffectView addSubview:tabStripBackgroundView_]; |
| 394 } | 398 } |
| 395 | 399 |
| 396 // Called when the size of the window content area has changed. Override to | 400 // Called when the size of the window content area has changed. Override to |
| 397 // position specific views. Base class implementation does nothing. | 401 // position specific views. Base class implementation does nothing. |
| 398 - (void)layoutSubviews { | 402 - (void)layoutSubviews { |
| 399 NOTIMPLEMENTED(); | 403 NOTIMPLEMENTED(); |
| 400 } | 404 } |
| 401 | 405 |
| 402 @end | 406 @end |
| OLD | NEW |