1 // Copyright (c) 2012 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 #ifndef CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_ 6 #define CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_ 7 8 #include "base/mac/scoped_nsobject.h" 9 #include "ui/base/cocoa/base_view.h" 10 11 #import <Cocoa/Cocoa.h> 12 13 @class SadTabController; 14 @class HyperlinkTextView; 15 16 // A view that displays the "sad tab" (aka crash page). 17 @interface SadTabView : BaseView<NSTextViewDelegate> { 18 @private 19 IBOutlet NSImageView* image_; 20 IBOutlet NSTextField* title_; 21 IBOutlet NSTextField* message_; 22 IBOutlet NSTextField* helpPlaceholder_; 23 24 base::scoped_nsobject<NSColor> backgroundColor_; 25 NSSize messageSize_; 26 27 // Text fields don't work as well with embedded links as text views, but 28 // text views cannot conveniently be created in IB. The xib file contains 29 // a text field |helpPlaceholder_| that's replaced by this text view |help_| 30 // in -awakeFromNib. 31 base::scoped_nsobject<HyperlinkTextView> help_; 32 33 // A weak reference to the parent controller. 34 IBOutlet SadTabController* controller_; 35 } 36 37 // Designated initializer is -initWithFrame: . 38 39 // Called by SadTabController to remove the help text and link. 40 - (void)removeHelpText; 41 42 // Sets |help_| based on |helpPlaceholder_|, sets |helpPlaceholder_| to nil. 43 - (void)initializeHelpText; 44 45 @end 46 47 #endif // CHROME_BROWSER_UI_COCOA_TAB_CONTENTS_SAD_TAB_VIEW_H_ 48