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 803e4a0c806f9f1bd177ec0c81a6375a1d071d42..9318726a6c94619e7c87d144162d6c48c907153f 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); |
} |