Index: content/browser/devtools/protocol/page_handler.cc |
diff --git a/content/browser/devtools/protocol/page_handler.cc b/content/browser/devtools/protocol/page_handler.cc |
index d472554b9e3ce1f415166559a8743ef171160182..c3d6c98e2e29c8b59bbc54adcb697174a5b4528e 100644 |
--- a/content/browser/devtools/protocol/page_handler.cc |
+++ b/content/browser/devtools/protocol/page_handler.cc |
@@ -145,8 +145,8 @@ void PageHandler::Detached() { |
} |
void PageHandler::OnSwapCompositorFrame( |
- const cc::CompositorFrameMetadata& frame_metadata) { |
- last_compositor_frame_metadata_ = frame_metadata; |
+ cc::CompositorFrameMetadata frame_metadata) { |
+ last_compositor_frame_metadata_ = std::move(frame_metadata); |
has_compositor_frame_metadata_ = true; |
if (screencast_enabled_) |
@@ -155,10 +155,16 @@ void PageHandler::OnSwapCompositorFrame( |
} |
void PageHandler::OnSynchronousSwapCompositorFrame( |
- const cc::CompositorFrameMetadata& frame_metadata) { |
- last_compositor_frame_metadata_ = has_compositor_frame_metadata_ ? |
- next_compositor_frame_metadata_ : frame_metadata; |
- next_compositor_frame_metadata_ = frame_metadata; |
+ cc::CompositorFrameMetadata frame_metadata) { |
+ if (has_compositor_frame_metadata_) { |
+ last_compositor_frame_metadata_ = |
+ std::move(next_compositor_frame_metadata_); |
+ next_compositor_frame_metadata_ = std::move(frame_metadata); |
+ } else { |
+ last_compositor_frame_metadata_ = std::move(frame_metadata); |
danakj
2016/06/24 21:45:18
nit: you could keep the next_cfm part outside the
Fady Samuel
2016/06/24 22:24:37
Done.
|
+ next_compositor_frame_metadata_ = last_compositor_frame_metadata_.Clone(); |
+ } |
+ |
has_compositor_frame_metadata_ = true; |
if (screencast_enabled_) |
@@ -425,11 +431,10 @@ void PageHandler::InnerSwapCompositorFrame() { |
if (snapshot_size_dip.width() > 0 && snapshot_size_dip.height() > 0) { |
gfx::Rect viewport_bounds_dip(gfx::ToRoundedSize(viewport_size_dip)); |
view->CopyFromCompositingSurface( |
- viewport_bounds_dip, |
- snapshot_size_dip, |
+ viewport_bounds_dip, snapshot_size_dip, |
base::Bind(&PageHandler::ScreencastFrameCaptured, |
weak_factory_.GetWeakPtr(), |
- last_compositor_frame_metadata_), |
+ last_compositor_frame_metadata_.Clone()), |
danakj
2016/06/24 21:45:18
use base::Passed( of Clone()) here
Fady Samuel
2016/06/24 22:24:37
Done.
|
kN32_SkColorType); |
frames_in_flight_++; |
} |
@@ -451,12 +456,12 @@ void PageHandler::ScreencastFrameCaptured( |
return; |
} |
base::PostTaskAndReplyWithResult( |
- base::WorkerPool::GetTaskRunner(true).get(), |
- FROM_HERE, |
- base::Bind(&EncodeScreencastFrame, |
- bitmap, screencast_format_, screencast_quality_), |
+ base::WorkerPool::GetTaskRunner(true).get(), FROM_HERE, |
+ base::Bind(&EncodeScreencastFrame, bitmap, screencast_format_, |
+ screencast_quality_), |
base::Bind(&PageHandler::ScreencastFrameEncoded, |
- weak_factory_.GetWeakPtr(), metadata, base::Time::Now())); |
+ weak_factory_.GetWeakPtr(), metadata.Clone(), |
danakj
2016/06/24 21:45:18
use base::Passed(&metadata) here,
then you avoid
Fady Samuel
2016/06/24 22:24:37
Done.
|
+ base::Time::Now())); |
} |
void PageHandler::ScreencastFrameEncoded( |