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 11namespace content { 12class WebContents; 13} 14 15namespace chrome { 16 17// Cross-platform interface to show the Sad tab UI. 18class 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 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