Index: content/browser/android/in_process/synchronous_compositor_impl.cc |
diff --git a/content/browser/android/in_process/synchronous_compositor_impl.cc b/content/browser/android/in_process/synchronous_compositor_impl.cc |
index ed99e093220ca1a8fbf1fe94c52bcdeca62fed22..1b06e510faaf0824d5b8e2bbe1f6162306427f78 100644 |
--- a/content/browser/android/in_process/synchronous_compositor_impl.cc |
+++ b/content/browser/android/in_process/synchronous_compositor_impl.cc |
@@ -150,7 +150,7 @@ void SynchronousCompositorImpl::DidDestroyRendererObjects() { |
need_animate_input_ = false; |
} |
-scoped_ptr<cc::CompositorFrame> SynchronousCompositorImpl::DemandDrawHw( |
+SynchronousCompositor::Frame SynchronousCompositorImpl::DemandDrawHw( |
const gfx::Size& surface_size, |
const gfx::Transform& transform, |
const gfx::Rect& viewport, |
@@ -160,45 +160,48 @@ scoped_ptr<cc::CompositorFrame> SynchronousCompositorImpl::DemandDrawHw( |
DCHECK(CalledOnValidThread()); |
DCHECK(output_surface_); |
DCHECK(begin_frame_source_); |
- DCHECK(!frame_holder_); |
+ DCHECK(!frame_holder_.frame); |
output_surface_->DemandDrawHw(surface_size, transform, viewport, clip, |
viewport_rect_for_tile_priority, |
transform_for_tile_priority); |
- if (frame_holder_) |
- UpdateFrameMetaData(frame_holder_->metadata); |
+ if (frame_holder_.frame) |
+ UpdateFrameMetaData(frame_holder_.frame->metadata); |
return std::move(frame_holder_); |
} |
void SynchronousCompositorImpl::ReturnResources( |
+ uint32_t output_surface_id, |
const cc::CompositorFrameAck& frame_ack) { |
DCHECK(CalledOnValidThread()); |
- output_surface_->ReturnResources(frame_ack); |
+ output_surface_->ReturnResources(output_surface_id, frame_ack); |
} |
bool SynchronousCompositorImpl::DemandDrawSw(SkCanvas* canvas) { |
DCHECK(CalledOnValidThread()); |
DCHECK(output_surface_); |
DCHECK(begin_frame_source_); |
- DCHECK(!frame_holder_); |
+ DCHECK(!frame_holder_.frame); |
output_surface_->DemandDrawSw(canvas); |
- bool success = !!frame_holder_; |
- if (frame_holder_) { |
- UpdateFrameMetaData(frame_holder_->metadata); |
- frame_holder_.reset(); |
+ bool success = !!frame_holder_.frame; |
+ if (frame_holder_.frame) { |
+ UpdateFrameMetaData(frame_holder_.frame->metadata); |
+ frame_holder_.frame.reset(); |
} |
return success; |
} |
-void SynchronousCompositorImpl::SwapBuffers(cc::CompositorFrame* frame) { |
- DCHECK(!frame_holder_); |
- frame_holder_.reset(new cc::CompositorFrame); |
- frame->AssignTo(frame_holder_.get()); |
+void SynchronousCompositorImpl::SwapBuffers(uint32_t output_surface_id, |
+ cc::CompositorFrame* frame) { |
+ DCHECK(!frame_holder_.frame); |
+ frame_holder_.output_surface_id = output_surface_id; |
+ frame_holder_.frame.reset(new cc::CompositorFrame); |
+ frame->AssignTo(frame_holder_.frame.get()); |
} |
void SynchronousCompositorImpl::UpdateFrameMetaData( |