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

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

Issue 5031001: [Mac] Removes the match preview tear image. Also removes the underlying reso... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 1 month 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)
12 // Shows or hides the "close preview" button. Adds the button to the view
13 // hierarchy, if needed.
14 - (void)showCloseButton:(BOOL)show;
15 @end
16
17 @implementation PreviewableContentsController 11 @implementation PreviewableContentsController
18 12
19 @synthesize activeContainer = activeContainer_; 13 @synthesize activeContainer = activeContainer_;
20 14
21 - (id)init { 15 - (id)init {
22 if ((self = [super initWithNibName:@"PreviewableContents" 16 if ((self = [super initWithNibName:@"PreviewableContents"
23 bundle:mac_util::MainAppBundle()])) { 17 bundle:mac_util::MainAppBundle()])) {
24 } 18 }
25 return self; 19 return self;
26 } 20 }
27 21
28 - (void)showPreview:(TabContents*)preview { 22 - (void)showPreview:(TabContents*)preview {
29 DCHECK(preview); 23 DCHECK(preview);
30 24
31 // Remove any old preview contents before showing the new one. 25 // Remove any old preview contents before showing the new one.
32 if (previewContents_) 26 if (previewContents_)
33 [previewContents_->GetNativeView() removeFromSuperview]; 27 [previewContents_->GetNativeView() removeFromSuperview];
34 28
35 previewContents_ = preview; 29 previewContents_ = preview;
36 NSView* previewView = previewContents_->GetNativeView(); 30 NSView* previewView = previewContents_->GetNativeView();
37 [previewView setFrame:[[self view] bounds]]; 31 [previewView setFrame:[[self view] bounds]];
38 32
39 // Hide the active container, add the preview contents, and show the tear 33 // Hide the active container and add the preview contents.
40 // image.
41 [activeContainer_ setHidden:YES]; 34 [activeContainer_ setHidden:YES];
42 [[self view] addSubview:previewView]; 35 [[self view] addSubview:previewView];
43 [self showCloseButton:YES];
44 } 36 }
45 37
46 - (void)hidePreview { 38 - (void)hidePreview {
47 DCHECK(previewContents_); 39 DCHECK(previewContents_);
48 40
49 // Remove the preview contents, hide the tear image, and reshow the active 41 // Remove the preview contents and reshow the active container.
50 // container.
51 [self showCloseButton:NO];
52 [previewContents_->GetNativeView() removeFromSuperview]; 42 [previewContents_->GetNativeView() removeFromSuperview];
53 [activeContainer_ setHidden:NO]; 43 [activeContainer_ setHidden:NO];
54 44
55 previewContents_ = nil; 45 previewContents_ = nil;
56 } 46 }
57 47
58 - (IBAction)closePreview:(id)sender {
59 // Hiding right now leads to crashes.
60 // TODO(rohitrao): Actually hide the preview.
61 }
62
63 - (BOOL)isShowingPreview { 48 - (BOOL)isShowingPreview {
64 return previewContents_ != nil; 49 return previewContents_ != nil;
65 } 50 }
66 51
67 @end 52 @end
68
69 @implementation PreviewableContentsController(PrivateMethods)
70
71 - (void)showCloseButton:(BOOL)show {
72 if (!show) {
73 [closeButton_ removeFromSuperview];
74 return;
75 }
76
77 if ([closeButton_ superview])
78 return; // Already in the view hierarchy.
79
80 // Add the close button to the upper left corner.
81 NSView* view = [self view];
82 NSRect frame = [closeButton_ frame];
83 frame.origin.x = NSMinX([view bounds]);
84 frame.origin.y = NSMaxY([view bounds]) - NSHeight(frame);
85 [closeButton_ setFrame:frame];
86 [view addSubview:closeButton_];
87 }
88
89 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698