aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/document.rs12
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);