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_INFOBARS_SIMPLE_ALERT_INFOBAR_DELEGATE_H_ 6 #define CHROME_BROWSER_INFOBARS_SIMPLE_ALERT_INFOBAR_DELEGATE_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "base/strings/string16.h" 11 #include "chrome/browser/infobars/confirm_infobar_delegate.h" 12 13 class SimpleAlertInfoBarDelegate : public ConfirmInfoBarDelegate { 14 public: 15 // Creates a simple alert infobar and delegate and adds the infobar to 16 // |infobar_service|. 17 static void Create(InfoBarService* infobar_service, 18 int icon_id, // May be |kNoIconID| if no icon is shown. 19 const base::string16& message, 20 bool auto_expire); 21 22 private: 23 SimpleAlertInfoBarDelegate(int icon_id, 24 const base::string16& message, 25 bool auto_expire); 26 virtual ~SimpleAlertInfoBarDelegate(); 27 28 // ConfirmInfoBarDelegate: 29 virtual int GetIconID() const OVERRIDE; 30 virtual base::string16 GetMessageText() const OVERRIDE; 31 virtual int GetButtons() const OVERRIDE; 32 virtual bool ShouldExpireInternal( 33 const content::LoadCommittedDetails& details) const OVERRIDE; 34 35 const int icon_id_; 36 base::string16 message_; 37 bool auto_expire_; // Should it expire automatically on navigation? 38 39 DISALLOW_COPY_AND_ASSIGN(SimpleAlertInfoBarDelegate); 40 }; 41 42 #endif // CHROME_BROWSER_INFOBARS_SIMPLE_ALERT_INFOBAR_DELEGATE_H_ 43