| 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 2f3153a40335cfbbcd38aac3d863e340dbb7f25a..1adbf9f883859c2f036d25e87c44c7847ec3690d 100644
|
| --- a/android_webview/browser/aw_permission_manager.cc
|
| +++ b/android_webview/browser/aw_permission_manager.cc
|
| @@ -25,8 +25,8 @@ class LastRequestResultCache {
|
| LastRequestResultCache() = default;
|
|
|
| void SetResult(PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin,
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin,
|
| PermissionStatus status) {
|
| DCHECK(status == content::PermissionStatus::GRANTED ||
|
| status == content::PermissionStatus::DENIED);
|
| @@ -62,8 +62,8 @@ class LastRequestResultCache {
|
| }
|
|
|
| PermissionStatus GetResult(PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin) const {
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) const {
|
| // TODO(ddorwin): We should be denying empty origins at a higher level.
|
| if (requesting_origin.is_empty() || embedding_origin.is_empty()) {
|
| return content::PermissionStatus::ASK;
|
| @@ -91,8 +91,8 @@ class LastRequestResultCache {
|
| }
|
|
|
| void ClearResult(PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin) {
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) {
|
| // TODO(ddorwin): We should be denying empty origins at a higher level.
|
| if (requesting_origin.is_empty() || embedding_origin.is_empty()) {
|
| return;
|
| @@ -116,8 +116,8 @@ class LastRequestResultCache {
|
| private:
|
| // Returns a concatenation of the origins to be used as the index.
|
| // Returns the empty string if either origin is invalid or empty.
|
| - static std::string GetCacheKey(const GURL& requesting_origin,
|
| - const GURL& embedding_origin) {
|
| + static std::string GetCacheKey(const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) {
|
| const std::string& requesting = requesting_origin.spec();
|
| const std::string& embedding = embedding_origin.spec();
|
| if (requesting.empty() || embedding.empty())
|
| @@ -134,23 +134,22 @@ class LastRequestResultCache {
|
| struct AwPermissionManager::PendingRequest {
|
| public:
|
| PendingRequest(PermissionType permission,
|
| - GURL requesting_origin,
|
| - GURL embedding_origin,
|
| + url::Origin requesting_origin,
|
| + url::Origin embedding_origin,
|
| content::RenderFrameHost* render_frame_host,
|
| const base::Callback<void(PermissionStatus)>& callback)
|
| - : permission(permission),
|
| - requesting_origin(requesting_origin),
|
| - embedding_origin(embedding_origin),
|
| - render_process_id(render_frame_host->GetProcess()->GetID()),
|
| - render_frame_id(render_frame_host->GetRoutingID()),
|
| - callback(callback) {
|
| - }
|
| + : permission(permission),
|
| + requesting_origin(requesting_origin),
|
| + embedding_origin(embedding_origin),
|
| + render_process_id(render_frame_host->GetProcess()->GetID()),
|
| + render_frame_id(render_frame_host->GetRoutingID()),
|
| + callback(callback) {}
|
|
|
| ~PendingRequest() = default;
|
|
|
| PermissionType permission;
|
| - GURL requesting_origin;
|
| - GURL embedding_origin;
|
| + url::Origin requesting_origin;
|
| + url::Origin embedding_origin;
|
| int render_process_id;
|
| int render_frame_id;
|
| base::Callback<void(PermissionStatus)> callback;
|
| @@ -168,7 +167,7 @@ AwPermissionManager::~AwPermissionManager() {
|
| int AwPermissionManager::RequestPermission(
|
| PermissionType permission,
|
| content::RenderFrameHost* render_frame_host,
|
| - const GURL& requesting_origin,
|
| + const url::Origin& requesting_origin,
|
| const base::Callback<void(PermissionStatus)>& callback) {
|
| int render_process_id = render_frame_host->GetProcess()->GetID();
|
| int render_frame_id = render_frame_host->GetRoutingID();
|
| @@ -192,9 +191,10 @@ int AwPermissionManager::RequestPermission(
|
| }
|
| }
|
|
|
| - const GURL& embedding_origin =
|
| + const url::Origin& embedding_origin =
|
| content::WebContents::FromRenderFrameHost(render_frame_host)
|
| - ->GetLastCommittedURL().GetOrigin();
|
| + ->GetLastCommittedURL()
|
| + .GetOrigin();
|
|
|
| int request_id = kNoPendingOperation;
|
| switch (permission) {
|
| @@ -261,15 +261,16 @@ int AwPermissionManager::RequestPermission(
|
| int AwPermissionManager::RequestPermissions(
|
| const std::vector<PermissionType>& permissions,
|
| content::RenderFrameHost* render_frame_host,
|
| - const GURL& requesting_origin,
|
| - const base::Callback<void(
|
| - const std::vector<PermissionStatus>&)>& callback) {
|
| + const url::Origin& requesting_origin,
|
| + const base::Callback<void(const std::vector<PermissionStatus>&)>&
|
| + callback) {
|
| NOTIMPLEMENTED() << "RequestPermissions has not been implemented in WebView";
|
|
|
| std::vector<PermissionStatus> result(permissions.size());
|
| - const GURL& embedding_origin =
|
| + const url::Origin& embedding_origin =
|
| content::WebContents::FromRenderFrameHost(render_frame_host)
|
| - ->GetLastCommittedURL().GetOrigin();
|
| + ->GetLastCommittedURL()
|
| + .GetOrigin();
|
|
|
| for (PermissionType type : permissions) {
|
| result.push_back(GetPermissionStatus(
|
| @@ -327,8 +328,8 @@ void AwPermissionManager::CancelPermissionRequest(int request_id) {
|
| // The caller is canceling (presumably) the most recent request. Assuming the
|
| // request did not complete, the user did not respond to the requset.
|
| // Thus, assume we do not know the result.
|
| - const GURL& embedding_origin = web_contents
|
| - ->GetLastCommittedURL().GetOrigin();
|
| + const url::Origin& embedding_origin =
|
| + web_contents->GetLastCommittedURL().GetOrigin();
|
| result_cache_->ClearResult(
|
| pending_request->permission,
|
| pending_request->requesting_origin,
|
| @@ -377,15 +378,15 @@ void AwPermissionManager::CancelPermissionRequest(int request_id) {
|
| }
|
|
|
| void AwPermissionManager::ResetPermission(PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin) {
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) {
|
| result_cache_->ClearResult(permission, requesting_origin, embedding_origin);
|
| }
|
|
|
| PermissionStatus AwPermissionManager::GetPermissionStatus(
|
| PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin) {
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) {
|
| // Method is called outside the Permissions API only for this permission.
|
| if (permission == PermissionType::PROTECTED_MEDIA_IDENTIFIER) {
|
| return result_cache_->GetResult(permission, requesting_origin,
|
| @@ -399,14 +400,13 @@ PermissionStatus AwPermissionManager::GetPermissionStatus(
|
|
|
| void AwPermissionManager::RegisterPermissionUsage(
|
| PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin) {
|
| -}
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin) {}
|
|
|
| int AwPermissionManager::SubscribePermissionStatusChange(
|
| PermissionType permission,
|
| - const GURL& requesting_origin,
|
| - const GURL& embedding_origin,
|
| + const url::Origin& requesting_origin,
|
| + const url::Origin& embedding_origin,
|
| const base::Callback<void(PermissionStatus)>& callback) {
|
| return kNoPendingOperation;
|
| }
|
|
|