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

Unified Diff: chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm

Issue 22694002: InstantExtended: Nuke InstantOverlayController. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments. Created 7 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/tab_contents/overlayable_contents_controller.mm
diff --git a/chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm b/chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm
index 0b196776b0aaf1a0104e70126005d5daf05b140e..051137588eeb6b80922e3b5e985c8f1a6f73058d 100644
--- a/chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm
+++ b/chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.mm
@@ -4,16 +4,9 @@
#import "chrome/browser/ui/cocoa/tab_contents/overlayable_contents_controller.h"
-#include "chrome/browser/ui/cocoa/tab_contents/instant_overlay_controller_mac.h"
#include "content/public/browser/web_contents.h"
#include "content/public/browser/web_contents_view.h"
-@interface OverlayableContentsController()
-- (void)viewDidResize:(NSNotification*)note;
-- (void)layoutViews;
-- (CGFloat)overlayHeightInPixels;
-@end
-
@implementation OverlayableContentsController
- (id)initWithBrowser:(Browser*)browser {
@@ -21,111 +14,18 @@
base::scoped_nsobject<NSView> view(
[[NSView alloc] initWithFrame:NSZeroRect]);
[view setAutoresizingMask:NSViewHeightSizable | NSViewWidthSizable];
- [[NSNotificationCenter defaultCenter]
- addObserver:self
- selector:@selector(viewDidResize:)
- name:NSViewFrameDidChangeNotification
- object:view];
[self setView:view];
activeContainer_.reset([[NSView alloc] initWithFrame:NSZeroRect]);
[activeContainer_ setAutoresizingMask:NSViewHeightSizable |
NSViewWidthSizable];
[view addSubview:activeContainer_];
-
- instantOverlayController_.reset(
- new InstantOverlayControllerMac(browser, self));
}
return self;
}
-- (void)dealloc {
- [[NSNotificationCenter defaultCenter] removeObserver:self];
- [super dealloc];
-}
-
-- (void)setOverlay:(content::WebContents*)overlay
- height:(CGFloat)height
- heightUnits:(InstantSizeUnits)heightUnits
- drawDropShadow:(BOOL)drawDropShadow {
- if (overlayContents_ == overlay &&
- overlayHeight_ == height &&
- overlayHeightUnits_ == heightUnits) {
- return;
- }
-
- // Remove any old overlay contents before showing the new one.
- if (overlayContents_) {
- if (overlayContents_ != overlay)
- overlayContents_->WasHidden();
- [overlayContents_->GetView()->GetNativeView() removeFromSuperview];
- }
-
- overlayContents_ = overlay;
- overlayHeight_ = height;
- overlayHeightUnits_ = heightUnits;
-
- // Add the overlay contents.
- if (overlayContents_) {
- [[[self view] window] disableScreenUpdatesUntilFlush];
- [[self view] addSubview:overlayContents_->GetView()->GetNativeView()];
- }
-
- [self layoutViews];
-
- if (overlayContents_)
- overlayContents_->WasShown();
-}
-
-- (void)onActivateTabWithContents:(content::WebContents*)contents {
- if (overlayContents_ == contents) {
- if (overlayContents_) {
- [overlayContents_->GetView()->GetNativeView() removeFromSuperview];
- overlayContents_ = NULL;
- }
- [self setOverlay:NULL
- height:0
- heightUnits:INSTANT_SIZE_PIXELS
- drawDropShadow:NO];
- }
-}
-
-- (InstantOverlayControllerMac*)instantOverlayController {
- return instantOverlayController_.get();
-}
-
-- (BOOL)isShowingOverlay {
- return overlayContents_ != nil;
-}
-
- (NSView*)activeContainer {
return activeContainer_.get();
}
-- (void)viewDidResize:(NSNotification*)note {
- [self layoutViews];
-}
-
-- (void)layoutViews {
- if (!overlayContents_)
- return;
-
- // Layout the overlay.
- NSRect bounds = [[self view] bounds];
- NSRect overlayFrame = bounds;
- overlayFrame.size.height = [self overlayHeightInPixels];
- overlayFrame.origin.y = NSMaxY(bounds) - NSHeight(overlayFrame);
- [overlayContents_->GetView()->GetNativeView() setFrame:overlayFrame];
-}
-
-- (CGFloat)overlayHeightInPixels {
- CGFloat height = NSHeight([[self view] bounds]);
- switch (overlayHeightUnits_) {
- case INSTANT_SIZE_PERCENT:
- return std::min(height, (height * overlayHeight_) / 100);
- case INSTANT_SIZE_PIXELS:
- return std::min(height, overlayHeight_);
- }
-}
-
@end

Powered by Google App Engine
This is Rietveld 408576698