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