Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / android / content_settings / popup_blocked_infobar_delegate.h
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 "chrome/browser/infobars/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_