Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1018)

Unified Diff: chrome/browser/geolocation/geolocation_infobar_queue_controller.h

Issue 11183018: Refactor ChromeGeolocationPermissionContext (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updates from comments Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/geolocation/geolocation_infobar_queue_controller.h
diff --git a/chrome/browser/geolocation/geolocation_infobar_queue_controller.h b/chrome/browser/geolocation/geolocation_infobar_queue_controller.h
index dd8543da3c21e2e12b291e9efc3b7bcf8570d3ec..10c6094d3157fa1a4cd76d58684862f955a3ebef 100644
--- a/chrome/browser/geolocation/geolocation_infobar_queue_controller.h
+++ b/chrome/browser/geolocation/geolocation_infobar_queue_controller.h
@@ -10,6 +10,7 @@
#include "content/public/browser/notification_registrar.h"
class GURL;
+class GeolocationConfirmInfoBarDelegate;
class InfoBarTabHelper;
class Profile;
@@ -23,16 +24,9 @@ class Profile;
// the notification infrastructure would simplify.
class GeolocationInfoBarQueueController : content::NotificationObserver {
public:
- typedef base::Callback<void(int /* render_process_id */,
- int /* render_view_id */,
- int /* bridge_id */,
- const GURL& /* requesting_frame */,
- base::Callback<void(bool)> /* callback */,
- bool /* allowed */)> NotifyPermissionSetCallback;
-
- GeolocationInfoBarQueueController(
- NotifyPermissionSetCallback notify_permission_set_callback,
- Profile* profile);
+ typedef base::Callback<void(bool /* allowed */)> PermissionDecidedCallback;
+
+ explicit GeolocationInfoBarQueueController(Profile* profile);
virtual ~GeolocationInfoBarQueueController();
// The InfoBar will be displayed immediately if the tab is not already
@@ -41,8 +35,8 @@ class GeolocationInfoBarQueueController : content::NotificationObserver {
int render_view_id,
int bridge_id,
const GURL& requesting_frame,
- const GURL& emebedder,
- base::Callback<void(bool)> callback);
+ const GURL& embedder,
+ PermissionDecidedCallback callback);
// Cancels a specific infobar request.
void CancelInfoBarRequest(int render_process_id,
@@ -57,6 +51,7 @@ class GeolocationInfoBarQueueController : content::NotificationObserver {
int bridge_id,
const GURL& requesting_frame,
const GURL& embedder,
+ bool update_content_setting,
bool allowed);
// content::NotificationObserver
@@ -64,6 +59,19 @@ class GeolocationInfoBarQueueController : content::NotificationObserver {
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
+ protected:
+ // Create an Infobar delegate to ask the whether the requesting frame
+ // url should be granted geolocation permission. Overrided in
+ // derived classes to implement alternative UI.
+ virtual GeolocationConfirmInfoBarDelegate* CreateInfoBarDelegate(
+ InfoBarTabHelper* infobar_helper,
+ GeolocationInfoBarQueueController* controller,
+ int render_process_id,
+ int render_view_id,
+ int bridge_id,
+ const GURL& requesting_frame_url,
+ const std::string& display_languages);
+
private:
struct PendingInfoBarRequest;
class RequestEquals;
@@ -86,7 +94,6 @@ class GeolocationInfoBarQueueController : content::NotificationObserver {
content::NotificationRegistrar registrar_;
- NotifyPermissionSetCallback notify_permission_set_callback_;
Profile* const profile_;
PendingInfoBarRequests pending_infobar_requests_;
};

Powered by Google App Engine
This is Rietveld 408576698