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

Unified Diff: android_webview/browser/aw_permission_manager.cc

Issue 2908133003: Split GetPermissionStatus into GetPermissionStatusForFrame/Worker
Patch Set: Split GetPermissionStatus into GetPermissionStatusForFrame/Worker Created 3 years, 6 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_permission_manager.cc
diff --git a/android_webview/browser/aw_permission_manager.cc b/android_webview/browser/aw_permission_manager.cc
index e6eafa0552eab261fa04272956fcd4b1d1e6d3de..15eea7df98189961bfa8aeeb017ffa9eb022f9b6 100644
--- a/android_webview/browser/aw_permission_manager.cc
+++ b/android_webview/browser/aw_permission_manager.cc
@@ -489,12 +489,15 @@ void AwPermissionManager::ResetPermission(PermissionType permission,
result_cache_->ClearResult(permission, requesting_origin, embedding_origin);
}
-PermissionStatus AwPermissionManager::GetPermissionStatus(
+PermissionStatus AwPermissionManager::GetPermissionStatusForFrame(
PermissionType permission,
- const GURL& requesting_origin,
- const GURL& embedding_origin) {
+ content::RenderFrameHost* render_frame_host,
+ const GURL& requesting_origin) {
// Method is called outside the Permissions API only for this permission.
if (permission == PermissionType::PROTECTED_MEDIA_IDENTIFIER) {
+ content::WebContents* web_contents =
+ content::WebContents::FromRenderFrameHost(render_frame_host);
+ GURL embedding_origin = web_contents->GetLastCommittedURL().GetOrigin();
return result_cache_->GetResult(permission, requesting_origin,
embedding_origin);
} else if (permission == PermissionType::MIDI) {
@@ -504,6 +507,15 @@ PermissionStatus AwPermissionManager::GetPermissionStatus(
return PermissionStatus::DENIED;
}
+PermissionStatus AwPermissionManager::GetPermissionStatusForWorker(
+ PermissionType permission,
+ const GURL& requesting_origin) {
+ // Only PROTECTED_MEDIA_IDENTIFIER and MIDI are ever granted by
+ // GetPermissionStatusForFrame and these can't be used from workers so just
+ // deny all permissions.
+ return PermissionStatus::DENIED;
+}
+
int AwPermissionManager::SubscribePermissionStatusChange(
PermissionType permission,
const GURL& requesting_origin,

Powered by Google App Engine
This is Rietveld 408576698