1 // Copyright 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_SAD_TAB_H_ 6 #define CHROME_BROWSER_UI_SAD_TAB_H_ 7 8 #include "base/process/kill.h" 9 #include "chrome/browser/ui/sad_tab_types.h" 10 11 namespace content { 12 class WebContents; 13 } 14 15 namespace chrome { 16 17 // Cross-platform interface to show the Sad tab UI. 18 class SadTab { 19 public: 20 // Factory function to create the platform specific implementations. 21 static SadTab* Create(content::WebContents* web_contents, SadTabKind kind); 22 23 // Returns true if the sad tab should be shown. 24 static bool ShouldShow(base::TerminationStatus status); 25 ~SadTab()26 virtual ~SadTab() {} 27 28 // Shows the Sad tab. 29 virtual void Show() = 0; 30 31 // Closes the Sad tab. 32 virtual void Close() = 0; 33 }; 34 35 } // namespace chrome 36 37 #endif // CHROME_BROWSER_UI_SAD_TAB_H_ 38