[Web Animations] Support overlapping keyframes
authorgraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Jul 2018 23:48:52 +0000 (23:48 +0000)
committergraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 9 Jul 2018 23:48:52 +0000 (23:48 +0000)
commit03b7a5498f488578571529c192c248fb532f4ea9
tree26827451b1f10106c94ea535dc667864ed0c6367
parent413452c732efcffc151d13d36e83954e94103b94
[Web Animations] Support overlapping keyframes
https://bugs.webkit.org/show_bug.cgi?id=187481
<rdar://problem/41988674>

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark 20 new WPT progressions and 2 different failures.

* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt:
* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
* web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt:
* web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt:

Source/WebCore:

We now support parsing of multiple keyframes for the same offset.

* animation/KeyframeEffectReadOnly.cpp:
(WebCore::computeMissingKeyframeOffsets): Keyframes with a null offset that don't yet have a non-zero
computed offset are keyframes with an offset that needs to be computed.
(WebCore::KeyframeEffectReadOnly::processKeyframes): Only file an exception if an offset is found that
is lower than a previously-parsed one, allowing offsets with the same value.
* rendering/style/KeyframeList.cpp:
(WebCore::KeyframeList::insert): Remove the assertion that prevented an offset to be found more than once.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/animation/KeyframeEffectReadOnly.cpp
Source/WebCore/rendering/style/KeyframeList.cpp