| OLD | NEW |
| (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 | |
| OLD | NEW |