haikuwebkit/LayoutTests/animations
Antoine Quint 9f54498758 Improve font-variation-settings interpolation
https://bugs.webkit.org/show_bug.cgi?id=223027

Reviewed by Dean Jackson.

LayoutTests/imported/w3c:

Add an extra 140 PASS results.

* web-platform-tests/css/css-fonts/inheritance-expected.txt:
* web-platform-tests/css/css-fonts/animations/font-variation-settings-composition-expected.txt:
* web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt:
* web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:

Source/WebCore:

The animation wrapper for font-variation-settings had no canInterpolate() override. We now
implement such a method with the same logic used for blendFunc() method for FontVariationSettings
which only blends when the values have the same number of entries, and the same tag for each
entry.

We also modify the blendFunc() method to remove the return of empty values since it should only
be called in a scenario where the method can blend the values (due to canInterpolate() being
implemented) or with progress equal to 0 or 1 if the animation is discrete. In the latter cases,
we simply return the "from" or "to" values as-is.

Finally, to pass the tests for the "initial" and "inherit" values, we implement the custom
style builder methods for font-variation-settings.

* animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
* style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInitialFontVariationSettings):
(WebCore::Style::BuilderCustom::applyInheritFontVariationSettings):

LayoutTests:

Remove an incorrect test that is also testing functionality well covered by the WPT test
css/css-fonts/animations/font-variation-settings-interpolation.html.

* animations/font-variations/font-variation-settings-unlike-expected.txt: Deleted.
* animations/font-variations/font-variation-settings-unlike.html: Deleted.
* platform/win/TestExpectations:

