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

Side by Side Diff: content/browser/media/capture/web_contents_video_capture_device.cc

Issue 2553763002: Fix cursor missing in tabCapture on OSX Sierra (Closed)
Patch Set: address comments and implement mouse tracking on Mac Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Implementation notes: This needs to work on a variety of hardware 5 // Implementation notes: This needs to work on a variety of hardware
6 // configurations where the speed of the CPU and GPU greatly affect overall 6 // configurations where the speed of the CPU and GPU greatly affect overall
7 // performance. Spanning several threads, the process of capturing has been 7 // performance. Spanning several threads, the process of capturing has been
8 // split up into four conceptual stages: 8 // split up into four conceptual stages:
9 // 9 //
10 // 1. Reserve Buffer: Before a frame can be captured, a slot in the client's 10 // 1. Reserve Buffer: Before a frame can be captured, a slot in the client's
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 // on success. 367 // on success.
368 if (success) { 368 if (success) {
369 DCHECK_CURRENTLY_ON(BrowserThread::UI); 369 DCHECK_CURRENTLY_ON(BrowserThread::UI);
370 // TODO(isheriff): Unclear if taking a snapshot of cursor here affects user 370 // TODO(isheriff): Unclear if taking a snapshot of cursor here affects user
371 // experience in any particular scenarios. Doing it prior to capture may 371 // experience in any particular scenarios. Doing it prior to capture may
372 // require evaluating region_in_frame in this file. 372 // require evaluating region_in_frame in this file.
373 if (frame_subscriber_ && frame_subscriber_->cursor_renderer_) { 373 if (frame_subscriber_ && frame_subscriber_->cursor_renderer_) {
374 CursorRenderer* cursor_renderer = 374 CursorRenderer* cursor_renderer =
375 frame_subscriber_->cursor_renderer_.get(); 375 frame_subscriber_->cursor_renderer_.get();
376 if (cursor_renderer->SnapshotCursorState(region_in_frame)) 376 if (cursor_renderer->SnapshotCursorState(region_in_frame))
377 cursor_renderer->RenderOnVideoFrame(frame); 377 cursor_renderer->RenderOnVideoFrame(frame.get());
378 frame->metadata()->SetBoolean( 378 frame->metadata()->SetBoolean(
379 media::VideoFrameMetadata::INTERACTIVE_CONTENT, 379 media::VideoFrameMetadata::INTERACTIVE_CONTENT,
380 frame_subscriber_->IsUserInteractingWithContent()); 380 frame_subscriber_->IsUserInteractingWithContent());
381 } 381 }
382 } 382 }
383 capture_frame_cb.Run(std::move(frame), timestamp, success); 383 capture_frame_cb.Run(std::move(frame), timestamp, success);
384 } 384 }
385 385
386 bool FrameSubscriber::IsUserInteractingWithContent() { 386 bool FrameSubscriber::IsUserInteractingWithContent() {
387 bool interactive_mode = false; 387 bool interactive_mode = false;
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
956 void WebContentsVideoCaptureDevice::StopAndDeAllocate() { 956 void WebContentsVideoCaptureDevice::StopAndDeAllocate() {
957 core_->StopAndDeAllocate(); 957 core_->StopAndDeAllocate();
958 } 958 }
959 959
960 void WebContentsVideoCaptureDevice::OnUtilizationReport(int frame_feedback_id, 960 void WebContentsVideoCaptureDevice::OnUtilizationReport(int frame_feedback_id,
961 double utilization) { 961 double utilization) {
962 core_->OnConsumerReportingUtilization(frame_feedback_id, utilization); 962 core_->OnConsumerReportingUtilization(frame_feedback_id, utilization);
963 } 963 }
964 964
965 } // namespace content 965 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698