[Web Animations] Implement more CSSPropertyBlendingClient methods
authorgraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 28 Mar 2018 17:37:43 +0000 (17:37 +0000)
committergraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 28 Mar 2018 17:37:43 +0000 (17:37 +0000)
commitce0afd35f9a17c1591cf2b539047bff2d8db8746
tree4ff1f16a93925ad8c331be4c3a51ca9d667eabd2
parent59b9b755912c85449297d9dd38eed1901110ae3a
[Web Animations] Implement more CSSPropertyBlendingClient methods
https://bugs.webkit.org/show_bug.cgi?id=184077

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Mark progressions for WPT tests.

* web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt:

Source/WebCore:

We only had stubs for several of the CSSPropertyBlendingClient methods and thus always implied that we
were animating non-matching transform, filter and backdrop-filter properties. We now implement those using
the same code used in KeyframeAnimation. This allows for 31 new tests to opt into the CSS Animations and
CSS Transitions as Web Animations feature.

* animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::copyPropertiesFromSource):
(WebCore::KeyframeEffectReadOnly::updateBlendingKeyframes):
(WebCore::KeyframeEffectReadOnly::setBlendingKeyframes):
(WebCore::KeyframeEffectReadOnly::checkForMatchingTransformFunctionLists):
(WebCore::KeyframeEffectReadOnly::checkForMatchingFilterFunctionLists):
(WebCore::KeyframeEffectReadOnly::checkForMatchingBackdropFilterFunctionLists):
(WebCore::KeyframeEffectReadOnly::computeCSSAnimationBlendingKeyframes):
(WebCore::KeyframeEffectReadOnly::computeCSSTransitionBlendingKeyframes):
* animation/KeyframeEffectReadOnly.h:

LayoutTests:

Make 31 tests opt into the CSS Animations and CSS Transitions as Web Animations feature.

* animations/3d/replace-filling-transform.html:
* animations/additive-transform-animations.html:
* animations/animation-direction-reverse-fill-mode-hardware.html:
* animations/combo-transform-rotate+scale.html:
* animations/simultaneous-start-transform.html:
* compositing/animation/layer-for-filling-animation.html:
* compositing/reflections/animation-inside-reflection.html:
* compositing/reflections/nested-reflection-animated.html:
* css3/filters/backdrop/animation.html:
* css3/filters/composited-during-animation.html:
* css3/filters/filter-animation-from-none-hw.html:
* css3/filters/filter-animation-from-none-multi-hw.html:
* css3/filters/filter-animation-from-none-multi.html:
* css3/filters/filter-animation-from-none.html:
* css3/filters/filter-animation-hw.html:
* css3/filters/filter-animation-multi-hw.html:
* css3/filters/filter-animation-multi.html:
* css3/filters/filter-animation.html:
* css3/masking/clip-path-animation.html:
* fast/filter-image/filter-image-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
* fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
* platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt:
* platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt:
* platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt:
* transitions/clip-path-transitions.html:
* transitions/color-transition-premultiplied.html:
* transitions/cross-fade-border-image.html:
* transitions/cubic-bezier-overflow-length.html:
* transitions/cubic-bezier-overflow-svg-length.html:
* transitions/delay.html:
* transitions/longhand-vs-shorthand-initial.html:
* transitions/multiple-background-transitions.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
43 files changed:
LayoutTests/ChangeLog
LayoutTests/animations/3d/replace-filling-transform.html
LayoutTests/animations/additive-transform-animations.html
LayoutTests/animations/animation-direction-reverse-fill-mode-hardware.html
LayoutTests/animations/combo-transform-rotate+scale.html
LayoutTests/animations/simultaneous-start-transform.html
LayoutTests/compositing/animation/layer-for-filling-animation.html
LayoutTests/compositing/reflections/animation-inside-reflection.html
LayoutTests/compositing/reflections/nested-reflection-animated.html
LayoutTests/css3/filters/backdrop/animation.html
LayoutTests/css3/filters/composited-during-animation.html
LayoutTests/css3/filters/filter-animation-from-none-hw.html
LayoutTests/css3/filters/filter-animation-from-none-multi-hw.html
LayoutTests/css3/filters/filter-animation-from-none-multi.html
LayoutTests/css3/filters/filter-animation-from-none.html
LayoutTests/css3/filters/filter-animation-hw.html
LayoutTests/css3/filters/filter-animation-multi-hw.html
LayoutTests/css3/filters/filter-animation-multi.html
LayoutTests/css3/filters/filter-animation.html
LayoutTests/css3/masking/clip-path-animation.html
LayoutTests/fast/filter-image/filter-image-animation.html
LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html
LayoutTests/fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html
LayoutTests/fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt
LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-iteration-composite-operation-expected.txt
LayoutTests/platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-expected.txt
LayoutTests/platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-expected.txt
LayoutTests/platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt
LayoutTests/transitions/clip-path-transitions.html
LayoutTests/transitions/color-transition-premultiplied.html
LayoutTests/transitions/cross-fade-border-image.html
LayoutTests/transitions/cubic-bezier-overflow-length.html
LayoutTests/transitions/cubic-bezier-overflow-svg-length.html
LayoutTests/transitions/delay.html
LayoutTests/transitions/longhand-vs-shorthand-initial.html
LayoutTests/transitions/multiple-background-transitions.html
Source/WebCore/ChangeLog
Source/WebCore/animation/KeyframeEffectReadOnly.cpp
Source/WebCore/animation/KeyframeEffectReadOnly.h