Index: android_webview/browser/hardware_renderer.cc |
diff --git a/android_webview/browser/hardware_renderer.cc b/android_webview/browser/hardware_renderer.cc |
index ea682cb99f9774c601e69ae382a1946a3a929677..4f37ce18dbf3263d19631367edd5545af731df05 100644 |
--- a/android_webview/browser/hardware_renderer.cc |
+++ b/android_webview/browser/hardware_renderer.cc |
@@ -167,7 +167,6 @@ void HardwareRenderer::DrawGL(AwDrawGLInfo* draw_info) { |
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_)); |
} |
@@ -177,9 +176,8 @@ void HardwareRenderer::DestroySurface() { |
// 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_->Destroy(child_id_); |
+ surface_factory_->EvictSurface(); |
child_id_ = cc::LocalFrameId(); |
} |