| Index: android_webview/browser/hardware_renderer.cc
|
| diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc
|
| index b1405bef17cbf53c8174f7c6edf12188e4d639f1..4a1f37cbe6c17cfb3f85169d344a4d73be11bb0f 100644
|
| --- a/android_webview/browser/hardware_renderer.cc
|
| +++ b/android_webview/browser/hardware_renderer.cc
|
| @@ -27,10 +27,13 @@ HardwareRenderer::HardwareRenderer(RenderThreadManager* state)
|
| : render_thread_manager_(state),
|
| last_egl_context_(eglGetCurrentContext()),
|
| surfaces_(SurfacesInstance::GetOrCreateInstance()),
|
| - surface_id_allocator_(surfaces_->CreateSurfaceIdAllocator()),
|
| + surface_id_allocator_(
|
| + new cc::SurfaceIdAllocator(surfaces_->AllocateSurfaceClientId())),
|
| last_committed_output_surface_id_(0u),
|
| last_submitted_output_surface_id_(0u) {
|
| DCHECK(last_egl_context_);
|
| + surfaces_->GetSurfaceManager()->RegisterSurfaceClientId(
|
| + surface_id_allocator_->client_id());
|
| surfaces_->GetSurfaceManager()->RegisterSurfaceFactoryClient(
|
| surface_id_allocator_->client_id(), this);
|
| }
|
| @@ -43,6 +46,8 @@ HardwareRenderer::~HardwareRenderer() {
|
| surface_factory_.reset();
|
| surfaces_->GetSurfaceManager()->UnregisterSurfaceFactoryClient(
|
| surface_id_allocator_->client_id());
|
| + surfaces_->GetSurfaceManager()->InvalidateSurfaceClientId(
|
| + surface_id_allocator_->client_id());
|
|
|
| // Reset draw constraints.
|
| render_thread_manager_->PostExternalDrawConstraintsToChildCompositorOnRT(
|
|
|