| Index: content/browser/renderer_host/media/media_stream_manager.cc
|
| diff --git a/content/browser/renderer_host/media/media_stream_manager.cc b/content/browser/renderer_host/media/media_stream_manager.cc
|
| index 66f0eb7e001439028fb9bcbe06db2df69e40c2b2..3c966e20e67fb5af4010c2c9011a5b0513bdff24 100644
|
| --- a/content/browser/renderer_host/media/media_stream_manager.cc
|
| +++ b/content/browser/renderer_host/media/media_stream_manager.cc
|
| @@ -258,7 +258,7 @@ class MediaStreamManager::DeviceRequest {
|
| requesting_process_id, requesting_frame_id, page_request_id,
|
| ConvertToGURL(security_origin), user_gesture, request_type,
|
| requested_audio_device_id, requested_video_device_id, audio_type_,
|
| - video_type_));
|
| + video_type_, controls.disable_local_echo));
|
| }
|
|
|
| // Creates a tab capture specific MediaStreamRequest object that is used by
|
| @@ -271,7 +271,7 @@ class MediaStreamManager::DeviceRequest {
|
| ui_request_.reset(new MediaStreamRequest(
|
| target_render_process_id, target_render_frame_id, page_request_id,
|
| ConvertToGURL(security_origin), user_gesture, request_type, "", "",
|
| - audio_type_, video_type_));
|
| + audio_type_, video_type_, controls.disable_local_echo));
|
| }
|
|
|
| bool HasUIRequest() const { return ui_request_.get() != nullptr; }
|
| @@ -1308,11 +1308,9 @@ bool MediaStreamManager::SetupTabCaptureRequest(DeviceRequest* request) {
|
| }
|
|
|
| // Customize controls for a WebContents based capture.
|
| - int target_render_process_id = 0;
|
| - int target_render_frame_id = 0;
|
| -
|
| - bool has_valid_device_id = WebContentsMediaCaptureId::ExtractTabCaptureTarget(
|
| - capture_device_id, &target_render_process_id, &target_render_frame_id);
|
| + content::WebContentsMediaCaptureId web_id;
|
| + bool has_valid_device_id =
|
| + WebContentsMediaCaptureId::Parse(capture_device_id, &web_id);
|
| if (!has_valid_device_id ||
|
| (request->audio_type() != MEDIA_TAB_AUDIO_CAPTURE &&
|
| request->audio_type() != MEDIA_NO_SERVICE) ||
|
| @@ -1320,16 +1318,19 @@ bool MediaStreamManager::SetupTabCaptureRequest(DeviceRequest* request) {
|
| request->video_type() != MEDIA_NO_SERVICE)) {
|
| return false;
|
| }
|
| - request->tab_capture_device_id = capture_device_id;
|
| + web_id.disable_local_echo = request->controls.disable_local_echo;
|
| +
|
| + request->tab_capture_device_id = web_id.ToString();
|
|
|
| - request->CreateTabCaptureUIRequest(target_render_process_id,
|
| - target_render_frame_id);
|
| + request->CreateTabCaptureUIRequest(web_id.render_process_id,
|
| + web_id.main_render_frame_id);
|
|
|
| DVLOG(3) << "SetupTabCaptureRequest "
|
| - << ", {capture_device_id = " << capture_device_id << "}"
|
| - << ", {target_render_process_id = " << target_render_process_id
|
| + << ", {capture_device_id = " << capture_device_id << "}"
|
| + << ", {target_render_process_id = " << web_id.render_process_id
|
| << "}"
|
| - << ", {target_render_frame_id = " << target_render_frame_id << "}";
|
| + << ", {target_render_frame_id = " << web_id.main_render_frame_id
|
| + << "}";
|
| return true;
|
| }
|
|
|
|
|