Index: android_webview/browser/surfaces_instance.cc |
diff --git a/android_webview/browser/surfaces_instance.cc b/android_webview/browser/surfaces_instance.cc |
index 8f99bb22c6b184a0cfb724a271b014cc26d3a5f3..82d1ea51b432114f80f961af8cd8b39b9af8190d 100644 |
--- a/android_webview/browser/surfaces_instance.cc |
+++ b/android_webview/browser/surfaces_instance.cc |
@@ -38,7 +38,8 @@ scoped_refptr<SurfacesInstance> SurfacesInstance::GetOrCreateInstance() { |
return make_scoped_refptr(new SurfacesInstance); |
} |
-SurfacesInstance::SurfacesInstance() : next_frame_sink_id_(1u) { |
+SurfacesInstance::SurfacesInstance() |
+ : next_client_id_(1u), frame_sink_id_(AllocateFrameSinkId()) { |
cc::RendererSettings settings; |
// Should be kept in sync with compositor_impl_android.cc. |
@@ -49,9 +50,8 @@ SurfacesInstance::SurfacesInstance() : next_frame_sink_id_(1u) { |
settings.should_clear_root_render_pass = false; |
surface_manager_.reset(new cc::SurfaceManager); |
- surface_id_allocator_.reset(new cc::SurfaceIdAllocator( |
- cc::FrameSinkId(next_frame_sink_id_++, 0 /* frame_sink_id */))); |
- surface_manager_->RegisterFrameSinkId(surface_id_allocator_->frame_sink_id()); |
+ surface_id_allocator_.reset(new cc::SurfaceIdAllocator(frame_sink_id_)); |
+ surface_manager_->RegisterFrameSinkId(frame_sink_id_); |
std::unique_ptr<cc::BeginFrameSource> begin_frame_source( |
new cc::StubBeginFrameSource); |
@@ -70,11 +70,11 @@ SurfacesInstance::SurfacesInstance() : next_frame_sink_id_(1u) { |
nullptr /* gpu_memory_buffer_manager */, settings, |
std::move(begin_frame_source), std::move(output_surface_holder), |
std::move(scheduler), std::move(texture_mailbox_deleter))); |
- display_->Initialize(this, surface_manager_.get(), |
- surface_id_allocator_->frame_sink_id()); |
+ display_->Initialize(this, surface_manager_.get(), frame_sink_id_); |
display_->SetVisible(true); |
- surface_factory_.reset(new cc::SurfaceFactory(surface_manager_.get(), this)); |
+ surface_factory_.reset( |
+ new cc::SurfaceFactory(frame_sink_id_, surface_manager_.get(), this)); |
DCHECK(!g_surfaces_instance); |
g_surfaces_instance = this; |
@@ -89,12 +89,11 @@ SurfacesInstance::~SurfacesInstance() { |
if (!root_id_.is_null()) |
surface_factory_->Destroy(root_id_); |
- surface_manager_->InvalidateFrameSinkId( |
- surface_id_allocator_->frame_sink_id()); |
+ surface_manager_->InvalidateFrameSinkId(frame_sink_id_); |
} |
cc::FrameSinkId SurfacesInstance::AllocateFrameSinkId() { |
- return cc::FrameSinkId(next_frame_sink_id_++, 0 /* sink_id */); |
+ return cc::FrameSinkId(next_client_id_++, 0 /* sink_id */); |
} |
cc::SurfaceManager* SurfacesInstance::GetSurfaceManager() { |