Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index 4f37ce18dbf3263d19631367edd5545af731df05..ea682cb99f9774c601e69ae382a1946a3a929677 100644 |
--- a/android_webview/browser/hardware_renderer.cc |
+++ b/android_webview/browser/hardware_renderer.cc |
@@ -167,6 +167,7 @@ |
void HardwareRenderer::AllocateSurface() { |
DCHECK(!child_id_.is_valid()); |
child_id_ = surface_id_allocator_->GenerateId(); |
+ surface_factory_->Create(child_id_); |
surfaces_->AddChildId(cc::SurfaceId(frame_sink_id_, child_id_)); |
} |
@@ -176,8 +177,9 @@ |
// Submit an empty frame to force any existing resources to be returned. |
surface_factory_->SubmitCompositorFrame(child_id_, cc::CompositorFrame(), |
cc::SurfaceFactory::DrawCallback()); |
+ |
surfaces_->RemoveChildId(cc::SurfaceId(frame_sink_id_, child_id_)); |
- surface_factory_->EvictSurface(); |
+ surface_factory_->Destroy(child_id_); |
child_id_ = cc::LocalFrameId(); |
} |