diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index a0cc3059bc6..2f77ffa0d92 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -2011,13 +2011,11 @@ impl IOCompositor { } } - pub fn cache_unused_buffers(&mut self, buffers: Vec>) { - if !buffers.is_empty() { - let surfaces = buffers.into_iter().map(|buffer| { - buffer.native_surface - }).collect(); - self.surface_map.insert_surfaces(&self.native_display, surfaces); - } + pub fn cache_unused_buffers(&mut self, buffers: B) + where B: IntoIterator> + { + let surfaces = buffers.into_iter().map(|buffer| buffer.native_surface); + self.surface_map.insert_surfaces(&self.native_display, surfaces); } #[allow(dead_code)] diff --git a/components/compositing/surface_map.rs b/components/compositing/surface_map.rs index b773cd86e97..09a3b733dd9 100644 --- a/components/compositing/surface_map.rs +++ b/components/compositing/surface_map.rs @@ -68,7 +68,9 @@ impl SurfaceMap { } } - pub fn insert_surfaces(&mut self, display: &NativeDisplay, surfaces: Vec) { + pub fn insert_surfaces(&mut self, display: &NativeDisplay, surfaces: I) + where I: IntoIterator + { for surface in surfaces { self.insert(display, surface); }