Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5918)

Unified Diff: chrome/browser/ui/startup/session_crashed_prompt.h

Issue 11644059: Change infobar creation to use a public static Create() method on the infobar delegate classes. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/startup/session_crashed_prompt.h
===================================================================
--- chrome/browser/ui/startup/session_crashed_prompt.h (revision 175396)
+++ chrome/browser/ui/startup/session_crashed_prompt.h (working copy)
@@ -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);
-// Shows the session crashed prompt for |browser| if required.
-void ShowSessionCrashedPrompt(Browser* browser);
+ private:
+ SessionCrashedInfoBarDelegate(InfoBarService* infobar_service,
+ Browser* browser);
+ virtual ~SessionCrashedInfoBarDelegate();
-} // namespace chrome
+ // 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;
+
+ content::NotificationRegistrar registrar_;
+ bool accepted_;
+ bool removed_notification_received_;
+ Browser* browser_;
+
+ DISALLOW_COPY_AND_ASSIGN(SessionCrashedInfoBarDelegate);
+};
+
#endif // CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_PROMPT_H_
« no previous file with comments | « chrome/browser/ui/startup/obsolete_os_prompt_gtk.cc ('k') | chrome/browser/ui/startup/session_crashed_prompt.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698