@@ -259,6 +259,8 @@ and the position of the animation in |element|'s 'animation-name' list,
259
259
repeating the list as necessary as described in
260
260
[[CSS-ANIMATIONS-1#animation-name]].
261
261
262
+ 1. Let |default composite| be '' replace''.
263
+
262
264
1. Find the last '' @keyframes'' at-rule in document order
263
265
with <<keyframes-name>> matching |name|.
264
266
@@ -285,15 +287,21 @@ and the position of the animation in |element|'s 'animation-name' list,
285
287
specified on the keyframe block, or,
286
288
if there is no such valid declaration, |default timing function|.
287
289
290
+ 1. Let |keyframe composite| be the value of
291
+ the last valid declaration of 'animation-composition'
292
+ specified on the keyframe block, or,
293
+ if there is no such valid declaration, |default composite|.
294
+
288
295
1. After converting |keyframe timing function| to its canonical form
289
296
(e.g. such that '' step-end'' becomes '' steps(1, end)'')
290
297
let |keyframe| refer to the existing keyframe in |keyframes| with
291
- matching keyframe offset and timing function, if any.
298
+ matching keyframe offset, timing function and composite , if any.
292
299
293
300
If there is no such existing keyframe,
294
301
let |keyframe| be a new empty keyframe with
295
302
offset, |keyframe offset|,
296
- and timing function, |keyframe timing function|,
303
+ timing function, |keyframe timing function|,
304
+ composite, |keyframe composite|,
297
305
and prepend it to |keyframes|.
298
306
299
307
1. Iterate over all declarations in the keyframe block and
@@ -324,11 +332,13 @@ and the position of the animation in |element|'s 'animation-name' list,
324
332
not all of the properties in |animated properties| are present,
325
333
326
334
1. Let |initial keyframe| be the [=keyframe=] in |keyframes|
327
- with offset 0 and timing function |default timing function|.
335
+ with offset 0, timing function |default timing function|
336
+ and composite |default composite|.
328
337
329
338
If there is no such keyframe,
330
339
let |initial keyframe| be a new empty keyframe with offset 0,
331
- and timing function |default timing function|,
340
+ timing function |default timing function|,
341
+ composite |default composite,
332
342
and add it to |keyframes| after the last keyframe with offset 0.
333
343
334
344
1. For each property in |animated properties| that is not present
@@ -341,11 +351,13 @@ and the position of the animation in |element|'s 'animation-name' list,
341
351
not all of the properties in |animated properties| are present,
342
352
343
353
1. Let |final keyframe| be the [=keyframe=] in |keyframes|
344
- with offset 1 and timing function |default timing function|.
354
+ with offset 1, timing function |default timing function|
355
+ and composite |default composite|.
345
356
346
357
If there is no such keyframe,
347
358
let |final keyframe| be a new empty keyframe with offset 1,
348
- and timing function |default timing function|,
359
+ timing function |default timing function|
360
+ and composite |default composite|,
349
361
and add it to |keyframes| after the last keyframe with offset 1.
350
362
351
363
1. For each property in |animated properties| that is not present
0 commit comments