Home | History | Annotate | Download | only in infobars
      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