Index: content/renderer/android/synchronous_compositor_frame_sink.cc |
diff --git a/content/renderer/android/synchronous_compositor_frame_sink.cc b/content/renderer/android/synchronous_compositor_frame_sink.cc |
index b6bbf340b869734fd9dc4f0ddc865d494d78e323..570b53597c49b84327812e22df9244f51f330e0e 100644 |
--- a/content/renderer/android/synchronous_compositor_frame_sink.cc |
+++ b/content/renderer/android/synchronous_compositor_frame_sink.cc |
@@ -118,7 +118,7 @@ SynchronousCompositorFrameSink::SynchronousCompositorFrameSink( |
memory_policy_(0u), |
frame_swap_message_queue_(frame_swap_message_queue), |
surface_manager_(new cc::SurfaceManager), |
- surface_id_allocator_(new cc::SurfaceIdAllocator(kFrameSinkId)), |
+ surface_id_allocator_(new cc::SurfaceIdAllocator()), |
surface_factory_( |
new cc::SurfaceFactory(kFrameSinkId, surface_manager_.get(), this)), |
begin_frame_source_(std::move(begin_frame_source)) { |
@@ -197,9 +197,9 @@ void SynchronousCompositorFrameSink::DetachFromClient() { |
if (registered_) |
registry_->UnregisterCompositorFrameSink(routing_id_, this); |
client_->SetTreeActivationCallback(base::Closure()); |
- if (!root_surface_id_.is_null()) { |
- surface_factory_->Destroy(root_surface_id_); |
- surface_factory_->Destroy(child_surface_id_); |
+ if (!root_local_frame_id_.is_null()) { |
+ surface_factory_->Destroy(root_local_frame_id_); |
+ surface_factory_->Destroy(child_local_frame_id_); |
} |
surface_manager_->UnregisterSurfaceFactoryClient(kFrameSinkId); |
surface_manager_->InvalidateFrameSinkId(kFrameSinkId); |
@@ -233,14 +233,14 @@ void SynchronousCompositorFrameSink::SwapBuffers(cc::CompositorFrame frame) { |
// the |frame| for the software path below. |
swap_frame.metadata = frame.metadata.Clone(); |
- if (root_surface_id_.is_null()) { |
- root_surface_id_ = surface_id_allocator_->GenerateId(); |
- surface_factory_->Create(root_surface_id_); |
- child_surface_id_ = surface_id_allocator_->GenerateId(); |
- surface_factory_->Create(child_surface_id_); |
+ if (root_local_frame_id_.is_null()) { |
+ root_local_frame_id_ = surface_id_allocator_->GenerateId(); |
+ surface_factory_->Create(root_local_frame_id_); |
+ child_local_frame_id_ = surface_id_allocator_->GenerateId(); |
+ surface_factory_->Create(child_local_frame_id_); |
} |
- display_->SetSurfaceId(root_surface_id_, |
+ display_->SetSurfaceId(cc::SurfaceId(kFrameSinkId, root_local_frame_id_), |
frame.metadata.device_scale_factor); |
// The layer compositor should be giving a frame that covers the |
@@ -288,11 +288,12 @@ void SynchronousCompositorFrameSink::SwapBuffers(cc::CompositorFrame frame) { |
gfx::Rect() /* clip_rect */, false /* is_clipped */, 1.f /* opacity */, |
SkXfermode::kSrcOver_Mode, 0 /* sorting_context_id */); |
surface_quad->SetNew(shared_quad_state, gfx::Rect(child_size), |
- gfx::Rect(child_size), child_surface_id_); |
+ gfx::Rect(child_size), |
+ cc::SurfaceId(kFrameSinkId, child_local_frame_id_)); |
- surface_factory_->SubmitCompositorFrame(child_surface_id_, std::move(frame), |
- base::Bind(&NoOpDrawCallback)); |
- surface_factory_->SubmitCompositorFrame(root_surface_id_, |
+ surface_factory_->SubmitCompositorFrame( |
+ child_local_frame_id_, std::move(frame), base::Bind(&NoOpDrawCallback)); |
+ surface_factory_->SubmitCompositorFrame(root_local_frame_id_, |
std::move(embed_frame), |
base::Bind(&NoOpDrawCallback)); |
display_->DrawAndSwap(); |