Chromium Code Reviews
DescriptionWeb Animations CSS: Implement CSS Transitions backed on Web Animations model
This patch implements CSS Transitions on the Web Animations model.
The class CSSAnimations is extended to keep track of running transitions
and the CSSAnimationUpdate object is re-used for the transitions update.
The update calculation happens before applying animations (with important
properties applied), which should have the same behaviour as what is
specced (once animations block transitions; see below).
This patch *doesn't* fix the various cascade problems in the existing
implementation.
This mostly matches existing behaviour in starting/running transitions,
but there a a couple of changes. The most notable change between the
existing implementation and the new is that (as per the Web Animations
model) properties that use the default animation will change at 50%
instead of 0%. This patch itself also changes behaviour by following
the spec and not starting transitions where delay <= -duration (this
will be tested once the virtual test suite is turned on).
A few other things are left to future patches:
- Animations are supposed to block transitions from starting and
applying values.
- Transitions end up geting added to the default animation stack, which
means that we'll also apply them in the animation pass.
- The timeline only gets serviced when animations/transitions/rAF are
running, so the start time of transitions is going to be wrong if nothing
is currently running.
- The virtual test suite is blocked on the previous issue.
- Reversing transitions is not in the existing implementation, but fairly
straightforward to add.
- This appears somewhat slower than the existing implementation and we'd
need to be at least as fast if we want to switch over to this one later.
- We should use the MatchedPropetiesCache for transitions (and animations)
where possible.
BUG=303430
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=159554
Patch Set 1 #Patch Set 2 : fix logic for elapsedTime in event #
Total comments: 56
Patch Set 3 : fixed style comments #Patch Set 4 : addressed some comments #Patch Set 5 : store animatablevalues explicitly #
Total comments: 10
Patch Set 6 : rename things #Patch Set 7 : added comment for fill mode ; rebased #
Total comments: 12
Patch Set 8 : rebased ; reviewer comments #Patch Set 9 : update testexpectations and friends #Messages
Total messages: 14 (0 generated)
|