diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/document.rs | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index b6e1ce8bde0..9edc7bb9c35 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -1199,11 +1199,6 @@ impl Document { { let mut list = self.animation_frame_list.borrow_mut(); animation_frame_list = Vec::from_iter(list.drain()); - - let ConstellationChan(ref chan) = self.window.constellation_chan(); - let event = ConstellationMsg::ChangeRunningAnimationsState(self.window.pipeline(), - AnimationState::NoAnimationCallbacksPresent); - chan.send(event).unwrap(); } let performance = self.window.Performance(); let performance = performance.r(); @@ -1213,6 +1208,13 @@ impl Document { callback(*timing); } + if self.animation_frame_list.borrow().is_empty() { + let ConstellationChan(ref chan) = self.window.constellation_chan(); + let event = ConstellationMsg::ChangeRunningAnimationsState(self.window.pipeline(), + AnimationState::NoAnimationCallbacksPresent); + chan.send(event).unwrap(); + } + self.window.reflow(ReflowGoal::ForDisplay, ReflowQueryType::NoQuery, ReflowReason::RequestAnimationFrame); |