diff options
Diffstat (limited to 'chrome/browser/ui/startup/session_crashed_prompt.h')
-rw-r--r-- | chrome/browser/ui/startup/session_crashed_prompt.h | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/chrome/browser/ui/startup/session_crashed_prompt.h b/chrome/browser/ui/startup/session_crashed_prompt.h index 8427313..af17728 100644 --- a/chrome/browser/ui/startup/session_crashed_prompt.h +++ b/chrome/browser/ui/startup/session_crashed_prompt.h @@ -5,13 +5,43 @@ #ifndef CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_PROMPT_H_ #define CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_PROMPT_H_ +#include "chrome/browser/api/infobars/confirm_infobar_delegate.h" +#include "content/public/browser/notification_observer.h" +#include "content/public/browser/notification_registrar.h" + class Browser; -namespace chrome { +// A delegate for the InfoBar shown when the previous session has crashed. +class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate, + public content::NotificationObserver { + public: + // If |browser| is not incognito, creates a session crashed delegate and adds + // it to the InfoBarService for |browser|. + static void Create(Browser* browser); + + private: + SessionCrashedInfoBarDelegate(InfoBarService* infobar_service, + Browser* browser); + virtual ~SessionCrashedInfoBarDelegate(); + + // ConfirmInfoBarDelegate: + virtual gfx::Image* GetIcon() const OVERRIDE; + virtual string16 GetMessageText() const OVERRIDE; + virtual int GetButtons() const OVERRIDE; + virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; + virtual bool Accept() OVERRIDE; + + // content::NotificationObserver: + virtual void Observe(int type, + const content::NotificationSource& source, + const content::NotificationDetails& details) OVERRIDE; -// Shows the session crashed prompt for |browser| if required. -void ShowSessionCrashedPrompt(Browser* browser); + content::NotificationRegistrar registrar_; + bool accepted_; + bool removed_notification_received_; + Browser* browser_; -} // namespace chrome + DISALLOW_COPY_AND_ASSIGN(SessionCrashedInfoBarDelegate); +}; #endif // CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_PROMPT_H_ |