Commit a4b8bcb7 authored by Chandan Padhi's avatar Chandan Padhi Committed by Commit Bot

Use url::Origin in RenderFrameHostDelegate::CheckMediaAccessPermission

This CL replaces GURL with url::Origin as |security_origin|'s type.

Bug: 683115
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I852bbd7e55ae210f32875408c6400e2057df7c5f
Reviewed-on: https://chromium-review.googlesource.com/643346Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Reviewed-by: default avatarGuido Urdaneta <guidou@chromium.org>
Commit-Queue: Chandan Padhi <c.padhi@samsung.com>
Cr-Commit-Position: refs/heads/master@{#501305}
parent 33e1b210
......@@ -11,6 +11,7 @@
#include "ipc/ipc_message.h"
#include "ui/gfx/native_widget_types.h"
#include "url/gurl.h"
#include "url/origin.h"
namespace content {
......@@ -50,7 +51,7 @@ void RenderFrameHostDelegate::RequestMediaAccessPermission(
}
bool RenderFrameHostDelegate::CheckMediaAccessPermission(
const GURL& security_origin,
const url::Origin& security_origin,
MediaStreamType type) {
LOG(ERROR) << "RenderFrameHostDelegate::CheckMediaAccessPermission: "
<< "Not supported.";
......
......@@ -175,8 +175,7 @@ class CONTENT_EXPORT RenderFrameHostDelegate {
// Checks if we have permission to access the microphone or camera. Note that
// this does not query the user. |type| must be MEDIA_DEVICE_AUDIO_CAPTURE
// or MEDIA_DEVICE_VIDEO_CAPTURE.
// TODO(guidou): use url::Origin for |security_origin|. See crbug.com/683115.
virtual bool CheckMediaAccessPermission(const GURL& security_origin,
virtual bool CheckMediaAccessPermission(const url::Origin& security_origin,
MediaStreamType type);
// Returns the ID of the default device for the given media device |type|.
......
......@@ -38,9 +38,7 @@ MediaDevicesManager::BoolDeviceTypes DoCheckPermissionsOnUIThread(
return MediaDevicesManager::BoolDeviceTypes();
RenderFrameHostDelegate* delegate = frame_host->delegate();
GURL origin = frame_host->GetLastCommittedOrigin().GetURL();
MediaDevicesManager::BoolDeviceTypes result;
url::Origin origin = frame_host->GetLastCommittedOrigin();
bool audio_permission =
delegate->CheckMediaAccessPermission(origin, MEDIA_DEVICE_AUDIO_CAPTURE);
bool mic_feature_policy = true;
......@@ -52,6 +50,7 @@ MediaDevicesManager::BoolDeviceTypes DoCheckPermissionsOnUIThread(
frame_host->IsFeatureEnabled(blink::WebFeaturePolicyFeature::kCamera);
}
MediaDevicesManager::BoolDeviceTypes result;
// Speakers.
// TODO(guidou): use specific permission for audio output when it becomes
// available. See http://crbug.com/556542.
......
......@@ -33,8 +33,7 @@ class MockRenderFrameHostDelegate : public RenderFrameHostDelegate {
void(const MediaStreamRequest& request,
const MediaResponseCallback& callback));
MOCK_METHOD2(CheckMediaAccessPermission,
bool(const GURL& security_origin,
MediaStreamType type));
bool(const url::Origin& security_origin, MediaStreamType type));
};
class MockResponseCallback {
......
......@@ -2646,12 +2646,13 @@ void WebContentsImpl::RequestMediaAccessPermission(
}
}
bool WebContentsImpl::CheckMediaAccessPermission(const GURL& security_origin,
MediaStreamType type) {
bool WebContentsImpl::CheckMediaAccessPermission(
const url::Origin& security_origin,
MediaStreamType type) {
DCHECK(type == MEDIA_DEVICE_AUDIO_CAPTURE ||
type == MEDIA_DEVICE_VIDEO_CAPTURE);
return delegate_ &&
delegate_->CheckMediaAccessPermission(this, security_origin, type);
return delegate_ && delegate_->CheckMediaAccessPermission(
this, security_origin.GetURL(), type);
}
std::string WebContentsImpl::GetDefaultMediaDeviceID(MediaStreamType type) {
......
......@@ -618,7 +618,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents,
void RequestMediaAccessPermission(
const MediaStreamRequest& request,
const MediaResponseCallback& callback) override;
bool CheckMediaAccessPermission(const GURL& security_origin,
bool CheckMediaAccessPermission(const url::Origin& security_origin,
MediaStreamType type) override;
std::string GetDefaultMediaDeviceID(MediaStreamType type) override;
SessionStorageNamespace* GetSessionStorageNamespace(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment