OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 5 #ifndef CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ |
6 #define CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 6 #define CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "chrome/browser/permissions/permission_infobar_delegate.h" | 10 #include "chrome/browser/permissions/permission_infobar_delegate.h" |
11 | 11 |
12 | |
13 // GeolocationInfoBarDelegates are created by the | 12 // GeolocationInfoBarDelegates are created by the |
14 // GeolocationInfoBarQueueController to control the display | 13 // PermissionQueueController to control the display |
15 // and handling of geolocation permission infobars to the user. | 14 // and handling of geolocation permission infobars to the user. |
16 class GeolocationInfoBarDelegate : public PermissionInfobarDelegate { | 15 class GeolocationInfoBarDelegate : public PermissionInfobarDelegate { |
17 public: | 16 public: |
18 // Creates a geolocation infobar and delegate and adds the infobar to | 17 // Creates a geolocation infobar and delegate and adds the infobar to |
19 // |infobar_service|. Returns the infobar if it was successfully added. | 18 // |infobar_service|. Returns the infobar if it was successfully added. |
20 static infobars::InfoBar* Create(InfoBarService* infobar_service, | 19 static infobars::InfoBar* Create( |
21 PermissionQueueController* controller, | 20 InfoBarService* infobar_service, |
22 const PermissionRequestID& id, | 21 const PermissionRequestID& id, |
23 const GURL& requesting_frame, | 22 const GURL& requesting_frame, |
24 const std::string& display_languages); | 23 const std::string& display_languages, |
| 24 const base::Callback<void(bool, bool)>& callback); |
25 | 25 |
26 private: | 26 private: |
27 GeolocationInfoBarDelegate(PermissionQueueController* controller, | 27 GeolocationInfoBarDelegate( |
28 const PermissionRequestID& id, | 28 const PermissionRequestID& id, |
29 const GURL& requesting_frame, | 29 const GURL& requesting_frame, |
30 const std::string& display_languages); | 30 const std::string& display_languages, |
| 31 const base::Callback<void(bool, bool)>& callback); |
31 ~GeolocationInfoBarDelegate() override; | 32 ~GeolocationInfoBarDelegate() override; |
32 | 33 |
33 // PermissionInfoBarDelegate: | 34 // PermissionInfoBarDelegate: |
34 int GetIconId() const override; | 35 int GetIconId() const override; |
35 base::string16 GetMessageText() const override; | 36 base::string16 GetMessageText() const override; |
36 | 37 |
37 GURL requesting_frame_; | 38 GURL requesting_frame_; |
38 std::string display_languages_; | 39 std::string display_languages_; |
39 | 40 |
40 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate); | 41 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate); |
41 }; | 42 }; |
42 | 43 |
43 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ | 44 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_ |
OLD | NEW |