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

Side by Side Diff: chrome/browser/cocoa/previewable_contents_controller.mm

Issue 3624001: Implement Instant on Mac (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/cocoa/previewable_contents_controller.h" 5 #import "chrome/browser/cocoa/previewable_contents_controller.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/mac_util.h" 8 #include "base/mac_util.h"
9 #include "chrome/browser/tab_contents/tab_contents.h" 9 #include "chrome/browser/tab_contents/tab_contents.h"
10 10
11 @interface PreviewableContentsController(PrivateMethods) 11 @interface PreviewableContentsController(PrivateMethods)
12 // Shows or hides the "close preview" button. Adds the button to the view 12 // Shows or hides the "close preview" button. Adds the button to the view
13 // hierarchy, if needed. 13 // hierarchy, if needed.
14 - (void)showCloseButton:(BOOL)show; 14 - (void)showCloseButton:(BOOL)show;
15 @end 15 @end
16 16
17 @implementation PreviewableContentsController 17 @implementation PreviewableContentsController
18 18
19 @synthesize activeContainer = activeContainer_; 19 @synthesize activeContainer = activeContainer_;
20 20
21 - (id)init { 21 - (id)init {
22 if ((self = [super initWithNibName:@"PreviewableContents" 22 if ((self = [super initWithNibName:@"PreviewableContents"
23 bundle:mac_util::MainAppBundle()])) { 23 bundle:mac_util::MainAppBundle()])) {
24 } 24 }
25 return self; 25 return self;
26 } 26 }
27 27
28 - (void)showPreview:(TabContents*)preview { 28 - (void)showPreview:(TabContents*)preview {
29 DCHECK(preview); 29 DCHECK(preview);
30
31 // Remove any old preview contents before showing the new one.
32 if (previewContents_)
33 [previewContents_->GetNativeView() removeFromSuperview];
34
30 previewContents_ = preview; 35 previewContents_ = preview;
31
32 NSView* previewView = previewContents_->GetNativeView(); 36 NSView* previewView = previewContents_->GetNativeView();
33 [previewView setFrame:[[self view] bounds]]; 37 [previewView setFrame:[[self view] bounds]];
34 38
35 // Hide the active container, add the preview contents, and show the tear 39 // Hide the active container, add the preview contents, and show the tear
36 // image. 40 // image.
37 [activeContainer_ setHidden:YES]; 41 [activeContainer_ setHidden:YES];
38 [[self view] addSubview:previewView]; 42 [[self view] addSubview:previewView];
39 [self showCloseButton:YES]; 43 [self showCloseButton:YES];
40 } 44 }
41 45
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 // Add the close button to the upper left corner. 80 // Add the close button to the upper left corner.
77 NSView* view = [self view]; 81 NSView* view = [self view];
78 NSRect frame = [closeButton_ frame]; 82 NSRect frame = [closeButton_ frame];
79 frame.origin.x = NSMinX([view bounds]); 83 frame.origin.x = NSMinX([view bounds]);
80 frame.origin.y = NSMaxY([view bounds]) - NSHeight(frame); 84 frame.origin.y = NSMaxY([view bounds]) - NSHeight(frame);
81 [closeButton_ setFrame:frame]; 85 [closeButton_ setFrame:frame];
82 [view addSubview:closeButton_]; 86 [view addSubview:closeButton_];
83 } 87 }
84 88
85 @end 89 @end
OLDNEW
« no previous file with comments | « chrome/browser/cocoa/location_bar/location_bar_view_mac.mm ('k') | chrome/browser/tab_contents/tab_contents_view_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698