Index: services/ui/ws/server_window_compositor_frame_sink.cc |
diff --git a/services/ui/ws/server_window_compositor_frame_sink.cc b/services/ui/ws/server_window_compositor_frame_sink.cc |
index 7cb88a4162730ce4e5284a549fcbbf35d13e0ef1..2d6a2a338cc159e77b339a5d97d23add47f33a18 100644 |
--- a/services/ui/ws/server_window_compositor_frame_sink.cc |
+++ b/services/ui/ws/server_window_compositor_frame_sink.cc |
@@ -52,7 +52,7 @@ ServerWindowCompositorFrameSink::~ServerWindowCompositorFrameSink() { |
// SurfaceFactory's destructor will attempt to return resources which will |
// call back into here and access |client_| so we should destroy |
// |surface_factory_|'s resources early on. |
- surface_factory_.DestroyAll(); |
+ surface_factory_.Reset(); |
display_compositor_->manager()->UnregisterSurfaceFactoryClient( |
frame_sink_id_); |
display_compositor_->manager()->InvalidateFrameSinkId(frame_sink_id_); |
@@ -70,10 +70,7 @@ void ServerWindowCompositorFrameSink::SubmitCompositorFrame( |
// If the size of the CompostiorFrame has changed then destroy the existing |
// Surface and create a new one of the appropriate size. |
if (!local_frame_id_.is_valid() || frame_size != last_submitted_frame_size_) { |
- if (local_frame_id_.is_valid()) |
- surface_factory_.Destroy(local_frame_id_); |
local_frame_id_ = surface_id_allocator_.GenerateId(); |
- surface_factory_.Create(local_frame_id_); |
if (display_) |
display_->Resize(frame_size); |
} |