Index: chrome/browser/geolocation/geolocation_permission_context.cc |
diff --git a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc b/chrome/browser/geolocation/geolocation_permission_context.cc |
similarity index 81% |
rename from chrome/browser/geolocation/chrome_geolocation_permission_context.cc |
rename to chrome/browser/geolocation/geolocation_permission_context.cc |
index b8e38ac37d3b00b3af52d567f0210ec0855a4c83..ca97bfad53c30733a0bc396e44f5df521a127247 100644 |
--- a/chrome/browser/geolocation/chrome_geolocation_permission_context.cc |
+++ b/chrome/browser/geolocation/geolocation_permission_context.cc |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" |
+#include "chrome/browser/geolocation/geolocation_permission_context.h" |
#include <functional> |
#include <string> |
@@ -30,13 +30,12 @@ |
class GeolocationPermissionRequest : public PermissionBubbleRequest { |
public: |
- GeolocationPermissionRequest( |
- ChromeGeolocationPermissionContext* context, |
- const PermissionRequestID& id, |
- const GURL& requesting_frame, |
- bool user_gesture, |
- base::Callback<void(bool)> callback, |
- const std::string& display_languages); |
+ GeolocationPermissionRequest(GeolocationPermissionContext* context, |
+ const PermissionRequestID& id, |
+ const GURL& requesting_frame, |
+ bool user_gesture, |
+ base::Callback<void(bool)> callback, |
+ const std::string& display_languages); |
virtual ~GeolocationPermissionRequest(); |
// PermissionBubbleDelegate: |
@@ -51,7 +50,7 @@ class GeolocationPermissionRequest : public PermissionBubbleRequest { |
virtual void RequestFinished() OVERRIDE; |
private: |
- ChromeGeolocationPermissionContext* context_; |
+ GeolocationPermissionContext* context_; |
PermissionRequestID id_; |
GURL requesting_frame_; |
bool user_gesture_; |
@@ -60,7 +59,7 @@ class GeolocationPermissionRequest : public PermissionBubbleRequest { |
}; |
GeolocationPermissionRequest::GeolocationPermissionRequest( |
- ChromeGeolocationPermissionContext* context, |
+ GeolocationPermissionContext* context, |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
bool user_gesture, |
@@ -113,32 +112,39 @@ void GeolocationPermissionRequest::RequestFinished() { |
} |
-ChromeGeolocationPermissionContext::ChromeGeolocationPermissionContext( |
+GeolocationPermissionContext::GeolocationPermissionContext( |
Profile* profile) |
: profile_(profile), |
shutting_down_(false), |
extensions_context_(profile) { |
} |
-ChromeGeolocationPermissionContext::~ChromeGeolocationPermissionContext() { |
- // ChromeGeolocationPermissionContext may be destroyed on either the UI thread |
+GeolocationPermissionContext::~GeolocationPermissionContext() { |
+ // GeolocationPermissionContext may be destroyed on either the UI thread |
// or the IO thread, but the PermissionQueueController must have been |
// destroyed on the UI thread. |
DCHECK(!permission_queue_controller_.get()); |
} |
-void ChromeGeolocationPermissionContext::RequestGeolocationPermission( |
+void GeolocationPermissionContext::RequestGeolocationPermission( |
content::WebContents* web_contents, |
int bridge_id, |
const GURL& requesting_frame, |
bool user_gesture, |
- base::Callback<void(bool)> callback) { |
+ base::Callback<void(bool)> result_callback, |
+ base::Closure* cancel_callback) { |
GURL requesting_frame_origin = requesting_frame.GetOrigin(); |
if (shutting_down_) |
return; |
int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
+ if (cancel_callback) { |
+ *cancel_callback = base::Bind( |
+ &GeolocationPermissionContext::CancelGeolocationPermissionRequest, |
+ this, render_process_id, render_view_id, bridge_id); |
+ } |
+ |
const PermissionRequestID id( |
render_process_id, render_view_id, bridge_id, GURL()); |
@@ -146,9 +152,9 @@ void ChromeGeolocationPermissionContext::RequestGeolocationPermission( |
bool new_permission; |
if (extensions_context_.RequestPermission( |
web_contents, id, bridge_id, requesting_frame, user_gesture, |
- callback, &permission_set, &new_permission)) { |
+ result_callback, &permission_set, &new_permission)) { |
if (permission_set) { |
- NotifyPermissionSet(id, requesting_frame_origin, callback, |
+ NotifyPermissionSet(id, requesting_frame_origin, result_callback, |
new_permission); |
} |
return; |
@@ -159,28 +165,28 @@ void ChromeGeolocationPermissionContext::RequestGeolocationPermission( |
LOG(WARNING) << "Attempt to use geolocation from an invalid URL: " |
<< requesting_frame_origin << "," << embedder |
<< " (geolocation is not supported in popups)"; |
- NotifyPermissionSet(id, requesting_frame_origin, callback, false); |
+ NotifyPermissionSet(id, requesting_frame_origin, result_callback, false); |
return; |
} |
DecidePermission(web_contents, id, requesting_frame_origin, user_gesture, |
- embedder, "", callback); |
+ embedder, "", result_callback); |
} |
-void ChromeGeolocationPermissionContext::CancelGeolocationPermissionRequest( |
- content::WebContents* web_contents, |
- int bridge_id, |
- const GURL& requesting_frame) { |
+void GeolocationPermissionContext::CancelGeolocationPermissionRequest( |
+ int render_process_id, |
+ int render_view_id, |
+ int bridge_id) { |
+ content::WebContents* web_contents = tab_util::GetWebContentsByID( |
+ render_process_id, render_view_id); |
if (extensions_context_.CancelPermissionRequest(web_contents, bridge_id)) |
return; |
- int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
- int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
CancelPendingInfobarRequest(PermissionRequestID( |
render_process_id, render_view_id, bridge_id, GURL())); |
} |
-void ChromeGeolocationPermissionContext::DecidePermission( |
+void GeolocationPermissionContext::DecidePermission( |
content::WebContents* web_contents, |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
@@ -219,13 +225,13 @@ void ChromeGeolocationPermissionContext::DecidePermission( |
QueueController()->CreateInfoBarRequest( |
id, requesting_frame, embedder, accept_button_label, |
base::Bind( |
- &ChromeGeolocationPermissionContext::NotifyPermissionSet, |
+ &GeolocationPermissionContext::NotifyPermissionSet, |
base::Unretained(this), id, requesting_frame, callback)); |
} |
} |
} |
-void ChromeGeolocationPermissionContext::CreateInfoBarRequest( |
+void GeolocationPermissionContext::CreateInfoBarRequest( |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
const GURL& embedder, |
@@ -233,11 +239,11 @@ void ChromeGeolocationPermissionContext::CreateInfoBarRequest( |
base::Callback<void(bool)> callback) { |
QueueController()->CreateInfoBarRequest( |
id, requesting_frame, embedder, accept_button_label, base::Bind( |
- &ChromeGeolocationPermissionContext::NotifyPermissionSet, |
+ &GeolocationPermissionContext::NotifyPermissionSet, |
base::Unretained(this), id, requesting_frame, callback)); |
} |
-void ChromeGeolocationPermissionContext::RequestFinished( |
+void GeolocationPermissionContext::RequestFinished( |
GeolocationPermissionRequest* request) { |
base::ScopedPtrHashMap<std::string, |
GeolocationPermissionRequest>::iterator it; |
@@ -250,13 +256,13 @@ void ChromeGeolocationPermissionContext::RequestFinished( |
} |
-void ChromeGeolocationPermissionContext::ShutdownOnUIThread() { |
+void GeolocationPermissionContext::ShutdownOnUIThread() { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
permission_queue_controller_.reset(); |
shutting_down_ = true; |
} |
-void ChromeGeolocationPermissionContext::PermissionDecided( |
+void GeolocationPermissionContext::PermissionDecided( |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
const GURL& embedder, |
@@ -265,7 +271,7 @@ void ChromeGeolocationPermissionContext::PermissionDecided( |
NotifyPermissionSet(id, requesting_frame, callback, allowed); |
} |
-void ChromeGeolocationPermissionContext::NotifyPermissionSet( |
+void GeolocationPermissionContext::NotifyPermissionSet( |
const PermissionRequestID& id, |
const GURL& requesting_frame, |
base::Callback<void(bool)> callback, |
@@ -285,7 +291,7 @@ void ChromeGeolocationPermissionContext::NotifyPermissionSet( |
} |
PermissionQueueController* |
- ChromeGeolocationPermissionContext::QueueController() { |
+ GeolocationPermissionContext::QueueController() { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
DCHECK(!shutting_down_); |
if (!permission_queue_controller_) |
@@ -294,13 +300,13 @@ PermissionQueueController* |
} |
PermissionQueueController* |
- ChromeGeolocationPermissionContext::CreateQueueController() { |
+ GeolocationPermissionContext::CreateQueueController() { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
return new PermissionQueueController(profile(), |
CONTENT_SETTINGS_TYPE_GEOLOCATION); |
} |
-void ChromeGeolocationPermissionContext::CancelPendingInfobarRequest( |
+void GeolocationPermissionContext::CancelPendingInfobarRequest( |
const PermissionRequestID& id) { |
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
if (shutting_down_) |