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