Index: chrome/browser/geolocation/geolocation_infobar_queue_controller.h |
=================================================================== |
--- chrome/browser/geolocation/geolocation_infobar_queue_controller.h (revision 163741) |
+++ chrome/browser/geolocation/geolocation_infobar_queue_controller.h (working copy) |
@@ -13,6 +13,9 @@ |
class GeolocationConfirmInfoBarDelegate; |
class InfoBarTabHelper; |
class Profile; |
+namespace content { |
+struct GeolocationPermissionRequestID; |
+} |
// This class controls the geolocation infobar queue per profile, and it's |
// used by GeolocationPermissionContext. |
@@ -31,24 +34,18 @@ |
// The InfoBar will be displayed immediately if the tab is not already |
// displaying one, otherwise it'll be queued. |
- void CreateInfoBarRequest(int render_process_id, |
- int render_view_id, |
- int bridge_id, |
+ void CreateInfoBarRequest(const content::GeolocationPermissionRequestID& id, |
const GURL& requesting_frame, |
const GURL& embedder, |
PermissionDecidedCallback callback); |
// Cancels a specific infobar request. |
- void CancelInfoBarRequest(int render_process_id, |
- int render_view_id, |
- int bridge_id); |
+ void CancelInfoBarRequest(const content::GeolocationPermissionRequestID& id); |
// Called by the InfoBarDelegate to notify permission has been set. |
// It'll notify and dismiss any other pending InfoBar request for the same |
// |requesting_frame| and embedder. |
- void OnPermissionSet(int render_process_id, |
- int render_view_id, |
- int bridge_id, |
+ void OnPermissionSet(const content::GeolocationPermissionRequestID& id, |
const GURL& requesting_frame, |
const GURL& embedder, |
bool update_content_setting, |
@@ -66,9 +63,7 @@ |
virtual GeolocationConfirmInfoBarDelegate* CreateInfoBarDelegate( |
InfoBarTabHelper* infobar_helper, |
GeolocationInfoBarQueueController* controller, |
- int render_process_id, |
- int render_view_id, |
- int bridge_id, |
+ const content::GeolocationPermissionRequestID& id, |
const GURL& requesting_frame_url, |
const std::string& display_languages); |
@@ -78,17 +73,23 @@ |
typedef std::vector<PendingInfoBarRequest> PendingInfoBarRequests; |
- // Shows the first pending infobar for this tab, if any. |
- void ShowQueuedInfoBar(int render_process_id, int render_view_id, |
- InfoBarTabHelper* helper); |
+ // Returns true if a geolocation infobar is already visible for the tab |
+ // corresponding to |id|. |
+ bool AlreadyShowingInfoBarForTab( |
John Knottenbelt
2012/10/24 10:59:10
Can you make this method const?
Peter Kasting
2012/10/24 19:50:48
Yes. Will fix.
|
+ const content::GeolocationPermissionRequestID& id); |
- // Removes any pending requests for a given tab. |
- void ClearPendingInfoBarRequestsForTab(int render_process_id, |
- int render_view_id); |
+ // Shows the next pending infobar for the tab corresponding to |id|, if any. |
+ // Note that this may not be the pending request whose ID is |id| if other |
+ // requests are higher in the queue. Returns whether an infobar was shown. |
+ bool ShowQueuedInfoBarForTab( |
+ const content::GeolocationPermissionRequestID& id); |
- InfoBarTabHelper* GetInfoBarHelper(int render_process_id, int render_view_id); |
- bool AlreadyShowingInfoBar(int render_process_id, int render_view_id); |
+ void ClearPendingInfoBarRequestsForTab( |
+ const content::GeolocationPermissionRequestID& id); |
+ InfoBarTabHelper* GetInfoBarHelper( |
+ const content::GeolocationPermissionRequestID& id); |
+ |
void RegisterForInfoBarNotifications(InfoBarTabHelper* helper); |
void UnregisterForInfoBarNotifications(InfoBarTabHelper* helper); |