Canonical link: https://commits.webkit.org/235146@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@274235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-03-10 21:41:28 +00:00
..
3d
font-variations Improve font-variation-settings interpolation 2021-03-10 21:41:28 +00:00
resources Correctly handle "auto" values when blending z-index 2021-03-07 20:16:46 +00:00
CSSKeyframesRule-name-null-expected.txt
CSSKeyframesRule-name-null.html
CSSKeyframesRule-parameters-expected.txt
CSSKeyframesRule-parameters.html
added-while-suspended-expected.txt
added-while-suspended.html
additive-transform-animations-expected.html
additive-transform-animations.html
animation-add-events-in-handler-expected.txt
animation-add-events-in-handler.html
animation-border-overflow-expected.txt
animation-border-overflow.html
animation-callback-timestamp-expected.txt
animation-callback-timestamp.html
animation-controller-drt-api-expected.txt
animation-controller-drt-api.html
animation-css-rule-types-expected.txt
animation-css-rule-types.html
animation-delay-changed-expected.txt
animation-delay-changed.html
animation-direction-alternate-reverse-expected.txt
animation-direction-alternate-reverse.html
animation-direction-expected.txt
animation-direction-normal-expected.png
animation-direction-normal-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
animation-direction-normal.html
animation-direction-reverse-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
animation-direction-reverse-fill-mode-expected.txt
animation-direction-reverse-fill-mode-hardware-expected.txt
animation-direction-reverse-fill-mode-hardware.html
animation-direction-reverse-fill-mode.html
animation-direction-reverse-hardware-expected.txt
animation-direction-reverse-hardware-opacity-expected.txt
animation-direction-reverse-hardware-opacity.html
animation-direction-reverse-hardware.html
animation-direction-reverse-non-hardware-expected.txt
animation-direction-reverse-non-hardware.html
animation-direction-reverse-timing-functions-expected.txt
animation-direction-reverse-timing-functions-hardware-expected.txt
animation-direction-reverse-timing-functions-hardware.html [Web Animations] Turn Web Animations with CSS integration on 2018-09-27 09:49:52 +00:00
animation-direction-reverse-timing-functions.html
animation-direction-reverse.html
animation-direction.html
animation-end-event-destroy-renderer-expected.txt
animation-end-event-destroy-renderer.html
animation-end-event-short-iterations-expected.txt
animation-end-event-short-iterations.html
animation-events-create-expected.txt
animation-events-create.html
animation-events-not-cancelable-expected.txt
animation-events-not-cancelable.html
animation-fill-forwards-removal-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
animation-fill-forwards-removal.html
animation-followed-by-transition-expected.txt
animation-followed-by-transition.html
animation-followed-by-two-transitions-expected.txt REGRESSION (r263729): Carousel freezes on "fourth page"/fourth click on right arrow on netflix.com 2020-08-21 00:12:05 +00:00
animation-followed-by-two-transitions.html REGRESSION (r263729): Carousel freezes on "fourth page"/fourth click on right arrow on netflix.com 2020-08-21 00:12:05 +00:00
animation-hit-test-expected.txt
animation-hit-test-transform-expected.txt
animation-hit-test-transform.html
animation-hit-test.html
animation-initial-inheritance-expected.html
animation-initial-inheritance.html
animation-iteration-event-destroy-renderer-expected.txt
animation-iteration-event-destroy-renderer.html
animation-matrix-negative-scale-unmatrix-expected.txt
animation-matrix-negative-scale-unmatrix.html
animation-multiple-callbacks-timestamp-expected.txt
animation-multiple-callbacks-timestamp.html
animation-offscreen-to-onscreen-expected.png
animation-offscreen-to-onscreen-expected.txt
animation-offscreen-to-onscreen.html
animation-on-inline-crash-expected.txt
animation-on-inline-crash.html
animation-playstate-paused-style-resolution-expected.txt
animation-playstate-paused-style-resolution.html
animation-shorthand-expected.txt
animation-shorthand-name-order-expected.txt
animation-shorthand-name-order.html
animation-shorthand-overriding-expected.txt
animation-shorthand-overriding.html
animation-shorthand-removed-expected.txt
animation-shorthand-removed.html
animation-shorthand.html
animation-start-event-destroy-renderer-expected.txt
animation-start-event-destroy-renderer.html
animation-welcome-safari-expected.txt
animation-welcome-safari.html
big-rotation-expected.txt
big-rotation.html
body-removal-crash-expected.txt
body-removal-crash.html
change-completed-animation-expected.txt
change-completed-animation-transform-expected.html
change-completed-animation-transform.html
change-completed-animation.html
change-keyframes-expected.txt
change-keyframes-name-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
change-keyframes-name.html
change-keyframes.html
change-one-anim-expected.txt
change-one-anim.html
change-transform-style-during-animation-expected.png
change-transform-style-during-animation-expected.txt
change-transform-style-during-animation.html
combo-transform-rotate+scale-expected.txt
combo-transform-rotate+scale.html
combo-transform-translate+scale-expected.txt
combo-transform-translate+scale.html
computed-style-expected.txt
computed-style.html
crash-on-removing-animation-expected.txt
crash-on-removing-animation.html
cross-fade-background-image-expected.html
cross-fade-background-image.html
cross-fade-border-image-source-expected.txt
cross-fade-border-image-source.html
cross-fade-list-style-image-expected.txt
cross-fade-list-style-image.html
cross-fade-webkit-mask-box-image-expected.txt
cross-fade-webkit-mask-box-image.html
cross-fade-webkit-mask-image-expected.txt
cross-fade-webkit-mask-image.html
duplicate-keys-expected.html
duplicate-keys.html
duplicated-keyframes-name-expected.txt
duplicated-keyframes-name.html
dynamic-stylesheet-loading-expected.txt
dynamic-stylesheet-loading.html
empty-keyframes-expected.txt
empty-keyframes.html
fill-forwards-auto-height-expected.html
fill-forwards-auto-height.html
fill-forwards-end-state-expected.txt
fill-forwards-end-state.html
fill-mode-expected.txt
fill-mode-forwards-expected.txt
fill-mode-forwards-zero-duration-expected.txt
fill-mode-forwards-zero-duration.html
fill-mode-forwards.html
fill-mode-forwards2-expected.txt
fill-mode-forwards2.html
fill-mode-iteration-count-non-integer-expected.txt
fill-mode-iteration-count-non-integer.html
fill-mode-missing-from-to-keyframes-expected.txt
fill-mode-missing-from-to-keyframes.html
fill-mode-multiple-keyframes-expected.txt
fill-mode-multiple-keyframes.html
fill-mode-removed-expected.txt
fill-mode-removed.html
fill-mode-reverse-expected.txt
fill-mode-reverse.html
fill-mode-transform-expected.txt
fill-mode-transform.html
fill-mode.html
fill-unset-properties-expected.txt
fill-unset-properties.html
font-size-using-ems-expected.txt
font-size-using-ems.html
generic-from-to-expected.txt
generic-from-to.html
import-crash-expected.txt
import-crash.html
import-expected.txt
import.html
invalid-property-animation-expected.txt
invalid-property-animation.html
keyframe-autoclose-brace-expected.txt
keyframe-autoclose-brace.html
keyframe-em-unit-expected.html Relative font size values (em) within CSS animations compound 2020-06-12 14:40:37 +00:00
keyframe-em-unit.html Relative font size values (em) within CSS animations compound 2020-06-12 14:40:37 +00:00
keyframe-multiple-timing-functions-transform-expected.txt
keyframe-multiple-timing-functions-transform.html
keyframe-pseudo-shadow-expected.html Pseudo-elements (::after) in shadow roots don't animate 2020-06-08 14:24:14 +00:00
keyframe-pseudo-shadow.html Pseudo-elements (::after) in shadow roots don't animate 2020-06-08 14:24:14 +00:00
keyframe-rem-unit-expected.html
keyframe-rem-unit.html
keyframe-selector-negative-percentage-expected.txt
keyframe-selector-negative-percentage.html
keyframe-timing-functions-expected.txt
keyframe-timing-functions-transform-expected.txt
keyframe-timing-functions-transform.html
keyframe-timing-functions.html
keyframe-timing-functions2-expected.txt
keyframe-timing-functions2.html
keyframes-comma-separated-expected.txt
keyframes-comma-separated.html
keyframes-dynamic-expected.txt
keyframes-dynamic.html
keyframes-expected.txt
keyframes-infinite-iterations-expected.txt
keyframes-infinite-iterations.html
keyframes-invalid-keys-expected.txt
keyframes-invalid-keys.html
keyframes-iteration-count-non-integer-expected.txt
keyframes-iteration-count-non-integer.html
keyframes-out-of-order-expected.txt
keyframes-out-of-order.html
keyframes-rule-expected.txt
keyframes-rule.html
keyframes.html
large-negative-delay-expected.txt
large-negative-delay.html
leak-document-with-css-animation-expected.txt
leak-document-with-css-animation.html
legacy-encoding-timing-function-expected.txt Fix possible crash when webAnimationsCSSIntegrationEnabled is false 2020-08-20 03:51:26 +00:00
legacy-encoding-timing-function.html Remove the legacy animation code 2020-09-17 12:39:28 +00:00
lineheight-animation-expected.txt
lineheight-animation.html
longhand-timing-function-expected.txt
longhand-timing-function.html
many-pseudo-animations-expected.txt
many-pseudo-animations.html
matrix-anim-expected.txt
matrix-anim.html
missing-from-to-expected.txt
missing-from-to-transforms-expected.txt
missing-from-to-transforms.html
missing-from-to.html
missing-keyframe-properties-expected.txt
missing-keyframe-properties-repeating-expected.txt
missing-keyframe-properties-repeating.html
missing-keyframe-properties-timing-function-expected.txt
missing-keyframe-properties-timing-function.html
missing-keyframe-properties.html
missing-values-first-keyframe-expected.png
missing-values-first-keyframe.html
missing-values-last-keyframe-expected.png
missing-values-last-keyframe.html
multiple-animations-expected.txt
multiple-animations-timing-function-expected.txt
multiple-animations-timing-function.html
multiple-animations.html
multiple-backgrounds-expected.html
multiple-backgrounds.html
multiple-keyframes-expected.txt
multiple-keyframes.html
needs-layout-expected.html
needs-layout.html
negative-delay-expected.txt
negative-delay.html
no-style-recalc-during-accelerated-animation-expected.txt
no-style-recalc-during-accelerated-animation.html
opacity-transform-animation-expected.png
opacity-transform-animation-expected.txt
opacity-transform-animation.html
pause-crash-expected.txt
pause-crash.html
play-state-expected.txt
play-state-in-shorthand-expected.txt
play-state-in-shorthand.html
play-state-paused-expected.png
play-state-paused-expected.txt Remove trailing spaces from expected.txt files (excluding WPT for now since that contains too many) 2020-09-27 02:15:19 +00:00
play-state-paused.html
play-state-start-paused-expected.html
play-state-start-paused.html
play-state-suspend-expected.txt
play-state-suspend.html
play-state.html
remove-syncing-animation-expected.txt
remove-syncing-animation.html
restart-after-scroll-expected.txt
restart-after-scroll-nested-expected.txt
restart-after-scroll-nested.html
restart-after-scroll.html
resume-after-page-cache-expected.txt
resume-after-page-cache.html [Testing] Rename test header commands to match names in WebPreferences*.yaml 2020-10-13 17:16:15 +00:00
simultaneous-start-left-expected.txt
simultaneous-start-left.html
simultaneous-start-transform-expected.txt
simultaneous-start-transform.html
spring-computed-style-expected.txt
spring-computed-style.html
spring-function-expected.txt
spring-function.html
spring-parsing-expected.txt
spring-parsing.html
stacking-context-fill-forwards-expected.html
stacking-context-fill-forwards.html
stacking-context-not-fill-forwards-expected.html
stacking-context-not-fill-forwards.html
stacking-context-unchanged-while-running-expected.html
stacking-context-unchanged-while-running.html Correctly handle "auto" values when blending z-index 2021-03-07 20:16:46 +00:00
stacking-during-opacity-animation-expected.txt
stacking-during-opacity-animation.html
state-at-end-event.html
steps-transform-compositing-updates-expected.txt Avoid triggering redundant compositing updates when trying ot run a steps() animation on transform 2020-08-07 00:57:45 +00:00
steps-transform-compositing-updates.html Avoid triggering redundant compositing updates when trying ot run a steps() animation on transform 2020-08-07 00:57:45 +00:00
steps-transform-rendering-updates-expected.txt Step animations invalidate style on every rendering update whether or not they need to 2020-08-27 15:42:07 +00:00
steps-transform-rendering-updates.html Avoid triggering redundant compositing updates when trying ot run a steps() animation on transform 2020-08-07 00:57:45 +00:00
stop-animation-on-suspend-expected.txt
stop-animation-on-suspend.html
suspend-resume-animation-events-expected.txt
suspend-resume-animation-events.html
suspend-resume-animation-expected.txt
suspend-resume-animation.html
suspend-transform-animation-expected.png
suspend-transform-animation-expected.txt
suspend-transform-animation.html
text-decoration-thickness-expected.txt
text-decoration-thickness.html
text-underline-offset-expected.txt
text-underline-offset.html
timing-functions-expected.txt
timing-functions.html
transform-non-accelerated-expected.txt
transform-non-accelerated.html
transition-and-animation-1-expected.txt
transition-and-animation-1.html
transition-and-animation-2-expected.txt
transition-and-animation-2.html
transition-and-animation-3-expected.txt
transition-and-animation-3.html
unanimated-style-expected.txt
unanimated-style.html
unprefixed-events-expected.txt
unprefixed-events-mixed-with-prefixed-expected.txt
unprefixed-events-mixed-with-prefixed.html [iOS 14 wk2] animations/unprefixed-events-mixed-with-prefixed.html is a flaky failure 2020-11-04 17:44:01 +00:00
unprefixed-events.html
unprefixed-keyframes-expected.txt
unprefixed-keyframes-rule-expected.txt
unprefixed-keyframes-rule.html
unprefixed-keyframes.html
unprefixed-properties-expected.txt
unprefixed-properties.html
unprefixed-shorthand-expected.txt
unprefixed-shorthand.html
width-using-ems-expected.txt
width-using-ems.html
z-index-in-keyframe-expected.html
z-index-in-keyframe.html