зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1643201 - servo: Add support for animationend event.
This is triggered when an animation finishes. This is a high priority because it allows us to start rooting nodes with animations in the script thread. This doesn't yet cause a lot of tests to pass because they rely on the existence of `Document.getAnimations()` and the presence of `animationstart` and animationiteration` events. Depends on D78186 Differential Revision: https://phabricator.services.mozilla.com/D78187
This commit is contained in:
Родитель
05ab25fd1b
Коммит
f879808ac6
|
@ -173,6 +173,17 @@ impl KeyframesAnimationState {
|
||||||
self.current_direction = old_direction;
|
self.current_direction = old_direction;
|
||||||
self.started_at = new_started_at;
|
self.started_at = new_started_at;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Calculate the active-duration of this animation according to
|
||||||
|
/// https://drafts.csswg.org/css-animations/#active-duration. active-duration
|
||||||
|
/// is not really meaningful for infinite animations so we just return 0
|
||||||
|
/// here in that case.
|
||||||
|
pub fn active_duration(&self) -> f64 {
|
||||||
|
match self.iteration_state {
|
||||||
|
KeyframesIterationState::Finite(_, max) => self.duration * (max as f64),
|
||||||
|
KeyframesIterationState::Infinite => 0.,
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Debug for KeyframesAnimationState {
|
impl fmt::Debug for KeyframesAnimationState {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче