1 // Copyright (c) 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_STARTUP_SESSION_CRASHED_INFOBAR_DELEGATE_H_ 6 #define CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_INFOBAR_DELEGATE_H_ 7 8 #include "components/infobars/core/confirm_infobar_delegate.h" 9 10 class Browser; 11 class Profile; 12 13 // A delegate for the InfoBar shown when the previous session has crashed. 14 class SessionCrashedInfoBarDelegate : public ConfirmInfoBarDelegate { 15 public: 16 // If |browser| is not incognito, creates a session crashed infobar and 17 // delegate and adds the infobar to the InfoBarService for |browser|. 18 static void Create(Browser* browser); 19 20 private: 21 explicit SessionCrashedInfoBarDelegate(Profile* profile); 22 virtual ~SessionCrashedInfoBarDelegate(); 23 24 // ConfirmInfoBarDelegate: 25 virtual int GetIconID() const OVERRIDE; 26 virtual base::string16 GetMessageText() const OVERRIDE; 27 virtual int GetButtons() const OVERRIDE; 28 virtual base::string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; 29 virtual bool Accept() OVERRIDE; 30 31 bool accepted_; 32 Profile* profile_; 33 34 DISALLOW_COPY_AND_ASSIGN(SessionCrashedInfoBarDelegate); 35 }; 36 37 #endif // CHROME_BROWSER_UI_STARTUP_SESSION_CRASHED_INFOBAR_DELEGATE_H_ 38