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