1+ <style>
2+ /* crbug.com/1471465 */
3+ dl.switch > dt {
4+ counter-increment: list-item 0;
5+ }
6+ </style>
17<pre class='metadata'>
28Title : Scroll-driven Animations
39Group : CSSWG
@@ -39,12 +45,21 @@ spec:web-animations-1;
3945 text:iteration count
4046 text:iteration duration
4147 text:finished play state
48+ text:play state
49+ text:start time
50+ text:effective playback rate
51+ text:effect value
4252spec:html;
4353 type:dfn; for:/; text:browsing context
4454 type:method; text:requestAnimationFrame()
4555spec: cssom-view-1; type: dfn;
4656 text: overflow direction;
4757 text: css layout box
58+ spec:css-writing-modes-4; type: dfn;
59+ text:start
60+ text:end
61+ spec:infra; type:dfn; text:user agent
62+ spec:selectors-4; type:dfn; text:selector
4863</pre>
4964
5065# Introduction # {#intro}
@@ -145,9 +160,9 @@ spec: cssom-view-1; type: dfn;
145160
146161 Progress (the [=timeline/current time=] ) for a [=scroll progress timeline=]
147162 is calculated as:
148- <var> [=scroll offset=] </var> ÷
149- (<var> [=scrollable overflow=] size</var> −
150- <var> [=scroll container=] size</var> )
163+ <var ignore='' > [=scroll offset=] </var> ÷
164+ (<var ignore='' > [=scrollable overflow=] size</var> −
165+ <var ignore='' > [=scroll container=] size</var> )
151166
152167 If the 0% position and 100% position coincide
153168 (i.e. the denominator in the [=timeline/current time=] formula is zero),
@@ -630,7 +645,7 @@ spec: cssom-view-1; type: dfn;
630645 to the {{ViewTimeline/subject}} ’s
631646 nearest ancestor [=scroll container=] element.
632647
633- 1. If a {{DOMString}} value is provided as an | inset| ,
648+ 1. If a {{DOMString}} value is provided as an inset,
634649 parse it as a <<'view-timeline-inset'>> value;
635650 if a sequence is provided,
636651 the first value represents the start inset
@@ -768,8 +783,8 @@ spec: cssom-view-1; type: dfn;
768783 to a finite [=attachment range=] --
769784 which may be further limited by 'animation-range'
770785 (see [[#timeline-ranges]] ).
771- The animation’s <!-- delays ('animation-delay' )
772- and --> iterations ('animation-iteration-count' )
786+ The animation’s <!-- delays ('animation-delay' ) and -->
787+ iterations ('animation-iteration-count' )
773788 are set within the limits of this finite range.
774789 If the specified duration is ''animation-duration/auto'' ,
775790 then <!-- once any delays are subtracted, -->
@@ -874,12 +889,12 @@ spec: cssom-view-1; type: dfn;
874889 and the <code> animationend</code> event will fire
875890 at the start of the [=active interval=] .
876891 However, since the <code> finish</code> event
877- is about entering the [=finished play state=] ,
892+ is about entering the [=play state/finished| finished play state=] ,
878893 it only fires when scrolling forwards.
879894
880895# Frame Calculation Details # {#frames}
881896
882- ## HTML Processing Model: Event loop
897+ ## HTML Processing Model: Event loop ## {#event-loop}
883898
884899 The ability for scrolling to drive the progress of an animation,
885900 gives rise to the possibility of <dfn>layout cycles</dfn> ,
@@ -897,7 +912,7 @@ spec: cssom-view-1; type: dfn;
897912 these timelines are added to the [=stale timelines=] set.
898913 If there are any [=stale timelines=] , they now update their current time and associated ranges,
899914 the set of [=stale timelines=] is cleared and
900- we run and we run an additional step to recalculate styles and update layout.
915+ we run an additional step to recalculate styles and update layout.
901916
902917 Note: We check for layout changes after dispatching any {{ResizeObserver}} s intentionally
903918 to take programmatically sized elements into account.
@@ -908,7 +923,7 @@ spec: cssom-view-1; type: dfn;
908923 and be updated at the same time.
909924
910925 Note: Without this additional round of style and layout,
911- [=initially stale=] timelines would remain stale
926+ [=stale timelines| initially stale=] timelines would remain stale
912927 (i.e. they would not have a current time)
913928 for the remainder of the frame where the timeline was created.
914929 This means that animations linked to such a timeline
@@ -918,7 +933,7 @@ spec: cssom-view-1; type: dfn;
918933
919934 Note: This section has no effect on forced style and layout
920935 calculations triggered by {{Window/getComputedStyle()|getComputedStyle()}} or similar.
921- In other words, [=initially stale=] timelines are visible as such
936+ In other words, [=stale timelines| initially stale=] timelines are visible as such
922937 through those APIs.
923938
924939 If the final style and layout update
@@ -938,13 +953,13 @@ spec: cssom-view-1; type: dfn;
938953 and the state of a scroll-driven animation
939954 may be inconsistent in the composited frame.
940955
941- # Privacy Considerations
956+ # Privacy Considerations # {#privacy-considerations}
942957
943- There are no known privacy impacts of the features in this specification.
958+ There are no known privacy impacts of the features in this specification.
944959
945- # Security Considerations
960+ # Security Considerations # {#security-considerations}
946961
947- There are no known security impacts of the features in this specification.
962+ There are no known security impacts of the features in this specification.
948963
949964# Appendix A: Timeline Ranges # {#timeline-ranges}
950965
0 commit comments