| Index: chrome/browser/media/tab_capture_access_handler.cc
|
| diff --git a/chrome/browser/media/tab_capture_access_handler.cc b/chrome/browser/media/tab_capture_access_handler.cc
|
| index 50d05424c848217b059407b6cecd8cad1db738e3..d87e47b7d31db943409eb5f64fbbd9923b419f5a 100644
|
| --- a/chrome/browser/media/tab_capture_access_handler.cc
|
| +++ b/chrome/browser/media/tab_capture_access_handler.cc
|
| @@ -13,8 +13,11 @@
|
| #include "content/public/browser/web_contents.h"
|
| #include "extensions/common/permissions/permissions_data.h"
|
|
|
| -TabCaptureAccessHandler::TabCaptureAccessHandler() {
|
| -}
|
| +TabCaptureAccessHandler::TabCaptureAccessHandler()
|
| + : render_process_id_(-1),
|
| + render_frame_id_(-1),
|
| + is_capturing_link_secure_(false),
|
| + extension_whitelisted_(false) {}
|
|
|
| TabCaptureAccessHandler::~TabCaptureAccessHandler() {
|
| }
|
| @@ -78,8 +81,44 @@ void TabCaptureAccessHandler::HandleRequest(
|
| ui = MediaCaptureDevicesDispatcher::GetInstance()
|
| ->GetMediaStreamCaptureIndicator()
|
| ->RegisterMediaStream(web_contents, devices);
|
| + render_process_id_ = request.render_process_id;
|
| + render_frame_id_ = request.render_frame_id;
|
| }
|
| + extension_whitelisted_ = MediaCaptureDevicesDispatcher::IsOriginForCasting(
|
| + request.security_origin);
|
| callback.Run(devices, devices.empty() ? content::MEDIA_DEVICE_INVALID_STATE
|
| : content::MEDIA_DEVICE_OK,
|
| std::move(ui));
|
| }
|
| +
|
| +bool TabCaptureAccessHandler::IsCaptureInProgress(int render_process_id,
|
| + int render_frame_id,
|
| + bool* is_link_secure) {
|
| + if ((render_frame_id == render_frame_id_) &&
|
| + (render_process_id == render_process_id_)) {
|
| + *is_link_secure = is_capturing_link_secure_ && extension_whitelisted_;
|
| + return true;
|
| + }
|
| + *is_link_secure = false;
|
| + return false;
|
| +}
|
| +
|
| +void TabCaptureAccessHandler::UpdateCapturingLinkSecured(
|
| + int render_process_id,
|
| + int render_frame_id,
|
| + int page_request_id,
|
| + content::MediaStreamType stream_type,
|
| + bool is_secure) {
|
| + if (stream_type != content::MEDIA_TAB_VIDEO_CAPTURE ||
|
| + render_process_id != render_process_id_ ||
|
| + render_frame_id != render_frame_id_) {
|
| + return;
|
| + }
|
| +
|
| + is_capturing_link_secure_ = is_secure;
|
| +
|
| + VLOG(1) << "TabCaptureAccessHandler:"
|
| + << " render_process_id: " << render_process_id
|
| + << " render_frame_id: " << render_frame_id
|
| + << " is_capturing_link_secure_: " << is_secure;
|
| +}
|
|
|