| Index: chrome/browser/ui/cocoa/tab_contents/previewable_contents_controller.mm
|
| diff --git a/chrome/browser/ui/cocoa/tab_contents/previewable_contents_controller.mm b/chrome/browser/ui/cocoa/tab_contents/previewable_contents_controller.mm
|
| index fc9fb756a9148bb78c463fdc7903943d30dc21ba..662eaf6cfd141b707a0dabf1d03fd62d31859292 100644
|
| --- a/chrome/browser/ui/cocoa/tab_contents/previewable_contents_controller.mm
|
| +++ b/chrome/browser/ui/cocoa/tab_contents/previewable_contents_controller.mm
|
| @@ -51,12 +51,10 @@
|
| [super dealloc];
|
| }
|
|
|
| -- (void)showPreview:(content::WebContents*)preview
|
| - height:(CGFloat)height
|
| - heightUnits:(InstantSizeUnits)heightUnits
|
| - drawDropShadow:(BOOL)drawDropShadow {
|
| - DCHECK(preview);
|
| -
|
| +- (void)setPreview:(content::WebContents*)preview
|
| + height:(CGFloat)height
|
| + heightUnits:(InstantSizeUnits)heightUnits
|
| + drawDropShadow:(BOOL)drawDropShadow {
|
| // If drawing drop shadow, clip the bottom 1-px-thick separator out of
|
| // preview.
|
| // TODO(sail): remove this when GWS gives chrome the height without the
|
| @@ -72,8 +70,10 @@
|
| }
|
|
|
| // Remove any old preview contents before showing the new one.
|
| - if (previewContents_)
|
| + if (previewContents_) {
|
| [previewContents_->GetNativeView() removeFromSuperview];
|
| + previewContents_->WasHidden();
|
| + }
|
|
|
| previewContents_ = preview;
|
| previewHeight_ = height;
|
| @@ -81,9 +81,11 @@
|
| drawDropShadow_ = drawDropShadow;
|
|
|
| // Add the preview contents.
|
| - [[[self view] window] disableScreenUpdatesUntilFlush];
|
| - previewContents_->GetView()->SetAllowOverlappingViews(true);
|
| - [[self view] addSubview:previewContents_->GetNativeView()];
|
| + if (previewContents_) {
|
| + [[[self view] window] disableScreenUpdatesUntilFlush];
|
| + previewContents_->GetView()->SetAllowOverlappingViews(true);
|
| + [[self view] addSubview:previewContents_->GetNativeView()];
|
| + }
|
|
|
| if (drawDropShadow_) {
|
| if (!dropShadowView_) {
|
| @@ -98,28 +100,20 @@
|
|
|
| [self layoutViews];
|
|
|
| - previewContents_->WasShown();
|
| -}
|
| -
|
| -- (void)hidePreview {
|
| - // There may be no previewContents_ in the prerender case.
|
| - if (!previewContents_)
|
| - return;
|
| -
|
| - // Remove the preview contents.
|
| - [previewContents_->GetNativeView() removeFromSuperview];
|
| - previewContents_->WasHidden();
|
| - previewContents_ = nil;
|
| -
|
| - drawDropShadow_ = false;
|
| - [dropShadowView_ removeFromSuperview];
|
| - dropShadowView_.reset();
|
| + if (previewContents_)
|
| + previewContents_->WasShown();
|
| }
|
|
|
| - (void)onActivateTabWithContents:(content::WebContents*)contents {
|
| if (previewContents_ == contents) {
|
| - [previewContents_->GetNativeView() removeFromSuperview];
|
| - previewContents_ = nil;
|
| + if (previewContents_) {
|
| + [previewContents_->GetNativeView() removeFromSuperview];
|
| + previewContents_ = NULL;
|
| + }
|
| + [self setPreview:NULL
|
| + height:0
|
| + heightUnits:INSTANT_SIZE_PIXELS
|
| + drawDropShadow:NO];
|
| }
|
| }
|
|
|
|
|