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

Unified Diff: android_webview/browser/aw_content_browser_client.cc

Issue 955383003: ContentBrowserClient::RequestPermission replies with PermissionStatus instead of bool. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix android geolocation breakage Created 5 years, 10 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: android_webview/browser/aw_content_browser_client.cc
diff --git a/android_webview/browser/aw_content_browser_client.cc b/android_webview/browser/aw_content_browser_client.cc
index 0bddaf6468400279be9ef8948f357138ea191d81..fb89fc6fce098e947d1dae3dc437f1bf1ab53a86 100644
--- a/android_webview/browser/aw_content_browser_client.cc
+++ b/android_webview/browser/aw_content_browser_client.cc
@@ -139,7 +139,14 @@ class AwAccessTokenStore : public content::AccessTokenStore {
DISALLOW_COPY_AND_ASSIGN(AwAccessTokenStore);
};
-} // namespace
+void CallbackPermisisonStatusWrapper(
+ const base::Callback<void(content::PermissionStatus)>& callback,
+ bool allowed) {
+ callback.Run(allowed ? content::PERMISSION_STATUS_GRANTED
+ : content::PERMISSION_STATUS_DENIED);
+}
+
+} // anonymous namespace
std::string AwContentBrowserClient::GetAcceptLangsImpl() {
// Start with the currnet locale.
@@ -380,7 +387,7 @@ void AwContentBrowserClient::RequestPermission(
int bridge_id,
const GURL& requesting_frame,
bool user_gesture,
- const base::Callback<void(bool)>& result_callback) {
+ const base::Callback<void(content::PermissionStatus)>& callback) {
int render_process_id = web_contents->GetRenderProcessHost()->GetID();
int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID();
GURL origin = requesting_frame.GetOrigin();
@@ -391,19 +398,20 @@ void AwContentBrowserClient::RequestPermission(
case content::PERMISSION_GEOLOCATION:
if (!delegate) {
DVLOG(0) << "Dropping GeolocationPermission request";
- result_callback.Run(false);
+ callback.Run(content::PERMISSION_STATUS_DENIED);
return;
}
- delegate->RequestGeolocationPermission(origin, result_callback);
+ delegate->RequestGeolocationPermission(
+ origin, base::Bind(&CallbackPermisisonStatusWrapper, callback));
break;
case content::PERMISSION_PROTECTED_MEDIA_IDENTIFIER:
if (!delegate) {
DVLOG(0) << "Dropping ProtectedMediaIdentifierPermission request";
- result_callback.Run(false);
+ callback.Run(content::PERMISSION_STATUS_DENIED);
return;
}
- delegate->RequestProtectedMediaIdentifierPermission(origin,
- result_callback);
+ delegate->RequestProtectedMediaIdentifierPermission(
+ origin, base::Bind(&CallbackPermisisonStatusWrapper, callback));
break;
case content::PERMISSION_MIDI_SYSEX:
case content::PERMISSION_NOTIFICATIONS:

Powered by Google App Engine
This is Rietveld 408576698