diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 60b64a03047..653fb219447 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -1786,12 +1786,15 @@ impl IOCompositor { fn tick_animations_for_pipeline(&mut self, pipeline_id: PipelineId) { self.schedule_delayed_composite_if_necessary(); let animation_callbacks_running = self.pipeline_details(pipeline_id).animation_callbacks_running; - let animation_type = if animation_callbacks_running { - AnimationTickType::Script - } else { - AnimationTickType::Layout - }; - let msg = ConstellationMsg::TickAnimation(pipeline_id, animation_type); + if animation_callbacks_running { + let msg = ConstellationMsg::TickAnimation(pipeline_id, AnimationTickType::Script); + if let Err(e) = self.constellation_chan.send(msg) { + warn!("Sending tick to constellation failed ({}).", e); + } + } + + // We still need to tick layout unfortunately, see things like #12749. + let msg = ConstellationMsg::TickAnimation(pipeline_id, AnimationTickType::Layout); if let Err(e) = self.constellation_chan.send(msg) { warn!("Sending tick to constellation failed ({}).", e); }