Home | History | Annotate | Download | only in content_settings
      1 // Copyright 2013 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_ANDROID_CONTENT_SETTINGS_POPUP_BLOCKED_INFOBAR_DELEGATE_H_
      6 #define CHROME_BROWSER_UI_ANDROID_CONTENT_SETTINGS_POPUP_BLOCKED_INFOBAR_DELEGATE_H_
      7 
      8 #include "components/infobars/core/confirm_infobar_delegate.h"
      9 #include "url/gurl.h"
     10 
     11 namespace content {
     12 class WebContents;
     13 }  // namespace content
     14 
     15 class HostContentSettingsMap;
     16 
     17 class PopupBlockedInfoBarDelegate : public ConfirmInfoBarDelegate {
     18  public:
     19   // Creates a popup blocked infobar and delegate and adds the infobar to
     20   // |infobar_service|.
     21   static void Create(content::WebContents* web_contents, int num_popups);
     22 
     23   virtual ~PopupBlockedInfoBarDelegate();
     24 
     25  private:
     26   PopupBlockedInfoBarDelegate(int num_popups,
     27                               const GURL& url,
     28                               HostContentSettingsMap* map);
     29 
     30   // ConfirmInfoBarDelegate:
     31   virtual int GetIconID() const OVERRIDE;
     32   virtual PopupBlockedInfoBarDelegate* AsPopupBlockedInfoBarDelegate() OVERRIDE;
     33   virtual base::string16 GetMessageText() const OVERRIDE;
     34   virtual int GetButtons() const OVERRIDE;
     35   virtual base::string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
     36   virtual bool Accept() OVERRIDE;
     37 
     38   int num_popups_;
     39   GURL url_;
     40   HostContentSettingsMap* map_;
     41   bool can_show_popups_;
     42 
     43   DISALLOW_COPY_AND_ASSIGN(PopupBlockedInfoBarDelegate);
     44 };
     45 
     46 #endif  // CHROME_BROWSER_UI_ANDROID_CONTENT_SETTINGS_POPUP_BLOCKED_INFOBAR_DELEGATE_H_
     47