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_
10 #include "chrome/browser/permissions/permission_infobar_delegate.h"
13 // GeolocationInfoBarDelegates are created by the
14 // GeolocationInfoBarQueueController to control the display
15 // and handling of geolocation permission infobars to the user.
16 class GeolocationInfoBarDelegate
: public PermissionInfobarDelegate
{
18 // Creates a geolocation infobar and delegate and adds the infobar to
19 // |infobar_service|. Returns the infobar if it was successfully added.
20 static infobars::InfoBar
* Create(InfoBarService
* infobar_service
,
21 PermissionQueueController
* controller
,
22 const PermissionRequestID
& id
,
23 const GURL
& requesting_frame
,
24 const std::string
& display_languages
);
27 GeolocationInfoBarDelegate(PermissionQueueController
* controller
,
28 const PermissionRequestID
& id
,
29 const GURL
& requesting_frame
,
30 const std::string
& display_languages
);
31 ~GeolocationInfoBarDelegate() override
;
33 // PermissionInfoBarDelegate:
34 int GetIconID() const override
;
35 base::string16
GetMessageText() const override
;
37 GURL requesting_frame_
;
38 std::string display_languages_
;
40 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate
);
43 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_