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

Side by Side Diff: chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.mm

Issue 543663002: Componentize sad_tab (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix url_constants.cc Created 6 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
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/ui/cocoa/tab_contents/sad_tab_controller.h"
6
7 #include "base/mac/bundle_locations.h"
8 #include "base/mac/mac_util.h"
9 #import "chrome/browser/ui/cocoa/tab_contents/sad_tab_view.h"
10 #include "content/public/browser/web_contents.h"
11
12 namespace chrome {
13
14 SadTab* SadTab::Create(content::WebContents* web_contents, SadTabKind kind) {
15 return new SadTabCocoa(web_contents);
16 }
17
18 SadTabCocoa::SadTabCocoa(content::WebContents* web_contents)
19 : web_contents_(web_contents) {
20 }
21
22 SadTabCocoa::~SadTabCocoa() {
23 }
24
25 void SadTabCocoa::Show() {
26 sad_tab_controller_.reset(
27 [[SadTabController alloc] initWithWebContents:web_contents_]);
28 }
29
30 void SadTabCocoa::Close() {
31 [[sad_tab_controller_ view] removeFromSuperview];
32 }
33
34 } // namespace chrome
35
36 @implementation SadTabController
37
38 - (id)initWithWebContents:(content::WebContents*)webContents {
39 if ((self = [super initWithNibName:@"SadTab"
40 bundle:base::mac::FrameworkBundle()])) {
41 webContents_ = webContents;
42
43 if (webContents_) { // NULL in unit_tests.
44 NSView* ns_view = webContents_->GetNativeView();
45 [[self view] setAutoresizingMask:
46 (NSViewWidthSizable | NSViewHeightSizable)];
47 [ns_view addSubview:[self view]];
48 [[self view] setFrame:[ns_view bounds]];
49 }
50 }
51
52 return self;
53 }
54
55 - (void)awakeFromNib {
56 // If webContents_ is nil, ask view to remove link.
57 if (!webContents_) {
58 SadTabView* sad_view = static_cast<SadTabView*>([self view]);
59 [sad_view removeHelpText];
60 }
61 }
62
63 - (content::WebContents*)webContents {
64 return webContents_;
65 }
66
67 - (void)openLearnMoreAboutCrashLink:(id)sender {
68 // Send the action up through the responder chain.
69 [NSApp sendAction:@selector(openLearnMoreAboutCrashLink:) to:nil from:self];
70 }
71
72 @end
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698