[Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by...
authorgraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Apr 2018 16:02:11 +0000 (16:02 +0000)
committergraouts@webkit.org <graouts@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Apr 2018 16:02:11 +0000 (16:02 +0000)
commit7b08133edafafb5163181c5668ddda9be72e443a
treea187553dc6e8f78cd8d53e5f7b8a5bfd9d4faad7
parent1f02df740eab86606430d84cda6402f46c484c7e
[Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by default
https://bugs.webkit.org/show_bug.cgi?id=184569
<rdar://problem/38671301>

Reviewed by Jon Lee.

LayoutTests/imported/w3c:

This test now fails at a later assertion, so updating the expectation for it.

* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:

Source/WebCore:

We now set the CSS Animations and CSS Transitions as Web Animations flag on by default. To ensure that some remaining
tests pass with this flag on, we expose a way to get to a PseudoElement via a new internals.pseudoElement() method. This
allows tests that used internals.pauseAnimationAtTimeOnPseudoElement() and internals.pauseTransitionAtTimeOnPseudoElement()
to now work with the Web Animations API.

* page/RuntimeEnabledFeatures.h:
* testing/Internals.cpp:
(WebCore::Internals::pseudoElement):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

* WebView/WebPreferences.mm:

Source/WebKitLegacy/win:

Make sure Web Animations and CSS Animations and CSS Transitions are enabled by default on Windows.

* WebPreferences.cpp:

Tools:

We set the default value for the CSS Animations and CSS Transitions as Web Animations flag to true
but override it to be false always in the LayoutTests/legacy-animation-engine directory.

* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference):
(runTest):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestOptions.cpp:
(WTR::isLegacyAnimationEngineTestPath):
(WTR::TestOptions::TestOptions):
* WebKitTestRunner/TestOptions.h:

LayoutTests:

* TestExpectations: A small number of tests regressed with the flag on, so we list them and have raised
bugs to fix them ASAP.
* animations/animation-direction-alternate-reverse-expected.txt:
* animations/animation-direction-alternate-reverse.html: This test was incorrect since it assumes that at the
end active boundary time we are using the end value whereas we are using the start value. Indeed, since the
fill-mode is "none", at the end of the active time, the progress is null per the Web Animations spec.
* animations/animation-hit-test-transform.html: Stop using the internals method.
* animations/animation-internals-api-expected.txt: Removed.
* animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
* animations/animation-internals-api-multiple-keyframes.html: Removed. This test only tests an internals method
that is no longer relevant for the new animation engine, but preserved for compatibility with legacy tests.
* animations/animation-internals-api.html: Removed. This test only tests an internals method that is no longer
relevant for the new animation engine, but preserved for compatibility with legacy tests.
* animations/big-rotation-expected.txt:
* animations/big-rotation.html: Here again we are correcting a test which made the wrong assumption about the
value generated at the end active boundary time.
* animations/duplicated-keyframes-name.html: We make the animation fill forwards to check that we are using
the correct end value for an animation with multiple 100% keyframe.
* animations/fill-forwards-end-state.html: Same as previous test.
* animations/fill-mode-forwards-zero-duration-expected.txt:
* animations/fill-mode-forwards-zero-duration.html: This test should seek after its delay + duration, so we test
at 3s instead of 1s. This is due to a behavior difference between internals.pauseAnimationAtTimeOnElement() and
its replacement.
* fast/css-generated-content/pseudo-animation.html: Use internals.pseudoElement() and the Web Animations API rather
than internals.pauseAnimationAtTimeOnPseudoElement().
* fast/css-generated-content/pseudo-transition.html: Use internals.pseudoElement() and the Web Animations API rather
than internals.pauseTransitionAtTimeOnPseudoElement().
* platform/ios/TestExpectations:
* platform/win/TestExpectations: Remove references to tests that we are removing.
* transitions/remove-transition-style.html: Use document.getAnimations() to figure out how many animations are running.
* transitions/transition-drt-api-delay-expected.txt: Removed.
* transitions/transition-drt-api-delay.html: Removed. This test only tests an internals method that is no longer
relevant for the new animation engine, but preserved for compatibility with legacy tests.
* transitions/transition-drt-api-expected.txt: Removed.
* transitions/transition-drt-api.html: Removed. This test only tests an internals method that is no longer
relevant for the new animation engine, but preserved for compatibility with legacy tests.
* transitions/transition-hit-test-transform.html: Stop using internals.pauseTransitionAtTimeOnElement().
* transitions/zero-duration-with-non-zero-delay-end.html: Use the Web Animations API instead of internals.numberOfActiveAnimations().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
45 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/animations/animation-direction-alternate-reverse-expected.txt
LayoutTests/animations/animation-direction-alternate-reverse.html
LayoutTests/animations/animation-hit-test-transform.html
LayoutTests/animations/animation-internals-api-expected.txt [deleted file]
LayoutTests/animations/animation-internals-api-multiple-keyframes-expected.txt [deleted file]
LayoutTests/animations/animation-internals-api-multiple-keyframes.html [deleted file]
LayoutTests/animations/animation-internals-api.html [deleted file]
LayoutTests/animations/big-rotation-expected.txt
LayoutTests/animations/big-rotation.html
LayoutTests/animations/duplicated-keyframes-name.html
LayoutTests/animations/fill-forwards-end-state.html
LayoutTests/animations/fill-mode-forwards-zero-duration-expected.txt
LayoutTests/animations/fill-mode-forwards-zero-duration.html
LayoutTests/fast/css-generated-content/pseudo-animation.html
LayoutTests/fast/css-generated-content/pseudo-transition.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt
LayoutTests/platform/ios/TestExpectations
LayoutTests/platform/win/TestExpectations
LayoutTests/transitions/remove-transition-style.html
LayoutTests/transitions/transition-drt-api-delay-expected.txt [deleted file]
LayoutTests/transitions/transition-drt-api-delay.html [deleted file]
LayoutTests/transitions/transition-drt-api-expected.txt [deleted file]
LayoutTests/transitions/transition-drt-api.html [deleted file]
LayoutTests/transitions/transition-hit-test-transform.html
LayoutTests/transitions/zero-duration-with-non-zero-delay-end.html
Source/WebCore/ChangeLog
Source/WebCore/page/RuntimeEnabledFeatures.h
Source/WebCore/testing/Internals.cpp
Source/WebCore/testing/Internals.h
Source/WebCore/testing/Internals.idl
Source/WebKit/ChangeLog
Source/WebKit/Shared/WebPreferences.yaml
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/WebView/WebPreferences.mm
Source/WebKitLegacy/win/ChangeLog
Source/WebKitLegacy/win/WebPreferences.cpp
Tools/ChangeLog
Tools/DumpRenderTree/TestOptions.h
Tools/DumpRenderTree/mac/DumpRenderTree.mm
Tools/WebKitTestRunner/TestController.cpp
Tools/WebKitTestRunner/TestOptions.cpp
Tools/WebKitTestRunner/TestOptions.h