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/content_settings/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 int contents_unique_id
,
31 const std::string
& display_languages
);
32 ~GeolocationInfoBarDelegate() override
;
34 // PermissionInfoBarDelegate:
35 int GetIconID() const override
;
36 base::string16
GetMessageText() const override
;
38 GURL requesting_frame_
;
39 std::string display_languages_
;
41 DISALLOW_COPY_AND_ASSIGN(GeolocationInfoBarDelegate
);
44 #endif // CHROME_BROWSER_GEOLOCATION_GEOLOCATION_INFOBAR_DELEGATE_H_