Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / geolocation / geolocation_infobar_delegate.h
blob1afa546a7ba63fce2e26490191b3ba44a1535af9
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_
6 #define CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_
8 #include <string>
10 #include "chrome/browser/permissions/permission_infobar_delegate.h"
12 // GeolocationInfoBarDelegates are created by the
13 // PermissionQueueController to control the display
14 // and handling of geolocation permission infobars to the user.
15 class GeolocationInfoBarDelegate : public PermissionInfobarDelegate {
16 public:
17 // Creates a geolocation infobar and delegate and adds the infobar to
18 // |infobar_service|. Returns the infobar if it was successfully added.
19 static infobars::InfoBar* Create(
20 InfoBarService* infobar_service,
21 const GURL& requesting_frame,
22 const std::string& display_languages,
23 const PermissionSetCallback& callback);
25 private:
26 GeolocationInfoBarDelegate(
27 const GURL& requesting_frame,
28 const std::string& display_languages,
29 const PermissionSetCallback& callback);
30 ~GeolocationInfoBarDelegate() override;
32 // PermissionInfoBarDelegate:
33 int GetIconId() const override;
34 base::string16 GetMessageText() const override;
36 GURL requesting_frame_;
37 std::string display_languages_;
39 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate);
42 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_