[webkit-changes] [229891] trunk
Title: [229891] trunk Revision 229891 Author grao...@webkit.org Date 2018-03-23 04:49:04 -0700 (Fri, 23 Mar 2018) Log Message [Web Animations] infinite repeat counts aren't reflected for CSS Animations https://bugs.webkit.org/show_bug.cgi?id=183932 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Record progressions of Mozilla tests. * css-animations/test_animation-computed-timing-expected.txt: * css-animations/test_animation-finish-expected.txt: Source/WebCore: The "infinite" value for animation-repeat-count is reflected as a special value which resolves to -1. We need to check for this special value before setting the iterations count on the AnimationEffectTimingReadOnly object. * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation): LayoutTests: One of the Mozilla tests now passes completely and reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt trunk/LayoutTests/imported/mozilla/css-animations/test_animation-finish-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.cpp Diff Modified: trunk/LayoutTests/ChangeLog (229890 => 229891) --- trunk/LayoutTests/ChangeLog 2018-03-23 11:47:26 UTC (rev 229890) +++ trunk/LayoutTests/ChangeLog 2018-03-23 11:49:04 UTC (rev 229891) @@ -1,3 +1,14 @@ +2018-03-23 Antoine Quint + +[Web Animations] infinite repeat counts aren't reflected for CSS Animations +https://bugs.webkit.org/show_bug.cgi?id=183932 + +Reviewed by Dean Jackson. + +One of the Mozilla tests now passes completely and reliably. + +* TestExpectations: + 2018-03-22 Antoine Quint [Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed Modified: trunk/LayoutTests/TestExpectations (229890 => 229891) --- trunk/LayoutTests/TestExpectations 2018-03-23 11:47:26 UTC (rev 229890) +++ trunk/LayoutTests/TestExpectations 2018-03-23 11:49:04 UTC (rev 229891) @@ -1709,7 +1709,6 @@ webkit.org/b/183817 imported/mozilla/css-animations/test_animation-computed-timing.html [ Pass Failure Timeout ] webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183819 imported/mozilla/css-animations/test_animation-currenttime.html [ Pass Failure Timeout ] -webkit.org/b/183820 imported/mozilla/css-animations/test_animation-finish.html [ Pass Failure Timeout ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] webkit.org/b/183822 imported/mozilla/css-animations/test_animation-finished.html [ Pass Failure Timeout ] webkit.org/b/183823 imported/mozilla/css-transitions/test_animation-computed-timing.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (229890 => 229891) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-23 11:47:26 UTC (rev 229890) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-23 11:49:04 UTC (rev 229891) @@ -1,3 +1,15 @@ +2018-03-23 Antoine Quint + +[Web Animations] infinite repeat counts aren't reflected for CSS Animations +https://bugs.webkit.org/show_bug.cgi?id=183932 + +Reviewed by Dean Jackson. + +Record progressions of Mozilla tests. + +* css-animations/test_animation-computed-timing-expected.txt: +* css-animations/test_animation-finish-expected.txt: + 2018-03-22 Antoine Quint [Web Animations] Correctly cancel animations when a parent gets a "display: none" style or when an element is removed Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt (229890 => 229891) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt 2018-03-23 11:47:26 UTC (rev 229890) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt 2018-03-23 11:49:04 UTC (rev 229891) @@ -7,17 +7,17 @@ PASS iterationStart of a new animation PASS iterations of a new animation PASS iterations of a finitely repeating animation -FAIL iterations of an infinitely repeating animation assert_equals: Initial value of iterations expected Infinity but got 1 +PASS iterations of an infinitely repeating animation PASS duration of a new animation PASS direction of a new animation FAIL easing of a new animation assert_equals: Initial value of easing expected "linear" but got "ease" PASS endTime of an new animation PASS endTime of an animation with a negative delay -FAIL endTime of an infinitely repeating animation undefined is not an object (evaluating 'div.getAnimations()[0].effect') +PASS endTime of an infinitely repeating animation PASS endTime of an inf
[webkit-changes] [229981] trunk
Title: [229981] trunk Revision 229981 Author grao...@webkit.org Date 2018-03-26 12:08:01 -0700 (Mon, 26 Mar 2018) Log Message [Web Animations] Correctly handle timing functions specified by CSS Animations and CSS Transitions https://bugs.webkit.org/show_bug.cgi?id=183935 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Record progressions of Mozilla tests. * css-animations/test_animation-computed-timing-expected.txt: * css-transitions/test_animation-computed-timing-expected.txt: * css-transitions/test_keyframeeffect-getkeyframes-expected.txt: Source/WebCore: We were incorrectly reflecting the animation-timing-function and transition-timing-function values on the generated DeclarativeAnimation effect timing "easing" property. In fact, those values should only be represented on the keyframes. In the case of a CSS Animation, the animation-timing-function property set on the element's style serves as the default value used for all keyframes, and individual keyframes can specify an overriding animation-timing-function. For a CSS Transition, the transition-timing-function property set on the element's style serves as the timing function of the from keyframe. To correctly reflect this, we provide a new timingFunctionForKeyframeAtIndex() function on KeyframeEffectReadOnly which will return the right TimingFunction object at a given index, regardless of the animation type. In the case of getKeyframes(), we manually return "linear" for the "to" keyframe since timingFunctionForKeyframeAtIndex() would otherwise return the same timing function as the "from" keyframe. This avoids creating an extra LinearTimingFunction object. As a result, a number of Mozilla imported tests progress since we have correct information on the "easing" property of objects returned by getKeyframes() and the "progress" reported by getComputedTiming() now always uses a linear timing function. * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::syncPropertiesWithBackingAnimation): The timing function of the backing Animation should not be reflected on the effect's timing object. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::getKeyframes): Return the correct timing function for a keyframe, and use a "linear" value for the "to" keyframe of a CSS Transition. (WebCore::KeyframeEffectReadOnly::setAnimatedPropertiesInStyle): (WebCore::KeyframeEffectReadOnly::timingFunctionForKeyframeAtIndex): * animation/KeyframeEffectReadOnly.h: LayoutTests: We now pass 2 additional Mozilla tests completely, so they no longer need to be marked as flaky failures or timeouts. We also update tests that we wrote ourselves and which incorrectly assumed that the effect's timing would reflect the timing function set by CSS. * TestExpectations: * webanimations/css-animations-expected.txt: * webanimations/css-animations.html: * webanimations/css-transitions-expected.txt: * webanimations/css-transitions.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-computed-timing-expected.txt trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt trunk/LayoutTests/imported/mozilla/css-transitions/test_keyframeeffect-getkeyframes-expected.txt trunk/LayoutTests/webanimations/css-animations-expected.txt trunk/LayoutTests/webanimations/css-animations.html trunk/LayoutTests/webanimations/css-transitions-expected.txt trunk/LayoutTests/webanimations/css-transitions.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DeclarativeAnimation.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.h Diff Modified: trunk/LayoutTests/ChangeLog (229980 => 229981) --- trunk/LayoutTests/ChangeLog 2018-03-26 18:36:37 UTC (rev 229980) +++ trunk/LayoutTests/ChangeLog 2018-03-26 19:08:01 UTC (rev 229981) @@ -1,3 +1,20 @@ +2018-03-23 Antoine Quint + +[Web Animations] Correctly handle timing functions specified by CSS Animations and CSS Transitions +https://bugs.webkit.org/show_bug.cgi?id=183935 + +Reviewed by Dean Jackson. + +We now pass 2 additional Mozilla tests completely, so they no longer need to be marked as flaky failures or timeouts. +We also update tests that we wrote ourselves and which incorrectly assumed that the effect's timing would reflect +the timing function set by CSS. + +* TestExpectations: +* webanimations/css-animations-expected.txt: +* webanimations/css-animations.html: +* webanimations/css-transitions-expected.txt: +* webanimations/css-transitions.html: + 2018-03-26 Ryan Haddad Mark imported/mozilla/css-animations/test_animation-cancel.html as flaky. Modified: trunk/LayoutTests/TestExpectations (229980 => 229981) --- trunk/LayoutTests/TestExpect
[webkit-changes] [229983] trunk
Title: [229983] trunk Revision 229983 Author grao...@webkit.org Date 2018-03-26 12:12:10 -0700 (Mon, 26 Mar 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-currenttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183819 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Record progressions of Mozilla tests. * css-animations/test_animation-currenttime-expected.txt: Source/WebCore: The current time for a CSS Animation exposed via the API should be clamped between 0 and the animation duration. * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::bindingsCurrentTime const): * animation/CSSAnimation.h: * animation/WebAnimation.h: LayoutTests: The test imported/mozilla/css-animations/test_animation-currenttime.html now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-currenttime-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.cpp trunk/Source/WebCore/animation/CSSAnimation.h trunk/Source/WebCore/animation/WebAnimation.h Diff Modified: trunk/LayoutTests/ChangeLog (229982 => 229983) --- trunk/LayoutTests/ChangeLog 2018-03-26 19:09:33 UTC (rev 229982) +++ trunk/LayoutTests/ChangeLog 2018-03-26 19:12:10 UTC (rev 229983) @@ -1,5 +1,16 @@ 2018-03-23 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-currenttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183819 + +Reviewed by Dean Jackson. + +The test imported/mozilla/css-animations/test_animation-currenttime.html now passes reliably. + +* TestExpectations: + +2018-03-23 Antoine Quint + [Web Animations] Correctly handle timing functions specified by CSS Animations and CSS Transitions https://bugs.webkit.org/show_bug.cgi?id=183935 Modified: trunk/LayoutTests/TestExpectations (229982 => 229983) --- trunk/LayoutTests/TestExpectations 2018-03-26 19:09:33 UTC (rev 229982) +++ trunk/LayoutTests/TestExpectations 2018-03-26 19:12:10 UTC (rev 229983) @@ -1709,7 +1709,6 @@ webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] -webkit.org/b/183819 imported/mozilla/css-animations/test_animation-currenttime.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] webkit.org/b/183822 imported/mozilla/css-animations/test_animation-finished.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (229982 => 229983) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-26 19:09:33 UTC (rev 229982) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-03-26 19:12:10 UTC (rev 229983) @@ -1,5 +1,16 @@ 2018-03-23 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-currenttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183819 + +Reviewed by Dean Jackson. + +Record progressions of Mozilla tests. + +* css-animations/test_animation-currenttime-expected.txt: + +2018-03-23 Antoine Quint + [Web Animations] Correctly handle timing functions specified by CSS Animations and CSS Transitions https://bugs.webkit.org/show_bug.cgi?id=183935 Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-currenttime-expected.txt (229982 => 229983) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-currenttime-expected.txt 2018-03-26 19:09:33 UTC (rev 229982) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-currenttime-expected.txt 2018-03-26 19:12:10 UTC (rev 229983) @@ -11,8 +11,8 @@ PASS Seeking finished -> paused dispatches animationstart PASS Setting currentTime to null PASS Animation.currentTime after pausing -FAIL Animation.currentTime clamping assert_equals: Animation.currentTime should not continue to increase after the animation has finished expected 10 but got 100026 -FAIL Animation.currentTime clamping for reversed animation assert_equals: Animation.currentTime should not continue to decrease after an animation running in reverse has finished and currentTime is zero expected 0 but got -22 +PASS Animation.currentTime clamping +PASS Animation.currentTime clamping for reversed animation PASS Animation.currentTime after cancelling PASS After aborting a pause when finished, the call to play() should rewind the current time Modified: trunk/Source/WebCore/ChangeLog (229982 => 229983) --- tr
[webkit-changes] [229985] trunk/Source/WTF
Title: [229985] trunk/Source/WTF Revision 229985 Author grao...@webkit.org Date 2018-03-26 13:16:48 -0700 (Mon, 26 Mar 2018) Log Message [ASan] Allow Ref<> to be swapped https://bugs.webkit.org/show_bug.cgi?id=184017 Reviewed by JF Bastien. Unpoison a Ref in various calls just like in ~Ref so that sorting a Vector> works with ASan on. * wtf/Ref.h: (WTF::Ref::assignToHashTableEmptyValue): (WTF::=): (WTF::U>::replace): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/Ref.h Diff Modified: trunk/Source/WTF/ChangeLog (229984 => 229985) --- trunk/Source/WTF/ChangeLog 2018-03-26 19:25:56 UTC (rev 229984) +++ trunk/Source/WTF/ChangeLog 2018-03-26 20:16:48 UTC (rev 229985) @@ -1,3 +1,18 @@ +2018-03-26 Antoine Quint + +[ASan] Allow Ref<> to be swapped +https://bugs.webkit.org/show_bug.cgi?id=184017 + + +Reviewed by JF Bastien. + +Unpoison a Ref in various calls just like in ~Ref so that sorting a Vector> works with ASan on. + +* wtf/Ref.h: +(WTF::Ref::assignToHashTableEmptyValue): +(WTF::=): +(WTF::U>::replace): + 2018-03-26 Brent Fulgham Warn against cookie access in the WebContent process using ProcessPrivilege assertions Modified: trunk/Source/WTF/wtf/Ref.h (229984 => 229985) --- trunk/Source/WTF/wtf/Ref.h 2018-03-26 19:25:56 UTC (rev 229984) +++ trunk/Source/WTF/wtf/Ref.h 2018-03-26 20:16:48 UTC (rev 229985) @@ -108,6 +108,10 @@ void assignToHashTableEmptyValue(Ref&& reference) { +#if ASAN_ENABLED +if (__asan_address_is_poisoned(this)) +__asan_unpoison_memory_region(this, sizeof(*this)); +#endif ASSERT(m_ptr == hashTableEmptyValue()); m_ptr = &reference.leakRef(); ASSERT(m_ptr); @@ -166,6 +170,10 @@ template inline Ref& Ref::operator=(Ref&& reference) { +#if ASAN_ENABLED +if (__asan_address_is_poisoned(this)) +__asan_unpoison_memory_region(this, sizeof(*this)); +#endif Ref movedReference = WTFMove(reference); swap(movedReference); return *this; @@ -175,6 +183,10 @@ template inline Ref& Ref::operator=(Ref&& reference) { +#if ASAN_ENABLED +if (__asan_address_is_poisoned(this)) +__asan_unpoison_memory_region(this, sizeof(*this)); +#endif Ref movedReference = WTFMove(reference); swap(movedReference); return *this; @@ -197,6 +209,10 @@ template inline Ref Ref::replace(Ref&& reference) { +#if ASAN_ENABLED +if (__asan_address_is_poisoned(this)) +__asan_unpoison_memory_region(this, sizeof(*this)); +#endif auto oldReference = adoptRef(*m_ptr); m_ptr = &reference.leakRef(); return oldReference; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [230000] trunk
Title: [23] trunk Revision 23 Author grao...@webkit.org Date 2018-03-27 12:19:46 -0700 (Tue, 27 Mar 2018) Log Message [Web Animations] Stop using internals.pauseAnimationAtTimeOnElement() in favor of Web Animations API for animations tests https://bugs.webkit.org/show_bug.cgi?id=184038 Reviewed by Dean Jackson. Source/WebCore: Expose a new method to indicate that the runtime flag for CSS Animations and CSS Transitions as Web Animations is enabled. * testing/InternalSettings.cpp: (WebCore::InternalSettings::cssAnimationsAndCSSTransitionsBackedByWebAnimationsEnabled): * testing/InternalSettings.h: * testing/InternalSettings.idl: LayoutTests: Make 48 tests opt into CSS Animations and CSS Transitions as Web Animations. These tests used the internals.pauseAnimationAtTimeOnElement() method, but this method should be going away since the Web Animations API allows seeking and pausing. To support this, we make animation-test-helpers.js use the Web Animations API instead of internals.pauseAnimationAtTimeOnElement() if the tests has opted into CSS Animations and CSS Transitions as Web Animations and we know it's safe to use these APIs. * animations/3d/matrix-transform-type-animation.html: * animations/3d/transform-perspective.html: * animations/animation-callback-timestamp.html: * animations/animation-direction-reverse-hardware-opacity.html: * animations/animation-direction-reverse-hardware.html: * animations/animation-direction-reverse-non-hardware.html: * animations/animation-direction-reverse-timing-functions-hardware.html: * animations/animation-direction-reverse-timing-functions.html: * animations/animation-direction.html: * animations/animation-hit-test.html: * animations/animation-offscreen-to-onscreen.html: * animations/change-keyframes-expected.txt: * animations/change-keyframes.html: * animations/cross-fade-background-image.html: * animations/cross-fade-border-image-source.html: * animations/cross-fade-list-style-image.html: * animations/cross-fade-webkit-mask-box-image.html: * animations/duplicate-keys-expected.html: * animations/duplicate-keys.html: * animations/font-variations/font-stretch.html: * animations/font-variations/font-style.html: * animations/font-variations/font-variation-settings-order.html: * animations/font-variations/font-variation-settings-unlike.html: * animations/font-variations/font-variation-settings.html: * animations/font-variations/font-weight.html: * animations/generic-from-to.html: * animations/import.html: * animations/keyframe-multiple-timing-functions-transform.html: * animations/keyframes-comma-separated.html: * animations/keyframes-infinite-iterations.html: * animations/keyframes-invalid-keys.html: * animations/keyframes-out-of-order.html: * animations/keyframes.html: * animations/longhand-timing-function.html: * animations/matrix-anim.html: * animations/missing-keyframe-properties-repeating.html: * animations/missing-keyframe-properties.html: * animations/missing-values-first-keyframe.html: * animations/missing-values-last-keyframe.html: * animations/multiple-animations-timing-function.html: * animations/multiple-animations.html: * animations/multiple-keyframes.html: * animations/negative-delay.html: * animations/pause-crash.html: * animations/resources/animation-test-helpers.js: (checkExpectedValue): (pauseAnimationAtTimeOnElement): (startTest): (runAnimationTest): * animations/simultaneous-start-left.html: * animations/spring-function.html: * animations/stacking-context-unchanged-while-running.html: * animations/timing-functions.html: * animations/unanimated-style.html: * animations/unprefixed-keyframes.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/3d/matrix-transform-type-animation.html trunk/LayoutTests/animations/3d/transform-perspective.html trunk/LayoutTests/animations/animation-callback-timestamp.html trunk/LayoutTests/animations/animation-direction-reverse-hardware-opacity.html trunk/LayoutTests/animations/animation-direction-reverse-hardware.html trunk/LayoutTests/animations/animation-direction-reverse-non-hardware.html trunk/LayoutTests/animations/animation-direction-reverse-timing-functions-hardware.html trunk/LayoutTests/animations/animation-direction-reverse-timing-functions.html trunk/LayoutTests/animations/animation-direction.html trunk/LayoutTests/animations/animation-hit-test.html trunk/LayoutTests/animations/animation-offscreen-to-onscreen.html trunk/LayoutTests/animations/change-keyframes-expected.txt trunk/LayoutTests/animations/change-keyframes.html trunk/LayoutTests/animations/cross-fade-background-image.html trunk/LayoutTests/animations/cross-fade-border-image-source.html trunk/LayoutTests/animations/cross-fade-list-style-image.html trunk/LayoutTests/animations/cross-fade-webkit-mask-box-image.html trunk/LayoutTests/animations/duplicate-keys-expected.html trunk/LayoutTests/animations/duplicate-keys.html trunk/LayoutTests/animations/font-variations/font-stretch.html trunk/LayoutTests/animatio
[webkit-changes] [230031] trunk
Title: [230031] trunk Revision 230031 Author grao...@webkit.org Date 2018-03-28 09:39:57 -0700 (Wed, 28 Mar 2018) Log Message [Web Animations] Comparing two matching FramesTimingFunction objects fails https://bugs.webkit.org/show_bug.cgi?id=184078 Reviewed by Jon Lee. LayoutTests/imported/w3c: Mark one progression for the frames() timing function test with the CSS Animations and CSS Transitions as Web Animations flag. * web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: * web-platform-tests/css-timing-1/frames-timing-functions-output.html: Source/WebCore: Fix a stupid mistake in the == operator for FramesTimingFunction. Without a correct check, we would mistakenly interrupt and restart any transition with a frames() timing function when we check that the Animation objects are similar. * platform/animation/TimingFunction.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/animation/TimingFunction.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (230030 => 230031) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-03-28 16:10:04 UTC (rev 230030) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-03-28 16:39:57 UTC (rev 230031) @@ -1,3 +1,15 @@ +2018-03-28 Antoine Quint + +[Web Animations] Comparing two matching FramesTimingFunction objects fails +https://bugs.webkit.org/show_bug.cgi?id=184078 + +Reviewed by Jon Lee. + +Mark one progression for the frames() timing function test with the CSS Animations and CSS Transitions as Web Animations flag. + +* web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt: +* web-platform-tests/css-timing-1/frames-timing-functions-output.html: + 2018-03-23 Youenn Fablet Update WPT tools to a1ec330 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt (230030 => 230031) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt 2018-03-28 16:10:04 UTC (rev 230030) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt 2018-03-28 16:39:57 UTC (rev 230031) @@ -1,9 +1,9 @@ PASS For an input progress of 0.0, the output of a frames timing function is the first frame -FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "100px" but got "0px" -FAIL For an input progress of 1.0, the output of a frames timing function is the final frame assert_equals: expected "100px" but got "0px" -FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "10px" but got "0px" -FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "10px" but got "0px" +PASS At a frame boundary, the output of a frames timing function is the next frame +PASS For an input progress of 1.0, the output of a frames timing function is the final frame +PASS The number of frames is correctly reflected in the frames timing function output +PASS The number of frames is correctly reflected in the frames timing function output on CSS Transitions PASS frames easing with input progress greater than 1 PASS frames easing with input progress greater than 1.5 PASS frames easing with input progress less than 0 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html (230030 => 230031) --- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html 2018-03-28 16:10:04 UTC (rev 230030) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output.html 2018-03-28 16:39:57 UTC (rev 230031) @@ -1,4 +1,4 @@ - + content="This test checks the output of frame timing functions with different frame numbers" /> Modified: trunk/Source/WebCore/ChangeLog (230030 => 230031) --- trunk/Source/WebCore/ChangeLog 2018-03-28 16:10:04 UTC (rev 230030) +++ trunk/Source/WebCore/ChangeLog 2018-03-28 16:39:57 UTC (rev 230031) @@ -1,3 +1,15 @@ +2018-03-28 Antoine Quint + +[Web Animations] Comparing two matching FramesTimingFunction objects fails +https://bugs.webkit.org/show_bug.cgi?id=184078 + +Reviewed by Jon Lee. + +Fix a stupid mistake in the == operator for FramesTimingFunction. Without a correct check, we would mistakenly interrupt and +restart any transition with a frames() timing function when we check that the Animation objects are similar. + +* platform/animation/TimingFunction.h: + 2018-03-28 Miguel
[webkit-changes] [230033] trunk
Title: [230033] trunk Revision 230033 Author grao...@webkit.org Date 2018-03-28 10:37:43 -0700 (Wed, 28 Mar 2018) Log Message [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: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/3d/replace-filling-transform.html trunk/LayoutTests/animations/additive-transform-animations.html trunk/LayoutTests/animations/animation-direction-reverse-fill-mode-hardware.html trunk/LayoutTests/animations/combo-transform-rotate+scale.html trunk/LayoutTests/animations/simultaneous-start-transform.html trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html trunk/LayoutTests/compositing/reflections/animation-inside-reflection.html trunk/LayoutTests/compositing/reflections/nested-reflection-animated.html trunk/LayoutTests/css3/filters/backdrop/animation.html trunk/LayoutTests/css3/filters/composited-during-animation.html trunk/LayoutTests/css3/filters/filter-animation-from-none-hw.html trunk/LayoutTests/css3/filters/filter-animation-from-none-multi-hw.html trunk/LayoutTests/css3/filters/filter-animation-from-none-multi.html trunk/LayoutTests/css3/filters/filter-animation-from-none.html trunk/LayoutTests/css3/filters/filter-animation-hw.html trunk/LayoutTests/css3/filters/filter-animat
[webkit-changes] [230068] trunk
Title: [230068] trunk Revision 230068 Author grao...@webkit.org Date 2018-03-28 23:48:18 -0700 (Wed, 28 Mar 2018) Log Message [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. We also ensure we only run a CSSAnimationController assertion in FrameView::didDestroyRenderTree() if we're not using 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: * page/FrameView.cpp: (WebCore::FrameView::didDestroyRenderTree): 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: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/3d/replace-filling-transform.html trunk/LayoutTests/animations/additive-transform-animations.html trunk/LayoutTests/animations/animation-direction-reverse-fill-mode-hardware.html trunk/LayoutTests/animations/combo-transform-rotate+scale.html trunk/LayoutTests/animations/simultaneous-start-transform.html trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html trunk/LayoutTests/compositing/reflections/animation-inside-reflection.html trunk/LayoutTests/compositing/reflections/nested-reflection-animated.html trunk/LayoutTests/css3/filters/backdrop/animation.html trunk/LayoutTests/css3/filters/composited-during-animation.html trunk/LayoutTests/css3/filters/filter-animation-from-none-hw.html trunk/LayoutTests/css3/filters/filter-animation-from-
[webkit-changes] [230069] trunk/LayoutTests
Title: [230069] trunk/LayoutTests Revision 230069 Author grao...@webkit.org Date 2018-03-28 23:49:27 -0700 (Wed, 28 Mar 2018) Log Message [Web Animations] Stop using internals.pauseTransitionAtTimeOnElement() in favor of Web Animations API for transitions tests https://bugs.webkit.org/show_bug.cgi?id=184097 Reviewed by Dean Jackson. Make 55 tests opt into CSS Animations and CSS Transitions as Web Animations. These tests used the internals.pauseTransitionAtTimeOnElement() method, but this method should be going away since the Web Animations API allows seeking and pausing. To support this, we make transition-test-helpers.js use the Web Animations API instead of internals.pauseTransitionAtTimeOnElement() if the tests has opted into CSS Animations and CSS Transitions as Web Animations and we know it's safe to use these APIs. Overall, 20 of those tests used to fail with the flag on before this change. * compositing/animation/animated-composited-inside-hidden.html: * compositing/animation/computed-style-during-delay.html: * compositing/reflections/nested-reflection-transition.html: * compositing/transitions/scale-transition-no-start.html: * compositing/transitions/singular-scale-transition.html: * css3/calc/transitions-dependent.html: * css3/calc/transitions.html: * transitions/background-position-transitions.html: * transitions/background-transitions.html: * transitions/blendmode-transitions.html: * transitions/border-radius-transition.html: * transitions/clip-path-path-transitions.html: * transitions/clip-transition.html: * transitions/color-transition-all.html: * transitions/color-transition-rounding.html: * transitions/cross-fade-background-image.html: * transitions/cubic-bezier-overflow-color.html: * transitions/cubic-bezier-overflow-shadow.html: * transitions/cubic-bezier-overflow-transform.html: * transitions/default-timing-function.html: * transitions/delay.html: * transitions/flex-transitions.html: * transitions/font-family-during-transition.html: * transitions/frames-timing-function.html: * transitions/mask-transitions.html: * transitions/min-max-width-height-transitions.html: * transitions/mismatched-shadow-styles.html: * transitions/mismatched-shadow-transitions.html: * transitions/mixed-type.html: * transitions/move-after-transition.html: * transitions/multiple-background-size-transitions.html: * transitions/multiple-mask-transitions.html: * transitions/multiple-shadow-transitions.html: * transitions/negative-delay.html: * transitions/opacity-transition-zindex.html: * transitions/resources/transition-test-helpers.js: * transitions/shape-outside-transitions.html: * transitions/shorthand-border-transitions.html: * transitions/shorthand-transitions.html: * transitions/steps-timing-function.html: * transitions/svg-layout-transition.html: * transitions/svg-text-shadow-transition.html: * transitions/svg-transitions.html: * transitions/text-indent-transition.html: * transitions/transform-op-list-match.html: * transitions/transform-op-list-no-match.html: * transitions/transition-end-event-rendering.html: * transitions/transition-hit-test.html: * transitions/transition-on-element-with-content.html: * transitions/transition-shorthand-delay.html: * transitions/transition-timing-function.html: * transitions/transition-to-from-auto.html: * transitions/transition-to-from-undefined.html: * transitions/visited-link-color.html: * transitions/zero-duration-in-list.html: * transitions/zero-duration-with-non-zero-delay-start.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/animation/animated-composited-inside-hidden.html trunk/LayoutTests/compositing/animation/computed-style-during-delay.html trunk/LayoutTests/compositing/reflections/nested-reflection-transition.html trunk/LayoutTests/compositing/transitions/scale-transition-no-start.html trunk/LayoutTests/compositing/transitions/singular-scale-transition.html trunk/LayoutTests/css3/calc/transitions-dependent.html trunk/LayoutTests/css3/calc/transitions.html trunk/LayoutTests/transitions/background-position-transitions.html trunk/LayoutTests/transitions/background-transitions.html trunk/LayoutTests/transitions/blendmode-transitions.html trunk/LayoutTests/transitions/border-radius-transition.html trunk/LayoutTests/transitions/clip-path-path-transitions.html trunk/LayoutTests/transitions/clip-transition.html trunk/LayoutTests/transitions/color-transition-all.html trunk/LayoutTests/transitions/color-transition-rounding.html trunk/LayoutTests/transitions/cross-fade-background-image.html trunk/LayoutTests/transitions/cubic-bezier-overflow-color.html trunk/LayoutTests/transitions/cubic-bezier-overflow-shadow.html trunk/LayoutTests/transitions/cubic-bezier-overflow-transform.html trunk/LayoutTests/transitions/default-timing-function.html trunk/LayoutTests/transitions/delay.html trunk/LayoutTests/transitions/flex-transitions.html trunk/LayoutTests/transitions/font-family-during-transition.html trunk/LayoutTests/transitions/frames-t
[webkit-changes] [230100] trunk
Title: [230100] trunk Revision 230100 Author grao...@webkit.org Date 2018-03-29 22:41:47 -0700 (Thu, 29 Mar 2018) Log Message [Web Animations] Correctly obtain the timing function for a given keyframe https://bugs.webkit.org/show_bug.cgi?id=184146 Reviewed by Dean Jackson. Source/WebCore: The way we would get the timing function for a given KeyframeValue stored in a KeyframeList was really suboptimal. When keyframes were created, we would set the animated element's style on each keyframe, and set keyframe-specific properties and values on top. When figuring out the timing function for a KeyframeValue, we would look at its render style, go through its list of animations, which could include animations that are irrelevant to this specific keyframe list since all animations from the animated element are referenced, and we would have to look up the correct animation by name and get the timing function, even though the timing function stored on the animation was now specific to this particular keyframe. We now simply set a m_timingFunction member on a KeyframeValue, which is null if no explicit animation-timing-function was provided for this keyframe in CSS, and otherwise set to a valid TimingFunction. This fixes our behavior for a 4 existing animation tests when opted into the CSS Animations and CSS Transitions as Web Animations feature. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::timingFunctionForKeyframeAtIndex): * css/StyleResolver.cpp: (WebCore::StyleResolver::keyframeStylesForAnimation): * page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty const): * platform/animation/TimingFunction.cpp: (WebCore::TimingFunction::createFromCSSText): (WebCore::TimingFunction::createFromCSSValue): * platform/animation/TimingFunction.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::startAnimation): * rendering/style/KeyframeList.cpp: (WebCore::KeyframeValue::timingFunction const): Deleted. * rendering/style/KeyframeList.h: (WebCore::KeyframeValue::timingFunction const): (WebCore::KeyframeValue::setTimingFunction): LayoutTests: Make 4 tests opt into CSS Animations and CSS Transitions as Web Animations. * animations/keyframe-timing-functions-transform.html: * animations/keyframe-timing-functions.html: * animations/keyframe-timing-functions2.html: * animations/missing-keyframe-properties-timing-function.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/keyframe-timing-functions-transform.html trunk/LayoutTests/animations/keyframe-timing-functions.html trunk/LayoutTests/animations/keyframe-timing-functions2.html trunk/LayoutTests/animations/missing-keyframe-properties-timing-function.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/css/StyleResolver.cpp trunk/Source/WebCore/page/animation/KeyframeAnimation.cpp trunk/Source/WebCore/platform/animation/TimingFunction.cpp trunk/Source/WebCore/platform/animation/TimingFunction.h trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebCore/rendering/style/KeyframeList.cpp trunk/Source/WebCore/rendering/style/KeyframeList.h Diff Modified: trunk/LayoutTests/ChangeLog (230099 => 230100) --- trunk/LayoutTests/ChangeLog 2018-03-30 05:33:17 UTC (rev 230099) +++ trunk/LayoutTests/ChangeLog 2018-03-30 05:41:47 UTC (rev 230100) @@ -1,3 +1,17 @@ +2018-03-29 Antoine Quint + +[Web Animations] Correctly obtain the timing function for a given keyframe +https://bugs.webkit.org/show_bug.cgi?id=184146 + +Reviewed by Dean Jackson. + +Make 4 tests opt into CSS Animations and CSS Transitions as Web Animations. + +* animations/keyframe-timing-functions-transform.html: +* animations/keyframe-timing-functions.html: +* animations/keyframe-timing-functions2.html: +* animations/missing-keyframe-properties-timing-function.html: + 2018-03-29 Ryan Haddad Unreviewed, rolling out r230087. Modified: trunk/LayoutTests/animations/keyframe-timing-functions-transform.html (230099 => 230100) --- trunk/LayoutTests/animations/keyframe-timing-functions-transform.html 2018-03-30 05:33:17 UTC (rev 230099) +++ trunk/LayoutTests/animations/keyframe-timing-functions-transform.html 2018-03-30 05:41:47 UTC (rev 230100) @@ -1,4 +1,4 @@ - + Modified: trunk/LayoutTests/animations/keyframe-timing-functions.html (230099 => 230100) --- trunk/LayoutTests/animations/keyframe-timing-functions.html 2018-03-30 05:33:17 UTC (rev 230099) +++ trunk/LayoutTests/animations/keyframe-timing-functions.html 2018-03-30 05:41:47 UTC (rev 230100) @@ -1,5 +1,4 @@ - + Modified: trunk/LayoutTests/animations/keyframe-timing-functions2.html (230099 => 230100) --- trunk/LayoutTests/animations/keyframe-timing-functions2.html 2018-03-30 05:33:17 UTC (rev 230099) +++ trunk/LayoutTests/animations/keyframe-timing-functions2.html 201
[webkit-changes] [230112] trunk
Title: [230112] trunk Revision 230112 Author grao...@webkit.org Date 2018-03-30 11:45:54 -0700 (Fri, 30 Mar 2018) Log Message [Web Animations] CSSTransition objects should have fill: backwards to allow seeking prior to start time https://bugs.webkit.org/show_bug.cgi?id=184129 Reviewed by Dean Jackson. Source/WebCore: In order to allow a CSS Transition to be seeked prior to its start time, it needs to have its fill mode set to backwards. Adding code to set the fill mode in CSSTransition::initialize() yields early timing model invalidation and we could get in a situation where stylesWouldYieldNewCSSTransitionsBlendingKeyframes() was called before we had a chance to create blending keyframes for a CSS transitions, since the call to create blending keyframes is made after the call to initialize(), so we now cater for this case. * animation/CSSTransition.cpp: (WebCore::CSSTransition::initialize): * animation/CSSTransition.h: * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::stylesWouldYieldNewCSSTransitionsBlendingKeyframes const): LayoutTests: Make one test opt into CSS Animations and CSS Transitions as Web Animations and fix expectations for a CSSTransition test which mistakenly assumes the fill to be "none". * transitions/transition-in-delay-phase.html: * webanimations/css-transitions.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/transitions/transition-in-delay-phase.html trunk/LayoutTests/webanimations/css-transitions.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSTransition.cpp trunk/Source/WebCore/animation/CSSTransition.h trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/LayoutTests/ChangeLog (230111 => 230112) --- trunk/LayoutTests/ChangeLog 2018-03-30 17:46:22 UTC (rev 230111) +++ trunk/LayoutTests/ChangeLog 2018-03-30 18:45:54 UTC (rev 230112) @@ -1,3 +1,16 @@ +2018-03-29 Antoine Quint + +[Web Animations] CSSTransition objects should have fill: backwards to allow seeking prior to start time +https://bugs.webkit.org/show_bug.cgi?id=184129 + +Reviewed by Dean Jackson. + +Make one test opt into CSS Animations and CSS Transitions as Web Animations and fix expectations for a CSSTransition +test which mistakenly assumes the fill to be "none". + +* transitions/transition-in-delay-phase.html: +* webanimations/css-transitions.html: + 2018-03-28 Ryan Haddad Mark imported/w3c/web-platform-tests/IndexedDB/idbobjectstore_createIndex7-event_order.htm as flaky. Modified: trunk/LayoutTests/transitions/transition-in-delay-phase.html (230111 => 230112) --- trunk/LayoutTests/transitions/transition-in-delay-phase.html 2018-03-30 17:46:22 UTC (rev 230111) +++ trunk/LayoutTests/transitions/transition-in-delay-phase.html 2018-03-30 18:45:54 UTC (rev 230112) @@ -1,3 +1,4 @@ +
[webkit-changes] [230472] trunk/LayoutTests
Title: [230472] trunk/LayoutTests Revision 230472 Author grao...@webkit.org Date 2018-04-09 22:45:41 -0700 (Mon, 09 Apr 2018) Log Message Attempt to fix some test reported test failures in the new legacy-animation-engine directory. Unreviewed test gardening. * platform/win/TestExpectations: * platform/wpe/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations trunk/LayoutTests/platform/wpe/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (230471 => 230472) --- trunk/LayoutTests/ChangeLog 2018-04-10 05:42:12 UTC (rev 230471) +++ trunk/LayoutTests/ChangeLog 2018-04-10 05:45:41 UTC (rev 230472) @@ -1,5 +1,14 @@ 2018-04-09 Antoine Quint +Attempt to fix some test reported test failures in the new legacy-animation-engine directory. + +Unreviewed test gardening. + +* platform/win/TestExpectations: +* platform/wpe/TestExpectations: + +2018-04-09 Antoine Quint + [Web Animations] Duplicate layout tests exercising CSS Animations and CSS Transitions in a dedicated legacy directory https://bugs.webkit.org/show_bug.cgi?id=184420 Modified: trunk/LayoutTests/platform/win/TestExpectations (230471 => 230472) --- trunk/LayoutTests/platform/win/TestExpectations 2018-04-10 05:42:12 UTC (rev 230471) +++ trunk/LayoutTests/platform/win/TestExpectations 2018-04-10 05:45:41 UTC (rev 230472) @@ -114,6 +114,7 @@ webkit.org/b/74716 css3/filters/filter-is-on-subpixel-position.html [ Skip ] webkit.org/b/74716 css3/masking/clip-path-filter.html [ Skip ] webkit.org/b/74716 css3/filters/backdrop [ Skip ] +webkit.org/b/74716 legacy-animation-engine/css3/filters/backdrop [ Skip ] # TODO Should be moved to platform/mac http/tests/misc/willCacheResponse-delegate-callback.html [ Skip ] @@ -371,6 +372,7 @@ # TODO Full Screen support is not yet enabled. fullscreen/ [ Skip ] +legacy-animation-engine/fullscreen/ [ Skip ] # viewport meta tag support fast/viewport/ [ Skip ] @@ -2610,6 +2612,7 @@ # Skip tests that fail only in Debug mode [ Debug ] compositing [ Skip ] +[ Debug ] legacy-animation-engine/compositing [ Skip ] [ Debug ] transforms/3d/hit-testing [ Skip ] [ Debug ] transforms/3d/point-mapping [ Skip ] Modified: trunk/LayoutTests/platform/wpe/TestExpectations (230471 => 230472) --- trunk/LayoutTests/platform/wpe/TestExpectations 2018-04-10 05:42:12 UTC (rev 230471) +++ trunk/LayoutTests/platform/wpe/TestExpectations 2018-04-10 05:45:41 UTC (rev 230472) @@ -1,4 +1,5 @@ Bug(WPE) compositing/ [ Skip ] +Bug(WPE) legacy-animation-engine/compositing/ [ Skip ] Bug(WPE) editing/ [ Skip ] Bug(WPE) fonts/ [ Skip ] Bug(WPE) fullscreen/ [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [230574] trunk
Title: [230574] trunk Revision 230574 Author grao...@webkit.org Date 2018-04-12 08:14:31 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Enable seeking for hardware animations https://bugs.webkit.org/show_bug.cgi?id=184518 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Track a small regression in the Web Animations WPT tests. * web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: Source/WebCore: Hardware animations had lagged behind software animations in support and this patch bring their respective level of support closer to one another. Importantly, we add the ability to seek an animation added to a GraphicsLayerCA since many tests pause and seek animations to test their state. Animations may also have their playback state changed along with their current time in the same run loop, so we now maintain a list of pending processing actions for hardware animations. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::updateAnimationSchedule): If we have animations queued up for updates to their accelerated state we can schedule animation resolution immediately since we've already established we'll have work to do. (WebCore::DocumentTimeline::updateAnimations): Factor the updates of pending accelerated animations out in a dedicated method. (WebCore::DocumentTimeline::applyPendingAcceleratedAnimations): Go through all pending accelerated animations and update their state. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::setBlendingKeyframes): Update the m_shouldRunAccelerated flag when setting blending keyframes. (WebCore::KeyframeEffectReadOnly::apply): Ensure we finish accelerated animations if the progress is 1 or null (no longer active). start accelerated animations if the animation is starting and always resolve styles in software as well to ensure that hit testing will work as expected. (WebCore::KeyframeEffectReadOnly::computeShouldRunAccelerated): (WebCore::KeyframeEffectReadOnly::animationPlayStateDidChange): Called by WebAnimation when play() or pause() is called with the appropriate flag. (WebCore::KeyframeEffectReadOnly::animationDidSeek): Called by WebAnimation when the currentTime property is set. (WebCore::KeyframeEffectReadOnly::addPendingAcceleratedAction): Add the provided action to the list of pending accelerated actions and notify the animation that the accelerated state needs changing. (WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): Called by DocumentTimeline, through WebAnimation, to apply all pending accelerated actions. (WebCore::KeyframeEffectReadOnly::backingAnimationForCompositedRenderer const): If we're dealing with a declarative animation, we already have a backing Animation object, so use it directly. Otherwise, create one and ensure it reflects all timing properties for the animation. (WebCore::KeyframeEffectReadOnly::shouldRunAccelerated): Deleted. (WebCore::KeyframeEffectReadOnly::startOrStopAccelerated): Deleted. * animation/WebAnimation.cpp: (WebCore::WebAnimation::setCurrentTime): Call animationDidSeek() on the effect to ensure its accelerated animation gets seeked. (WebCore::WebAnimation::play): Call animationPlayStateDidChange() on the effect to ensure its accelerated animation is started or resumed. (WebCore::WebAnimation::pause): Call animationPlayStateDidChange() on the effect to ensure its accelerated animation gets paused. (WebCore::WebAnimation::acceleratedStateDidChange): (WebCore::WebAnimation::applyPendingAcceleratedActions): (WebCore::WebAnimation::acceleratedRunningStateDidChange): Deleted. (WebCore::WebAnimation::startOrStopAccelerated): Deleted. * platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::seekAnimation): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::addProcessingActionForAnimation): Add an AnimationProcessingAction to the list of such actions for a given animation name. In case we already have a Remove action, we ignore the action since the hardware animation will have been removed by the time we try to apply this processing action. (WebCore::GraphicsLayerCA::pauseAnimation): Add a Pause processing action. (WebCore::GraphicsLayerCA::seekAnimation): Add a Seek processing action. (WebCore::GraphicsLayerCA::removeAnimation): Add a Remove processing action. (WebCore::GraphicsLayerCA::updateAnimations): First ensure that all animations pending commit are committed and then update all animations based on the actions added through addProcessingActionForAnimation(). (WebCore::GraphicsLayerCA::seekCAAnimationOnLayer): Generate a new animation based on the new seek time provided. * platform/graphics/ca/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::animationSeeked): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::animationSeeked): * rendering/RenderLayerC
[webkit-changes] [230578] trunk
Title: [230578] trunk Revision 230578 Author grao...@webkit.org Date 2018-04-12 09:34:42 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Ensure elements overlapping with elements animating also get composited https://bugs.webkit.org/show_bug.cgi?id=184539 Reviewed by Jon Lee. Source/WebCore: A number of compositing tests failed because we didn't call into the Web Animations engine while various calls on RenderLayer and RenderLayerBacking were made. We bring the functionality over from CSSAnimationController to DocumentTimeline and KeyframeAnimation to KeyframeEffectReadOnly. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationsForElement const): Update this method's signature to be const since it should be callable by other const method. (WebCore::AnimationTimeline::animationsForElement): Deleted. * animation/AnimationTimeline.h: * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::computeExtentOfAnimation const): Adapt this method from CSSAnimationController. (WebCore::DocumentTimeline::isRunningAnimationOnRenderer const): Adapt this method from CSSAnimationController. (WebCore::DocumentTimeline::isRunningAcceleratedAnimationOnRenderer const): Adapt this method from CSSAnimationController. * animation/DocumentTimeline.h: * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::computeExtentOfTransformAnimation const): Bring this method over from KeyframeAnimation. (WebCore::containsRotation): Bring this method over from KeyframeAnimation. (WebCore::KeyframeEffectReadOnly::computeTransformedExtentViaTransformList const): Bring this method over from KeyframeAnimation. (WebCore::KeyframeEffectReadOnly::computeTransformedExtentViaMatrix const): Bring this method over from KeyframeAnimation. * animation/KeyframeEffectReadOnly.h: (WebCore::KeyframeEffectReadOnly::animatedProperties const): DocumentTimeline::computeExtentOfAnimation() needs to get a list of all animated properties to see if a transform is animated, so we now expose such a list. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::currentTransform const): Update this method to call into DocumentTimeline if the CSS Animations and CSS Transitions as Web Animations flag is on. (WebCore::RenderLayer::calculateClipRects const): Update this method to call into DocumentTimeline if the CSS Animations and CSS Transitions as Web Animations flag is on. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGeometry): Update this method to call into DocumentTimeline if the CSS Animations and CSS Transitions as Web Animations flag is on. * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::isRunningTransformAnimation const): Update this method to call into DocumentTimeline if the CSS Animations and CSS Transitions as Web Animations flag is on. * rendering/RenderObject.h: (WebCore::RenderObject::documentTimeline const): LayoutTests: Opt more tests in the CSS Animations and CSS Transitions as Web Animations runtime flag since they now pass. * compositing/backing/backface-visibility-flip.html: * compositing/layer-creation/overlap-animation-clipping.html: * compositing/layer-creation/overlap-animation-container.html: * compositing/layer-creation/overlap-animation.html: * compositing/layer-creation/translate-animation-overlap.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/backing/backface-visibility-flip.html trunk/LayoutTests/compositing/layer-creation/overlap-animation-clipping.html trunk/LayoutTests/compositing/layer-creation/overlap-animation-container.html trunk/LayoutTests/compositing/layer-creation/overlap-animation.html trunk/LayoutTests/compositing/layer-creation/translate-animation-overlap.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.h trunk/Source/WebCore/rendering/RenderLayer.cpp trunk/Source/WebCore/rendering/RenderLayerBacking.cpp trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp trunk/Source/WebCore/rendering/RenderObject.h Diff Modified: trunk/LayoutTests/ChangeLog (230577 => 230578) --- trunk/LayoutTests/ChangeLog 2018-04-12 16:11:22 UTC (rev 230577) +++ trunk/LayoutTests/ChangeLog 2018-04-12 16:34:42 UTC (rev 230578) @@ -1,3 +1,18 @@ +2018-04-12 Antoine Quint + +[Web Animations] Ensure elements overlapping with elements animating also get composited +https://bugs.webkit.org/show_bug.cgi?id=184539 + +Reviewed by Jon Lee. + +Opt more tests in the CSS Animations and CSS Transitions as Web Animations runtime flag since they now pass. + +* compositing/backing/backface-visibility-flip.html: +* compositing/layer-creation/overlap-animation-clipping.htm
[webkit-changes] [230579] trunk
Title: [230579] trunk Revision 230579 Author grao...@webkit.org Date 2018-04-12 09:35:32 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Throttle animations when lowPowerMode is on https://bugs.webkit.org/show_bug.cgi?id=184540 Reviewed by Jon Lee. Source/WebCore: Ensure animations are sampled at a lower frequency when lowPowerMode is on. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::updateThrottlingState): (WebCore::DocumentTimeline::animationInterval const): (WebCore::DocumentTimeline::updateAnimationSchedule): (WebCore::DocumentTimeline::scheduleAnimationResolution): * animation/DocumentTimeline.h: * page/Page.cpp: (WebCore::Page::handleLowModePowerChange): * testing/Internals.cpp: (WebCore::Internals::animationsInterval const): LayoutTests: Mark one more test as passing when the CSS Animations and CSS Transitions as Web Animations flag is on. * fast/animation/css-animation-throttling-lowPowerMode.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/animation/css-animation-throttling-lowPowerMode.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/testing/Internals.cpp Diff Modified: trunk/LayoutTests/ChangeLog (230578 => 230579) --- trunk/LayoutTests/ChangeLog 2018-04-12 16:34:42 UTC (rev 230578) +++ trunk/LayoutTests/ChangeLog 2018-04-12 16:35:32 UTC (rev 230579) @@ -1,5 +1,16 @@ 2018-04-12 Antoine Quint +[Web Animations] Throttle animations when lowPowerMode is on +https://bugs.webkit.org/show_bug.cgi?id=184540 + +Reviewed by Jon Lee. + +Mark one more test as passing when the CSS Animations and CSS Transitions as Web Animations flag is on. + +* fast/animation/css-animation-throttling-lowPowerMode.html: + +2018-04-12 Antoine Quint + [Web Animations] Ensure elements overlapping with elements animating also get composited https://bugs.webkit.org/show_bug.cgi?id=184539 Modified: trunk/LayoutTests/fast/animation/css-animation-throttling-lowPowerMode.html (230578 => 230579) --- trunk/LayoutTests/fast/animation/css-animation-throttling-lowPowerMode.html 2018-04-12 16:34:42 UTC (rev 230578) +++ trunk/LayoutTests/fast/animation/css-animation-throttling-lowPowerMode.html 2018-04-12 16:35:32 UTC (rev 230579) @@ -1,4 +1,4 @@ - +
[webkit-changes] [230581] trunk
Title: [230581] trunk Revision 230581 Author grao...@webkit.org Date 2018-04-12 10:37:55 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Suspend animations when required https://bugs.webkit.org/show_bug.cgi?id=184541 Reviewed by Jon Lee. Source/WebCore: Animations managed by CSSAnimationController get suspended under a number of scenarios, we now add the possibility to suspend animations on a DocumentTimeline as well such that Web Animations and CSS Animations and CSS Transitions implemented as Web Animations get suspended under the same conditions as well. We also update the implementation for Internals::numberOfActiveAnimations() such that tests checking that animations get suspended pass. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::suspendAnimations): When asked to be suspended, the DocumentTimeline cancels pending invalidation tasks and updates all of the animations it manages, including those running on the compositor. (WebCore::DocumentTimeline::resumeAnimations): When asked to be resumed, the DocumentTimeline resumes animations it manages and rewinds its invalidation timer. (WebCore::DocumentTimeline::animationsAreSuspended): (WebCore::DocumentTimeline::numberOfActiveAnimationsForTesting const): Called by Internals::numberOfActiveAnimations(), this returns the number of animations managed by this timeline that are not suspended. (WebCore::DocumentTimeline::currentTime): (WebCore::DocumentTimeline::timingModelDidChange): Ensure the invalidation timer is not rewound if the timeline is suspended. * animation/DocumentTimeline.h: * animation/WebAnimation.cpp: (WebCore::WebAnimation::setTimeline): When moving to a new timeline, ensure we match the new timeline's animation state. (WebCore::WebAnimation::setSuspended): Toggle the accelerated running state of any backing hardware animations when the suspension state of an animation changes. * animation/WebAnimation.h: (WebCore::WebAnimation::isSuspended const): * dom/Document.cpp: (WebCore::Document::didBecomeCurrentDocumentInFrame): (WebCore::Document::resume): * dom/Document.h: * history/CachedFrame.cpp: (WebCore::CachedFrameBase::restore): * page/Frame.cpp: (WebCore::Frame::clearTimers): * page/Page.cpp: (WebCore::Page::setIsVisibleInternal): (WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged): * testing/Internals.cpp: (WebCore::Internals::numberOfActiveAnimations const): (WebCore::Internals::animationsAreSuspended const): (WebCore::Internals::suspendAnimations const): (WebCore::Internals::resumeAnimations const): LayoutTests: Mark more tests as passing when the CSS Animations and CSS Transitions as Web Animations flag is on. * animations/animation-controller-drt-api.html: * animations/animation-followed-by-transition.html: * fast/animation/css-animation-resuming-when-visible-with-style-change.html: * fast/animation/css-animation-resuming-when-visible.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/added-while-suspended.html trunk/LayoutTests/animations/animation-controller-drt-api.html trunk/LayoutTests/animations/animation-followed-by-transition.html trunk/LayoutTests/fast/animation/css-animation-resuming-when-visible-with-style-change.html trunk/LayoutTests/fast/animation/css-animation-resuming-when-visible.html trunk/LayoutTests/transitions/created-while-suspended.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/history/CachedFrame.cpp trunk/Source/WebCore/page/Frame.cpp trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/testing/Internals.cpp Diff Modified: trunk/LayoutTests/ChangeLog (230580 => 230581) --- trunk/LayoutTests/ChangeLog 2018-04-12 17:26:55 UTC (rev 230580) +++ trunk/LayoutTests/ChangeLog 2018-04-12 17:37:55 UTC (rev 230581) @@ -1,5 +1,19 @@ 2018-04-12 Antoine Quint +[Web Animations] Suspend animations when required +https://bugs.webkit.org/show_bug.cgi?id=184541 + +Reviewed by Jon Lee. + +Mark more tests as passing when the CSS Animations and CSS Transitions as Web Animations flag is on. + +* animations/animation-controller-drt-api.html: +* animations/animation-followed-by-transition.html: +* fast/animation/css-animation-resuming-when-visible-with-style-change.html: +* fast/animation/css-animation-resuming-when-visible.html: + +2018-04-12 Antoine Quint + [Web Animations] Throttle animations when lowPowerMode is on https://bugs.webkit.org/show_bug.cgi?id=184540 Modified: trunk/LayoutTests/animations/added-while-suspended.html (230580 => 230581) --- trunk/LayoutTests/animations/added-while-suspended.html 2018-04-12 17:26:55 UTC (rev 230580) +++ trunk/LayoutTests/animations/added-
[webkit-changes] [230582] trunk/Source/WebCore
Title: [230582] trunk/Source/WebCore Revision 230582 Author grao...@webkit.org Date 2018-04-12 10:41:37 -0700 (Thu, 12 Apr 2018) Log Message Unreviewed, fix the Windows build. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::computeExtentOfAnimation const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentTimeline.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (230581 => 230582) --- trunk/Source/WebCore/ChangeLog 2018-04-12 17:37:55 UTC (rev 230581) +++ trunk/Source/WebCore/ChangeLog 2018-04-12 17:41:37 UTC (rev 230582) @@ -1,5 +1,12 @@ 2018-04-12 Antoine Quint +Unreviewed, fix the Windows build. + +* animation/DocumentTimeline.cpp: +(WebCore::DocumentTimeline::computeExtentOfAnimation const): + +2018-04-12 Antoine Quint + [Web Animations] Suspend animations when required https://bugs.webkit.org/show_bug.cgi?id=184541 Modified: trunk/Source/WebCore/animation/DocumentTimeline.cpp (230581 => 230582) --- trunk/Source/WebCore/animation/DocumentTimeline.cpp 2018-04-12 17:37:55 UTC (rev 230581) +++ trunk/Source/WebCore/animation/DocumentTimeline.cpp 2018-04-12 17:41:37 UTC (rev 230582) @@ -255,7 +255,7 @@ if (!renderer.element()) return true; -KeyframeEffectReadOnly* matchingEffect; +KeyframeEffectReadOnly* matchingEffect = nullptr; for (const auto& animation : animationsForElement(*renderer.element())) { auto* effect = animation->effect(); if (is(effect)) { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [230594] trunk
Title: [230594] trunk Revision 230594 Author grao...@webkit.org Date 2018-04-12 14:23:48 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Only cancel declarative animations upon element removal https://bugs.webkit.org/show_bug.cgi?id=184553 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Make some WPT tests opt into the CSS Animations and CSS Transtions as Web Animations flag. * web-platform-tests/web-animations/interfaces/Animation/ready.html: * web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html: * web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html: Source/WebCore: Ensure we only call cancel() on CSSAnimation and CSSTransition objects as we might otherwise reject the ready promise and produce spurious logging from WPT tests. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): (WebCore::AnimationTimeline::cancelAnimationsForElement): Deleted. * animation/AnimationTimeline.h: * dom/Element.cpp: (WebCore::Element::removedFromAncestor): * dom/PseudoElement.cpp: (WebCore::PseudoElement::clearHostElement): * rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::tearDownRenderers): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/ready.html trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/dom/PseudoElement.cpp trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (230593 => 230594) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-12 20:48:09 UTC (rev 230593) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-12 21:23:48 UTC (rev 230594) @@ -1,3 +1,16 @@ +2018-04-12 Antoine Quint + +[Web Animations] Only cancel declarative animations upon element removal +https://bugs.webkit.org/show_bug.cgi?id=184553 + +Reviewed by Dean Jackson. + +Make some WPT tests opt into the CSS Animations and CSS Transtions as Web Animations flag. + +* web-platform-tests/web-animations/interfaces/Animation/ready.html: +* web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html: +* web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html: + 2018-04-11 Antoine Quint [Web Animations] Enable seeking for hardware animations Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/ready.html (230593 => 230594) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/ready.html 2018-04-12 20:48:09 UTC (rev 230593) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/ready.html 2018-04-12 21:23:48 UTC (rev 230594) @@ -1,4 +1,4 @@ - + Animation.ready Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html (230593 => 230594) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html 2018-04-12 20:48:09 UTC (rev 230593) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html 2018-04-12 21:23:48 UTC (rev 230594) @@ -1,4 +1,4 @@ - + Playing an animation Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html (230593 => 230594) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html 2018-04-12 20:48:09 UTC (rev 230593) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html 2018-04-12 21:23:48 UTC (rev 230594) @@ -1,4 +1,4 @@ - + Reverse an animation Modified: trunk/Source/WebCore/ChangeLog (230593 => 230594) --- trunk/Source/WebCore/ChangeLog 2018-04-12 20:48:09 UTC (rev 230593) +++ trunk/Source/WebCore/ChangeLog 2018-04-12 21:23:48 UTC (rev 230594) @@ -1,3 +1,24 @@ +2018-04-12 Antoine Quint + +[Web Animations] Only cancel declarative animations upon element removal +https://bugs.webkit.org/show_bug.cgi?id=184553 + +Reviewed by Dean Jackson. + +Ensure we only call cancel() on CSSAnimation and CSSTransition objects as we might otherwise reject +the ready promise and produce spurious logging from WPT tests. + +* animation/AnimationTimeline.cpp: +(WebCore::
[webkit-changes] [230595] trunk
Title: [230595] trunk Revision 230595 Author grao...@webkit.org Date 2018-04-12 14:25:56 -0700 (Thu, 12 Apr 2018) Log Message [Web Animations] Fix a host of small CSS Animations and CSS Transitions issues https://bugs.webkit.org/show_bug.cgi?id=184555 Reviewed by Dean Jackson. Source/WebCore: A series of small and intertwined issues were preventing a number of CSS Animations and CSS Trantions tests to fail when expressed as Web Animations. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::updateCSSAnimationsForElement): Pass the old and new RenderStyles to CSSAnimation::create() since we're refactoring DeclarativeAnimation to create blending keyframes in initialize(), no longer requiring each subclass to create them. (WebCore::AnimationTimeline::cssAnimationForElementAndProperty): Return the animation, if any, for a property animated by a CSS animation, so that we can determine if a property is already being animated when running a CSS Transition. (WebCore::AnimationTimeline::updateCSSTransitionsForElement): Since a property can be specified twice in a "transition" property, once via "all" and once explicitly, ensure we look at all currently running transitions for the currently-processed property to see if we need to cancel this transition. Previously, we used to only see if it had been transitioned in the old style. We also start transitions even if the duration is 0 provided the delay is a positive, non-zero value. Then, if there is a CSS Animation for this property already running, use that animation's original unanimated style as the from value. * animation/AnimationTimeline.h: * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::create): The animation name is now set in the CSSAnimation constructor. (WebCore::CSSAnimation::CSSAnimation): Set the animation name and keep a copy of the unanimated style such that we can get it when a CSS Transition is created and takes precedence over this CSS Animation. (WebCore::CSSAnimation::initialize): Deleted. * animation/CSSAnimation.h: * animation/CSSTransition.cpp: (WebCore::CSSTransition::create): (WebCore::CSSTransition::initialize): * animation/CSSTransition.h: * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::initialize): Call the new computeDeclarativeAnimationBlendingKeyframes() on the KeyframeEffect directly in this method so that subclasses don't need to create it manually, but most important so that keyframes are created before timing properties are set based on the backing animation. * animation/DeclarativeAnimation.h: * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::getKeyframes): Ensure we have a CSSValue before trying to serialize it. (WebCore::KeyframeEffectReadOnly::computeDeclarativeAnimationBlendingKeyframes): (WebCore::KeyframeEffectReadOnly::computeCSSAnimationBlendingKeyframes): Use the animation's unanimated style to compute keyframes, instead of a default RenderStyle which would not use the right values for implicit keyframes. (WebCore::KeyframeEffectReadOnly::stylesWouldYieldNewCSSTransitionsBlendingKeyframes const): Look at the property used to create the transition rather than that specified on the backing Animation object since it can be CSSPropertyInvalid in the case of "transition: all". (WebCore::KeyframeEffectReadOnly::setAnimatedPropertiesInStyle): If we're dealing with a CSS animation, we consider the first and last keyframes to always have the property listed since the underlying style was provided and should be captured. * animation/KeyframeEffectReadOnly.h: * style/StyleTreeResolver.cpp: (WebCore::Style::TreeResolver::createAnimatedElementUpdate): Apply CSS Animations after CSS Trasitions since they take precedence. LayoutTests: Mark more tests as passing when the CSS Animations and CSS Transitions as Web Animations flag is on. * animations/animation-border-overflow.html: * animations/lineheight-animation.html: * animations/missing-from-to-transforms.html: * animations/missing-values-first-keyframe.html: * animations/missing-values-last-keyframe.html: * animations/transition-and-animation-1.html: * animations/transition-and-animation-2.html: * animations/transition-and-animation-3.html: * animations/width-using-ems.html: * compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html: * compositing/layer-creation/multiple-keyframes-animation-overlap.html: * compositing/layer-creation/scale-rotation-animation-overlap.html: * compositing/layer-creation/translate-scale-animation-overlap.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: * imported/blink/transitions/unprefixed-transform.html: * transitions/interrupted-all-transition.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/animations/animation-border-overflow.html trunk/LayoutTests/animations/linehei
[webkit-changes] [230632] trunk
Title: [230632] trunk Revision 230632 Author grao...@webkit.org Date 2018-04-13 09:02:11 -0700 (Fri, 13 Apr 2018) Log Message [Web Animations] Turn CSS Animations and CSS Transitions as Web Animations on by default https://bugs.webkit.org/show_bug.cgi?id=184569 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.pauseTransi
[webkit-changes] [230665] trunk
Title: [230665] trunk Revision 230665 Author grao...@webkit.org Date 2018-04-15 22:38:01 -0700 (Sun, 15 Apr 2018) Log Message [Web Animations] Animations do not naturally get a finish event https://bugs.webkit.org/show_bug.cgi?id=184639 Reviewed by Jon Lee. LayoutTests/imported/w3c: Record two progressions in the Web Animations WPT tests. * web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Source/WebCore: We must call updateFinishedState() when an animation gets sampled as it means its timeline's time has progressed and it may have crossed to a finished state. Calling updateFinishedState() when sampling means that we'll correctly set the animation's hold time to its end value, which means that currentTime() will now always be clamped to return the end time once its has reached it, so we must not schedule animations to resolve immediately anymore since otherwise they will keep being scheduled in a loop. * animation/WebAnimation.cpp: (WebCore::WebAnimation::timeToNextRequiredTick const): (WebCore::WebAnimation::resolve): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/WebAnimation.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (230664 => 230665) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-16 01:01:18 UTC (rev 230664) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-16 05:38:01 UTC (rev 230665) @@ -1,3 +1,15 @@ +2018-04-15 Antoine Quint + +[Web Animations] Animations do not naturally get a finish event +https://bugs.webkit.org/show_bug.cgi?id=184639 + + +Reviewed by Jon Lee. + +Record two progressions in the Web Animations WPT tests. + +* web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: + 2018-04-15 Chris Dumez Change Event's returnValue so it doesn't expose a new primitive Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt (230664 => 230665) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt 2018-04-16 01:01:18 UTC (rev 230664) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt 2018-04-16 05:38:01 UTC (rev 230665) @@ -1,8 +1,8 @@ -FAIL Updating the finished state when playing past end assert_equals: Hold time is set to target end clamping current time expected 10 but got 100029 +PASS Updating the finished state when playing past end PASS Updating the finished state when seeking past end PASS Updating the finished state when seeking exactly to end -FAIL Updating the finished state when playing in reverse past zero assert_equals: Hold time is set to zero clamping current time expected 0 but got -15 +PASS Updating the finished state when playing in reverse past zero PASS Updating the finished state when seeking a reversed animation past zero FAIL Updating the finished state when seeking a reversed animation exactly to zero assert_equals: Hold time is set so current time should NOT change expected 0 but got -0 PASS Updating the finished state when playing before end Modified: trunk/Source/WebCore/ChangeLog (230664 => 230665) --- trunk/Source/WebCore/ChangeLog 2018-04-16 01:01:18 UTC (rev 230664) +++ trunk/Source/WebCore/ChangeLog 2018-04-16 05:38:01 UTC (rev 230665) @@ -1,3 +1,21 @@ +2018-04-15 Antoine Quint + +[Web Animations] Animations do not naturally get a finish event +https://bugs.webkit.org/show_bug.cgi?id=184639 + + +Reviewed by Jon Lee. + +We must call updateFinishedState() when an animation gets sampled as it means its timeline's time has progressed +and it may have crossed to a finished state. Calling updateFinishedState() when sampling means that we'll correctly +set the animation's hold time to its end value, which means that currentTime() will now always be clamped to return +the end time once its has reached it, so we must not schedule animations to resolve immediately anymore since otherwise +they will keep being scheduled in a loop. + +* animation/WebAnimation.cpp: +(WebCore::WebAnimation::timeToNextRequiredTick const): +(WebCore::WebAnimation::resolve): + 2018-04-15 Chris Dumez Change Event's returnValue so it doesn't expose a new primitive Modified: trunk/Source/WebCore/animation/WebAnimation.cpp (230664 => 230665) --- trunk/Source/WebCore/animation/WebAnimation.cpp 2018-04-16 01:01:18 UTC (rev 230664) +++ trunk/Source/WebCore/animation/WebAnimation.cpp 2018-04-16 05:38:01 UTC (rev 230665) @@ -
[webkit-changes] [230667] trunk
Title: [230667] trunk Revision 230667 Author grao...@webkit.org Date 2018-04-16 01:47:17 -0700 (Mon, 16 Apr 2018) Log Message [Web Animations] Ensure we never return -0 through the API https://bugs.webkit.org/show_bug.cgi?id=184644 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Record one progression in the Web Animations WPT tests. * web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: Source/WebCore: We could sometimes return -0 instead of 0, which is surprising and leads to an error in WPT tests. This would happen when playbackRate < 0. * animation/WebAnimationUtilities.h: (WebCore::secondsToWebAnimationsAPITime): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/WebAnimationUtilities.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (230666 => 230667) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-16 06:58:36 UTC (rev 230666) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-04-16 08:47:17 UTC (rev 230667) @@ -1,3 +1,14 @@ +2018-04-16 Antoine Quint + +[Web Animations] Ensure we never return -0 through the API +https://bugs.webkit.org/show_bug.cgi?id=184644 + +Reviewed by Dean Jackson. + +Record one progression in the Web Animations WPT tests. + +* web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt: + 2018-04-15 Antoine Quint [Web Animations] Animations do not naturally get a finish event Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt (230666 => 230667) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt 2018-04-16 06:58:36 UTC (rev 230666) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state-expected.txt 2018-04-16 08:47:17 UTC (rev 230667) @@ -4,7 +4,7 @@ PASS Updating the finished state when seeking exactly to end PASS Updating the finished state when playing in reverse past zero PASS Updating the finished state when seeking a reversed animation past zero -FAIL Updating the finished state when seeking a reversed animation exactly to zero assert_equals: Hold time is set so current time should NOT change expected 0 but got -0 +PASS Updating the finished state when seeking a reversed animation exactly to zero PASS Updating the finished state when playing before end PASS Updating the finished state when seeking before end PASS Updating the finished state when seeking a reversed animation before end Modified: trunk/Source/WebCore/ChangeLog (230666 => 230667) --- trunk/Source/WebCore/ChangeLog 2018-04-16 06:58:36 UTC (rev 230666) +++ trunk/Source/WebCore/ChangeLog 2018-04-16 08:47:17 UTC (rev 230667) @@ -1,3 +1,16 @@ +2018-04-16 Antoine Quint + +[Web Animations] Ensure we never return -0 through the API +https://bugs.webkit.org/show_bug.cgi?id=184644 + +Reviewed by Dean Jackson. + +We could sometimes return -0 instead of 0, which is surprising and leads to an error in WPT tests. +This would happen when playbackRate < 0. + +* animation/WebAnimationUtilities.h: +(WebCore::secondsToWebAnimationsAPITime): + 2018-04-15 Antoine Quint [Web Animations] Animations do not naturally get a finish event Modified: trunk/Source/WebCore/animation/WebAnimationUtilities.h (230666 => 230667) --- trunk/Source/WebCore/animation/WebAnimationUtilities.h 2018-04-16 06:58:36 UTC (rev 230666) +++ trunk/Source/WebCore/animation/WebAnimationUtilities.h 2018-04-16 08:47:17 UTC (rev 230667) @@ -37,7 +37,10 @@ // The internal representation of time values is implementation dependent however, it is RECOMMENDED that user // agents be able to represent input time values with microsecond precision so that a time value (which nominally // represents milliseconds) of 0.001 is distinguishable from 0.0. -return std::round(time.microseconds()) / 1000; +auto roundedTime = std::round(time.microseconds()) / 1000; +if (roundedTime == -0) +return 0; +return roundedTime; } const auto timeEpsilon = Seconds::fromMilliseconds(0.001); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [230703] trunk
Title: [230703] trunk Revision 230703 Author grao...@webkit.org Date 2018-04-17 00:33:57 -0700 (Tue, 17 Apr 2018) Log Message Layout Test animations/needs-layout.html is a flaky Image Failure. https://bugs.webkit.org/show_bug.cgi?id=172397 Reviewed by Dean Jackson. Source/WebCore: Animations that animate a transform and uses a relative value for either the x or y components require a layout before starting, which CSSAnimationController would perform in the call to CSSAnimationControllerPrivate::animationTimerFired() made immediately after a CSS animation was created. We now perform a similar task where upon setting new blending keyframes we compute a flag indicating if the keyframe effect is animating a transform with relative x or y components. Then, when we perform the first invalidation task, which runs in the next run loop after a change to the timing model has been made, such as a call to play() on a CSSAnimation made in the TreeResolver::createAnimatedElementUpdate() where the CSSAnimation was created, we call forceLayout() on this element's FrameView. We also ensure we commit animations on the compositor immediately after that too, instead of waiting until the next DisplayRefreshMonitor callback. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::performInvalidationTask): (WebCore::DocumentTimeline::updateAnimations): * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::forceLayoutIfNeeded): (WebCore::KeyframeEffectReadOnly::setBlendingKeyframes): (WebCore::KeyframeEffectReadOnly::computedNeedsForcedLayout): (WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): * animation/KeyframeEffectReadOnly.h: LayoutTests: No longer mark this test as flaky. * platform/ios-wk2/TestExpectations: * platform/mac-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac-wk1/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.h Diff Modified: trunk/LayoutTests/ChangeLog (230702 => 230703) --- trunk/LayoutTests/ChangeLog 2018-04-17 06:54:26 UTC (rev 230702) +++ trunk/LayoutTests/ChangeLog 2018-04-17 07:33:57 UTC (rev 230703) @@ -1,3 +1,16 @@ +2018-04-16 Antoine Quint + +Layout Test animations/needs-layout.html is a flaky Image Failure. +https://bugs.webkit.org/show_bug.cgi?id=172397 + +Reviewed by Dean Jackson. + +No longer mark this test as flaky. + +* platform/ios-wk2/TestExpectations: +* platform/mac-wk1/TestExpectations: +* platform/mac-wk2/TestExpectations: + 2018-04-16 Keith Rollin REGRESSION: [mac-wk2 release] LayoutTest http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html is flaky Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (230702 => 230703) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2018-04-17 06:54:26 UTC (rev 230702) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2018-04-17 07:33:57 UTC (rev 230703) @@ -1319,7 +1319,6 @@ webkit.org/b/177501 webrtc/video-mute.html [ Pass Timeout ] -webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ] webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass ImageOnlyFailure ] webkit.org/b/179176 [ Release ] svg/wicd/test-rightsizing-a.xhtml [ Pass Failure ] Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (230702 => 230703) --- trunk/LayoutTests/platform/mac-wk1/TestExpectations 2018-04-17 06:54:26 UTC (rev 230702) +++ trunk/LayoutTests/platform/mac-wk1/TestExpectations 2018-04-17 07:33:57 UTC (rev 230703) @@ -492,7 +492,6 @@ [ HighSierra+ ] fast/forms/textarea-maxlength.html [ Crash ] [ HighSierra+ ] fast/text/system-font-fallback-emoji.html [ Crash ] -webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ] webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass ImageOnlyFailure ] webkit.org/b/179775 imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html [ Pass Failure ] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (230702 => 230703) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-04-17 06:54:26 UTC (rev 230702) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-04-17 07:33:57 UTC (rev 230703) @@ -730,7 +730,6 @@ webkit.org/b/167757 workers/bomb.html [ Pass Timeout ] -webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ] webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass ImageOnlyFailure ] # Touch events are not available
[webkit-changes] [230894] trunk/Source/WebCore
Title: [230894] trunk/Source/WebCore Revision 230894 Author grao...@webkit.org Date 2018-04-21 14:47:55 -0700 (Sat, 21 Apr 2018) Log Message [Modern Media Controls] Obtain compact mode icons through WebKitAdditions https://bugs.webkit.org/show_bug.cgi?id=184862 Reviewed by Jon Lee. * Modules/modern-media-controls/controls/button.js: (Button.prototype._updateImageMetrics): Handle PDF assets where the image source's intrinsic size needs to be adjusted for the device pixel density. (Button): * Modules/modern-media-controls/controls/icon-service.js: Expect three additional icons provided through WebKitAdditions, including two in the PDF format, so we add support for this format. * WebCore.xcodeproj/project.pbxproj: Copy additional assets from the WebKitAdditions build directory should any be present. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Diff Modified: trunk/Source/WebCore/ChangeLog (230893 => 230894) --- trunk/Source/WebCore/ChangeLog 2018-04-21 20:46:44 UTC (rev 230893) +++ trunk/Source/WebCore/ChangeLog 2018-04-21 21:47:55 UTC (rev 230894) @@ -1,3 +1,20 @@ +2018-04-21 Antoine Quint + +[Modern Media Controls] Obtain compact mode icons through WebKitAdditions +https://bugs.webkit.org/show_bug.cgi?id=184862 + + +Reviewed by Jon Lee. + +* Modules/modern-media-controls/controls/button.js: +(Button.prototype._updateImageMetrics): Handle PDF assets where the image source's intrinsic size needs +to be adjusted for the device pixel density. +(Button): +* Modules/modern-media-controls/controls/icon-service.js: Expect three additional icons provided through +WebKitAdditions, including two in the PDF format, so we add support for this format. +* WebCore.xcodeproj/project.pbxproj: Copy additional assets from the WebKitAdditions build directory should +any be present. + 2018-04-21 Dean Jackson Expose whether you've build with the Apple Internal SDK Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js (230893 => 230894) --- trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js 2018-04-21 20:46:44 UTC (rev 230893) +++ trunk/Source/WebCore/Modules/modern-media-controls/controls/button.js 2018-04-21 21:47:55 UTC (rev 230894) @@ -199,7 +199,7 @@ let width = this._imageSource.width * this._scaleFactor; let height = this._imageSource.height * this._scaleFactor; -if (this._iconName.type === "png") { +if (this._iconName.type === "png" || this._iconName.type === "pdf") { width /= window.devicePixelRatio; height /= window.devicePixelRatio; } Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js (230893 => 230894) --- trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js 2018-04-21 20:46:44 UTC (rev 230893) +++ trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js 2018-04-21 21:47:55 UTC (rev 230894) @@ -30,13 +30,16 @@ EnterPiP: { name: "PipIn", type: "svg", label: UIString("Enter Picture in Picture") }, ExitFullscreen : { name: "ExitFullscreen", type: "svg", label: UIString("Exit Full Screen") }, Forward : { name: "Forward", type: "svg", label: UIString("Forward") }, +InvalidCompact : { name: "InvalidCompact", type: "pdf", label: UIString("Invalid") }, InvalidPlacard : { name: "invalid-placard", type: "png", label: UIString("Invalid") }, Pause : { name: "Pause", type: "svg", label: UIString("Pause") }, PiPPlacard : { name: "pip-placard", type: "png", label: UIString("Picture in Picture") }, Play: { name: "Play", type: "svg", label: UIString("Play") }, +PlayCompact : { name: "PlayCompact", type: "pdf", label: UIString("Play") }, Rewind : { name: "Rewind", type: "svg", label: UIString("Rewind") }, SkipBack: { name: "SkipBack15", type: "svg", label: UIString("Skip Back %s Seconds", SkipSeconds) }, SkipForward : { name: "SkipForward15", type: "svg", label: UIString("Skip Forward %s Seconds", SkipSeconds) }, +SpinnerCompact : { name: "ActivityIndicatorSpriteCompact", type: "png", label: UIString("Loading…") }, Tracks : { name: "MediaSelector", type: "svg", label: UIString("Media Selection") }, Volume : { name: "VolumeHi", type: "svg", label: UIString("Mute") }, VolumeRTL : { name: "VolumeHi-RTL", type: "svg", label: UIString("Mute") }, @@ -47,6 +50,7 @@ }; const MimeTypes = { +"pdf": "application/pdf", "png": "image/png", "svg": "image/svg+xml" }; Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (230
[webkit-changes] [230895] trunk
Title: [230895] trunk Revision 230895 Author grao...@webkit.org Date 2018-04-21 14:49:04 -0700 (Sat, 21 Apr 2018) Log Message [Modern Media Controls] Show a loading indicator after pressing the play button in compact mode https://bugs.webkit.org/show_bug.cgi?id=184863 Reviewed by Dean Jackson. Source/WebCore: We now display a loading indicator after pressing the play button when in compact mode. We also update the behavior to use assets provided through WebKitAdditions (see webkit.org/b/184862) for the play button and the invalid icon. Additionally, we always show a 20% opaque black overlay in the background while any piece of user interface is up. * Modules/modern-media-controls/controls/compact-activity-indicator.css: Added. (button.compact-activity-indicator > picture): The loading indicator asset is a sprite made of 23 frames, so we specify the mask size (since all buttons are rendered via a mask) to be 23 * 100% the rendered size. The display of the loading indicator is performed with a first intro animation which runs once through the first 8 frames and then a continuously looping animation going through the remaining frames. We use a frames() timing function to achieve the frame-by-frame effect while using only from/to keyframe animations. When we fade out, we use a simply opacity fade, which is combined with the spinning animation. We use CSS variables to encode both animations so they can be used combined or one at a time without redefining the whole animation property. (button.compact-activity-indicator.spins > picture): Use the "spins" animation variable when spinning. (button.compact-activity-indicator.spins.fades-out > picture): Combine the "spins" and "fades-out" animation variables when fading out. (@keyframes compact-activity-indicator-intro): Animation going through the first 8 frames of the loading indicator. (@keyframes compact-activity-indicator-loop): Animation going through the remaining frames of the loading indicator. (@keyframes compact-activity-indicator-fades-out): Animation fading opacity from 1 to 0. * Modules/modern-media-controls/controls/compact-activity-indicator.js: Added. (CompactActivityIndicator): (CompactActivityIndicator.prototype.show): Add the "spins" CSS class to show the control spinning with the intro animation. (CompactActivityIndicator.prototype.hide): Add the "fades-out" CSS class to hide the control, removing both this class and the "spins" class when the fade-out animation completes. * Modules/modern-media-controls/controls/compact-media-controls.css: Added. (.media-controls.compact:before): Add a 20% black overlay over the video frame to provide contrast for controls. (.media-controls.compact button): Ensure buttons are sized to use the entire video frame so that their hit region comprises the whole video frame. (.media-controls.compact button > picture): Override default blending styles for a simple solid white mask. (.media-controls.compact button:active > picture): Turn off the scale down effect when pressing a button. * Modules/modern-media-controls/controls/compact-media-controls.js: Expose a "state" property for the compact media controls, which can be exlusively one of three: "paused", "pending" and "invalid". (CompactMediaControls.): (CompactMediaControls.prototype.get state): (CompactMediaControls.prototype.set state): (CompactMediaControls.prototype.layout): In the "paused" state, show the play button. In the "pending" state show the loading indicator. In the "invalid" state show the invalid button. (CompactMediaControls.prototype.get placard): Deleted. (CompactMediaControls.prototype.set placard): Deleted. * Modules/modern-media-controls/js-files: * Modules/modern-media-controls/media/compact-media-controls-support.js: Added. (CompactMediaControlsSupport.prototype.get mediaEvents): (CompactMediaControlsSupport.prototype.handleEvent): Make the controls enter the "paused" state when receiving a "pause" event. Make the controls enter the "invalid" state when receiving an "error" event. (CompactMediaControlsSupport.prototype.enable): (CompactMediaControlsSupport.prototype.disable): (CompactMediaControlsSupport.prototype.buttonWasPressed): Play the media when pressing the play button and make the controls enter the "pending" state. When pressing the loading indicator, pause the media and make the controls enter the "paused" state. (CompactMediaControlsSupport.prototype._buttons): (CompactMediaControlsSupport): * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype._supportingObjectClasses): Only use CompactMediaControlsSupport as a media controller supporting object in the compact mode. * Modules/modern-media-controls/media/placard-support.js: (PlacardSupport.prototype.get mediaEvents): This media controller support object no longer needs to deal with compact mode. * Modules/modern-media-controls/media/playback-support.js: (PlaybackSupport.prototype.syncControl): This media controller support object no lon
[webkit-changes] [232537] trunk
Title: [232537] trunk Revision 232537 Author grao...@webkit.org Date 2018-06-06 01:20:10 -0700 (Wed, 06 Jun 2018) Log Message [Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled https://bugs.webkit.org/show_bug.cgi?id=186305 Reviewed by Dean Jackson. Source/WebCore: * animation/CSSAnimation.idl: * animation/CSSTransition.idl: Websites/webkit.org: Add a test for the WebAnimationsCSSIntegration runtime flag. * experimental-features.html: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.idl trunk/Source/WebCore/animation/CSSTransition.idl trunk/Websites/webkit.org/ChangeLog trunk/Websites/webkit.org/experimental-features.html Diff Modified: trunk/Source/WebCore/ChangeLog (232536 => 232537) --- trunk/Source/WebCore/ChangeLog 2018-06-06 04:53:35 UTC (rev 232536) +++ trunk/Source/WebCore/ChangeLog 2018-06-06 08:20:10 UTC (rev 232537) @@ -1,3 +1,13 @@ +2018-06-05 Antoine Quint + +[Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled +https://bugs.webkit.org/show_bug.cgi?id=186305 + +Reviewed by Dean Jackson. + +* animation/CSSAnimation.idl: +* animation/CSSTransition.idl: + 2018-06-05 Per Arne Vollan Move OpenGL display mask to screen data struct. Modified: trunk/Source/WebCore/animation/CSSAnimation.idl (232536 => 232537) --- trunk/Source/WebCore/animation/CSSAnimation.idl 2018-06-06 04:53:35 UTC (rev 232536) +++ trunk/Source/WebCore/animation/CSSAnimation.idl 2018-06-06 08:20:10 UTC (rev 232537) @@ -26,7 +26,7 @@ typedef USVString CSSOMString; [ -EnabledAtRuntime=WebAnimations, +EnabledAtRuntime=WebAnimationsCSSIntegration, Exposed=Window ] interface CSSAnimation : WebAnimation { readonly attribute CSSOMString animationName; Modified: trunk/Source/WebCore/animation/CSSTransition.idl (232536 => 232537) --- trunk/Source/WebCore/animation/CSSTransition.idl 2018-06-06 04:53:35 UTC (rev 232536) +++ trunk/Source/WebCore/animation/CSSTransition.idl 2018-06-06 08:20:10 UTC (rev 232537) @@ -26,7 +26,7 @@ typedef USVString CSSOMString; [ -EnabledAtRuntime=WebAnimations, +EnabledAtRuntime=WebAnimationsCSSIntegration, Exposed=Window ] interface CSSTransition : WebAnimation { readonly attribute CSSOMString transitionProperty; Modified: trunk/Websites/webkit.org/ChangeLog (232536 => 232537) --- trunk/Websites/webkit.org/ChangeLog 2018-06-06 04:53:35 UTC (rev 232536) +++ trunk/Websites/webkit.org/ChangeLog 2018-06-06 08:20:10 UTC (rev 232537) @@ -1,3 +1,14 @@ +2018-06-05 Antoine Quint + +[Web Animations] Only expose CSSAnimation and CSSTransition if the WebAnimationsCSSIntegration runtime flag is enabled +https://bugs.webkit.org/show_bug.cgi?id=186305 + +Reviewed by Dean Jackson. + +Add a test for the WebAnimationsCSSIntegration runtime flag. + +* experimental-features.html: + 2018-06-01 Dean Jackson Add a demo for passive touch listeners. Modified: trunk/Websites/webkit.org/experimental-features.html (232536 => 232537) --- trunk/Websites/webkit.org/experimental-features.html 2018-06-06 04:53:35 UTC (rev 232536) +++ trunk/Websites/webkit.org/experimental-features.html 2018-06-06 08:20:10 UTC (rev 232537) @@ -94,6 +94,10 @@ return !!window.Animation; } +function testWebAnimationsCSSIntegration() { +return !!window.CSSAnimation; +} + function testWebGL2() { let canvas = document.createElement("canvas"); return canvas.getContext("webgl2"); @@ -146,6 +150,7 @@ SubtleCrypto Variation Fonts Web Animations +Web Animations and CSS Integration WebGL 2.0 WebGPU WebRTC ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232596] trunk/Source/WebCore
Title: [232596] trunk/Source/WebCore Revision 232596 Author grao...@webkit.org Date 2018-06-07 12:51:43 -0700 (Thu, 07 Jun 2018) Log Message [ASan / StressGC] DumpRenderTree crashed in com.apple.WebCore: WebCore::EventTarget::ref + 16 https://bugs.webkit.org/show_bug.cgi?id=186207 Reviewed by Dean Jackson. Ensure that we clear the DOM event queue for declarative animations once an animation is cleared for an element since the element can be deleted before events get dispatched asynchronouly for this animation. We also only call AnimationTimeline::removeAnimationsForElement() from RenderTreeUpdater::tearDownRenderers() in the case where we're tearing down the whole document as otherwise this would yield early clearing of the event queue in the case where an element would get a "display: none" style. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::removeAnimationsForElement): * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::~DeclarativeAnimation): (WebCore::DeclarativeAnimation::prepareAnimationForRemoval): * animation/DeclarativeAnimation.h: * animation/WebAnimation.cpp: (WebCore::WebAnimation::prepareAnimationForRemoval): * animation/WebAnimation.h: * rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::tearDownRenderers): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.h trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (232595 => 232596) --- trunk/Source/WebCore/ChangeLog 2018-06-07 19:48:48 UTC (rev 232595) +++ trunk/Source/WebCore/ChangeLog 2018-06-07 19:51:43 UTC (rev 232596) @@ -1,3 +1,30 @@ +2018-06-07 Antoine Quint + +[ASan / StressGC] DumpRenderTree crashed in com.apple.WebCore: WebCore::EventTarget::ref + 16 +https://bugs.webkit.org/show_bug.cgi?id=186207 + + +Reviewed by Dean Jackson. + +Ensure that we clear the DOM event queue for declarative animations once an animation is cleared for +an element since the element can be deleted before events get dispatched asynchronouly for this animation. + +We also only call AnimationTimeline::removeAnimationsForElement() from RenderTreeUpdater::tearDownRenderers() +in the case where we're tearing down the whole document as otherwise this would yield early clearing of the event +queue in the case where an element would get a "display: none" style. + +* animation/AnimationTimeline.cpp: +(WebCore::AnimationTimeline::removeAnimationsForElement): +* animation/DeclarativeAnimation.cpp: +(WebCore::DeclarativeAnimation::~DeclarativeAnimation): +(WebCore::DeclarativeAnimation::prepareAnimationForRemoval): +* animation/DeclarativeAnimation.h: +* animation/WebAnimation.cpp: +(WebCore::WebAnimation::prepareAnimationForRemoval): +* animation/WebAnimation.h: +* rendering/updating/RenderTreeUpdater.cpp: +(WebCore::RenderTreeUpdater::tearDownRenderers): + 2018-06-07 Don Olmstead [CoordGraphics] Fix compilation errors around USE(COORDINATED_GRAPHICS) Modified: trunk/Source/WebCore/animation/AnimationTimeline.cpp (232595 => 232596) --- trunk/Source/WebCore/animation/AnimationTimeline.cpp 2018-06-07 19:48:48 UTC (rev 232595) +++ trunk/Source/WebCore/animation/AnimationTimeline.cpp 2018-06-07 19:51:43 UTC (rev 232596) @@ -153,7 +153,7 @@ void AnimationTimeline::removeAnimationsForElement(Element& element) { for (auto& animation : animationsForElement(element)) { -animation->setEffectInternal(nullptr); +animation->prepareAnimationForRemoval(); removeAnimation(animation.releaseNonNull()); } } Modified: trunk/Source/WebCore/animation/DeclarativeAnimation.cpp (232595 => 232596) --- trunk/Source/WebCore/animation/DeclarativeAnimation.cpp 2018-06-07 19:48:48 UTC (rev 232595) +++ trunk/Source/WebCore/animation/DeclarativeAnimation.cpp 2018-06-07 19:51:43 UTC (rev 232596) @@ -47,6 +47,11 @@ DeclarativeAnimation::~DeclarativeAnimation() { +} + +void DeclarativeAnimation::prepareAnimationForRemoval() +{ +WebAnimation::prepareAnimationForRemoval(); m_eventQueue.close(); } Modified: trunk/Source/WebCore/animation/DeclarativeAnimation.h (232595 => 232596) --- trunk/Source/WebCore/animation/DeclarativeAnimation.h 2018-06-07 19:48:48 UTC (rev 232595) +++ trunk/Source/WebCore/animation/DeclarativeAnimation.h 2018-06-07 19:51:43 UTC (rev 232596) @@ -45,6 +45,7 @@ const Animation& backingAnimation() const { return m_backingAnimation; } void setBackingAnimation(const Animation&); void invalidateDOMEvents(Seconds elapsedTime = 0_s); +void prepareAnimationForR
[webkit-changes] [232680] trunk/LayoutTests
Title: [232680] trunk/LayoutTests Revision 232680 Author grao...@webkit.org Date 2018-06-11 02:22:04 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183822 Unreviewed. This test has been passing reliably on the bots. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232679 => 232680) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:19:45 UTC (rev 232679) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:22:04 UTC (rev 232680) @@ -1,3 +1,14 @@ +2018-06-11 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183822 + +Unreviewed. + +This test has been passing reliably on the bots. + +* TestExpectations: + 2018-06-09 Zalan Bujtas REGRESSION (r230480): Cannot adjust photo position on LinkedIn's profile page Modified: trunk/LayoutTests/TestExpectations (232679 => 232680) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:19:45 UTC (rev 232679) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:22:04 UTC (rev 232680) @@ -1932,7 +1932,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] -webkit.org/b/183822 imported/mozilla/css-animations/test_animation-finished.html [ Pass Failure Timeout ] webkit.org/b/183823 imported/mozilla/css-transitions/test_animation-computed-timing.html [ Pass Failure Timeout ] webkit.org/b/183824 imported/mozilla/css-animations/test_animation-id.html [ Pass Failure Timeout ] webkit.org/b/183825 imported/mozilla/css-transitions/test_animation-currenttime.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232681] trunk/LayoutTests
Title: [232681] trunk/LayoutTests Revision 232681 Author grao...@webkit.org Date 2018-06-11 02:26:11 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183823 Unreviewed. This test is now passing. LayoutTests/imported/mozilla: * css-transitions/test_animation-computed-timing-expected.txt: LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (232680 => 232681) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:22:04 UTC (rev 232680) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:26:11 UTC (rev 232681) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183823 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_animation-finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183822 Modified: trunk/LayoutTests/TestExpectations (232680 => 232681) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:22:04 UTC (rev 232680) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:26:11 UTC (rev 232681) @@ -1932,7 +1932,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] -webkit.org/b/183823 imported/mozilla/css-transitions/test_animation-computed-timing.html [ Pass Failure Timeout ] webkit.org/b/183824 imported/mozilla/css-animations/test_animation-id.html [ Pass Failure Timeout ] webkit.org/b/183825 imported/mozilla/css-transitions/test_animation-currenttime.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232680 => 232681) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:22:04 UTC (rev 232680) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:26:11 UTC (rev 232681) @@ -1,3 +1,14 @@ +2018-06-11 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183823 + +Unreviewed. + +This test is now passing. + +* css-transitions/test_animation-computed-timing-expected.txt: + 2018-05-18 Antoine Quint [Web Animations] Turn Web Animations with CSS integration on for test runners Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt (232680 => 232681) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt 2018-06-11 09:22:04 UTC (rev 232680) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-computed-timing-expected.txt 2018-06-11 09:26:11 UTC (rev 232681) @@ -3,7 +3,7 @@ PASS Positive delay of a new transition PASS Negative delay of a new transition PASS endDelay of a new transition -FAIL fill of a new transition assert_equals: Fill backwards expected "backwards" but got "none" +PASS fill of a new transition PASS iterationStart of a new transition PASS iterations of a new transition PASS duration of a new transition @@ -15,9 +15,9 @@ PASS localTime is always equal to currentTime PASS localTime reflects playbackRate immediately PASS progress of a new transition -FAIL progress of a new transition with positive delay in before phase assert_equals: Initial value of progress expected (number) 0 but got (object) null +PASS progress of a new transition with positive delay in before phase PASS progress of a finished transition PASS currentIteration of a new transition -FAIL currentIteration of a new transition with positive delay in before phase assert_equals: Initial value of currentIteration expected (number) 0 but got (object) null +PASS currentIteration of a new transition with positive delay in before phase PASS currentIteration of a finished transition ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232682] trunk/LayoutTests
Title: [232682] trunk/LayoutTests Revision 232682 Author grao...@webkit.org Date 2018-06-11 02:28:55 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183824 Unreviewed. This test has been passing reliably on the bots. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232681 => 232682) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:26:11 UTC (rev 232681) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:28:55 UTC (rev 232682) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183824 + +Unreviewed. + +This test has been passing reliably on the bots. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183823 Modified: trunk/LayoutTests/TestExpectations (232681 => 232682) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:26:11 UTC (rev 232681) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:28:55 UTC (rev 232682) @@ -1932,7 +1932,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] -webkit.org/b/183824 imported/mozilla/css-animations/test_animation-id.html [ Pass Failure Timeout ] webkit.org/b/183825 imported/mozilla/css-transitions/test_animation-currenttime.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183827 imported/mozilla/css-transitions/test_animation-finished.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232685] trunk/LayoutTests
Title: [232685] trunk/LayoutTests Revision 232685 Author grao...@webkit.org Date 2018-06-11 02:32:25 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183825 Unreviewed. This test is now passing. LayoutTests/imported/mozilla: * css-transitions/test_animation-currenttime-expected.txt: LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-currenttime-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (232684 => 232685) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:29:31 UTC (rev 232684) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:32:25 UTC (rev 232685) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183825 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_animation-id.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183824 Modified: trunk/LayoutTests/TestExpectations (232684 => 232685) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:29:31 UTC (rev 232684) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:32:25 UTC (rev 232685) @@ -1932,7 +1932,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] -webkit.org/b/183825 imported/mozilla/css-transitions/test_animation-currenttime.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183827 imported/mozilla/css-transitions/test_animation-finished.html [ Pass Failure Timeout ] webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232684 => 232685) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:29:31 UTC (rev 232684) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:32:25 UTC (rev 232685) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183825 + +Unreviewed. + +This test is now passing. + +* css-transitions/test_animation-currenttime-expected.txt: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-computed-timing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183823 Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-currenttime-expected.txt (232684 => 232685) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-currenttime-expected.txt 2018-06-11 09:29:31 UTC (rev 232684) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-currenttime-expected.txt 2018-06-11 09:32:25 UTC (rev 232685) @@ -1,7 +1,7 @@ PASS currentTime of a newly created transition is zero PASS Sanity test to check round-tripping assigning to new animation's currentTime -FAIL Skipping forward through transition assert_equals: the computed value of margin-left should be unaffected by an animation with a delay on ready Promise resolve expected 100 but got 200 +PASS Skipping forward through transition PASS Skipping backwards through transition PASS Setting currentTime to null PASS Animation.currentTime after pausing ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232686] trunk/LayoutTests
Title: [232686] trunk/LayoutTests Revision 232686 Author grao...@webkit.org Date 2018-06-11 02:34:45 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183827 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232685 => 232686) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:32:25 UTC (rev 232685) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:34:45 UTC (rev 232686) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183827 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183825 Modified: trunk/LayoutTests/TestExpectations (232685 => 232686) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:32:25 UTC (rev 232685) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:34:45 UTC (rev 232686) @@ -1933,7 +1933,6 @@ webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] -webkit.org/b/183827 imported/mozilla/css-transitions/test_animation-finished.html [ Pass Failure Timeout ] webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183829 imported/mozilla/css-transitions/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232687] trunk/LayoutTests
Title: [232687] trunk/LayoutTests Revision 232687 Author grao...@webkit.org Date 2018-06-11 02:37:36 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183829 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232686 => 232687) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:34:45 UTC (rev 232686) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:37:36 UTC (rev 232687) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183829 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183827 Modified: trunk/LayoutTests/TestExpectations (232686 => 232687) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:34:45 UTC (rev 232686) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:37:36 UTC (rev 232687) @@ -1934,7 +1934,6 @@ webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] -webkit.org/b/183829 imported/mozilla/css-transitions/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183831 imported/mozilla/css-transitions/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183832 imported/mozilla/css-animations/test_animation-reverse.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232688] trunk/LayoutTests
Title: [232688] trunk/LayoutTests Revision 232688 Author grao...@webkit.org Date 2018-06-11 02:41:15 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183832 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232687 => 232688) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:37:36 UTC (rev 232687) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:41:15 UTC (rev 232688) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183832 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-pausing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183829 Modified: trunk/LayoutTests/TestExpectations (232687 => 232688) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:37:36 UTC (rev 232687) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:41:15 UTC (rev 232688) @@ -1936,7 +1936,6 @@ webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183831 imported/mozilla/css-transitions/test_animation-ready.html [ Pass Failure Timeout ] -webkit.org/b/183832 imported/mozilla/css-animations/test_animation-reverse.html [ Pass Failure Timeout ] webkit.org/b/183833 imported/mozilla/css-transitions/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183835 imported/mozilla/css-transitions/test_csstransition-transitionproperty.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232695] trunk/LayoutTests
Title: [232695] trunk/LayoutTests Revision 232695 Author grao...@webkit.org Date 2018-06-11 02:56:47 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183833 Unreviewed. This test is now passing. LayoutTests/imported/mozilla: * css-transitions/test_animation-starttime-expected.txt: LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-starttime-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (232694 => 232695) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:53:50 UTC (rev 232694) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:56:47 UTC (rev 232695) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183833 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_animation-reverse.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183832 Modified: trunk/LayoutTests/TestExpectations (232694 => 232695) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:53:50 UTC (rev 232694) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:56:47 UTC (rev 232695) @@ -1936,7 +1936,6 @@ webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183831 imported/mozilla/css-transitions/test_animation-ready.html [ Pass Failure Timeout ] -webkit.org/b/183833 imported/mozilla/css-transitions/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183835 imported/mozilla/css-transitions/test_csstransition-transitionproperty.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232694 => 232695) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:53:50 UTC (rev 232694) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 09:56:47 UTC (rev 232695) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183833 + +Unreviewed. + +This test is now passing. + +* css-transitions/test_animation-starttime-expected.txt: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-currenttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183825 Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-starttime-expected.txt (232694 => 232695) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-starttime-expected.txt 2018-06-11 09:53:50 UTC (rev 232694) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-starttime-expected.txt 2018-06-11 09:56:47 UTC (rev 232695) @@ -1,7 +1,7 @@ PASS startTime of a newly created transition is unresolved PASS Sanity test to check round-tripping assigning to new animation's startTime -FAIL Skipping forward through animation assert_equals: the computed value of margin-left should be unaffected by an animation with a delay on ready Promise resolve expected 100 but got 200 +PASS Skipping forward through animation PASS Skipping backwards through transition PASS Setting startTime to null PASS Animation.startTime after paused ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232696] trunk/LayoutTests
Title: [232696] trunk/LayoutTests Revision 232696 Author grao...@webkit.org Date 2018-06-11 02:58:38 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionproperty.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183835 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232695 => 232696) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:56:47 UTC (rev 232695) +++ trunk/LayoutTests/ChangeLog 2018-06-11 09:58:38 UTC (rev 232696) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionproperty.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183835 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183833 Modified: trunk/LayoutTests/TestExpectations (232695 => 232696) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:56:47 UTC (rev 232695) +++ trunk/LayoutTests/TestExpectations 2018-06-11 09:58:38 UTC (rev 232696) @@ -1937,7 +1937,6 @@ webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183831 imported/mozilla/css-transitions/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] -webkit.org/b/183835 imported/mozilla/css-transitions/test_csstransition-transitionproperty.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183838 imported/mozilla/css-animations/test_cssanimation-animationname.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232697] trunk/LayoutTests
Title: [232697] trunk/LayoutTests Revision 232697 Author grao...@webkit.org Date 2018-06-11 03:04:18 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183838 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232696 => 232697) --- trunk/LayoutTests/ChangeLog 2018-06-11 09:58:38 UTC (rev 232696) +++ trunk/LayoutTests/ChangeLog 2018-06-11 10:04:18 UTC (rev 232697) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183838 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_csstransition-transitionproperty.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183835 Modified: trunk/LayoutTests/TestExpectations (232696 => 232697) --- trunk/LayoutTests/TestExpectations 2018-06-11 09:58:38 UTC (rev 232696) +++ trunk/LayoutTests/TestExpectations 2018-06-11 10:04:18 UTC (rev 232697) @@ -1939,7 +1939,6 @@ webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] -webkit.org/b/183838 imported/mozilla/css-animations/test_cssanimation-animationname.html [ Pass Failure Timeout ] webkit.org/b/183840 imported/mozilla/css-animations/test_document-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183841 imported/mozilla/css-transitions/test_element-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183844 imported/mozilla/css-animations/test_element-get-animations.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232698] trunk/LayoutTests
Title: [232698] trunk/LayoutTests Revision 232698 Author grao...@webkit.org Date 2018-06-11 03:10:46 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183849 Unreviewed. This test is now passing. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232697 => 232698) --- trunk/LayoutTests/ChangeLog 2018-06-11 10:04:18 UTC (rev 232697) +++ trunk/LayoutTests/ChangeLog 2018-06-11 10:10:46 UTC (rev 232698) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183849 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_cssanimation-animationname.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183838 Modified: trunk/LayoutTests/TestExpectations (232697 => 232698) --- trunk/LayoutTests/TestExpectations 2018-06-11 10:04:18 UTC (rev 232697) +++ trunk/LayoutTests/TestExpectations 2018-06-11 10:10:46 UTC (rev 232698) @@ -1944,7 +1944,6 @@ webkit.org/b/183844 imported/mozilla/css-animations/test_element-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183846 imported/mozilla/css-transitions/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183847 imported/mozilla/css-animations/test_event-order.html [ Pass Failure Timeout ] -webkit.org/b/183849 imported/mozilla/css-animations/test_setting-effect.html [ Pass Failure Timeout ] webkit.org/b/183850 imported/mozilla/css-transitions/test_setting-effect.html [ Pass Failure Timeout ] webkit.org/b/183848 imported/mozilla/css-animations/test_keyframeeffect-getkeyframes.html [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232699] trunk/LayoutTests
Title: [232699] trunk/LayoutTests Revision 232699 Author grao...@webkit.org Date 2018-06-11 03:13:20 -0700 (Mon, 11 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183850 Unreviewed. This test is now passing. LayoutTests/imported/mozilla: * css-transitions/test_setting-effect-expected.txt: LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-transitions/test_setting-effect-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (232698 => 232699) --- trunk/LayoutTests/ChangeLog 2018-06-11 10:10:46 UTC (rev 232698) +++ trunk/LayoutTests/ChangeLog 2018-06-11 10:13:20 UTC (rev 232699) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183850 + +Unreviewed. + +This test is now passing. + +* TestExpectations: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_setting-effect.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183849 Modified: trunk/LayoutTests/TestExpectations (232698 => 232699) --- trunk/LayoutTests/TestExpectations 2018-06-11 10:10:46 UTC (rev 232698) +++ trunk/LayoutTests/TestExpectations 2018-06-11 10:13:20 UTC (rev 232699) @@ -1944,7 +1944,6 @@ webkit.org/b/183844 imported/mozilla/css-animations/test_element-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183846 imported/mozilla/css-transitions/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183847 imported/mozilla/css-animations/test_event-order.html [ Pass Failure Timeout ] -webkit.org/b/183850 imported/mozilla/css-transitions/test_setting-effect.html [ Pass Failure Timeout ] webkit.org/b/183848 imported/mozilla/css-animations/test_keyframeeffect-getkeyframes.html [ Skip ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232698 => 232699) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 10:10:46 UTC (rev 232698) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-11 10:13:20 UTC (rev 232699) @@ -1,5 +1,16 @@ 2018-06-11 Antoine Quint +[Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183850 + +Unreviewed. + +This test is now passing. + +* css-transitions/test_setting-effect-expected.txt: + +2018-06-11 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-starttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183833 Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_setting-effect-expected.txt (232698 => 232699) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_setting-effect-expected.txt 2018-06-11 10:10:46 UTC (rev 232698) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_setting-effect-expected.txt 2018-06-11 10:13:20 UTC (rev 232699) @@ -1,6 +1,6 @@ PASS Test for removing a transition effect -FAIL Test for replacing the transition effect by a new keyframe effect assert_equals: expected "100px" but got "0px" +PASS Test for replacing the transition effect by a new keyframe effect PASS Test for setting a new keyframe effect with a shorter duration PASS Test for setting a new keyframe effect to a pending transition ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232868] trunk
Title: [232868] trunk Revision 232868 Author grao...@webkit.org Date 2018-06-15 05:30:27 -0700 (Fri, 15 Jun 2018) Log Message [Web Animations] CSS Animations should take precedence over CSS Transitions https://bugs.webkit.org/show_bug.cgi?id=186651 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark some progressions in the Mozilla CSS Animations and CSS Transitions tests. * css-animations/test_element-get-animations-expected.txt: * css-transitions/test_document-get-animations-expected.txt: Source/WebCore: Ensure CSS Animations override CSS Transitions by modifying the order in which animations are returned by animationsForElement(). * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationsForElement const): Modified Paths trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt trunk/LayoutTests/imported/mozilla/css-transitions/test_document-get-animations-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp Diff Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232867 => 232868) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-15 06:28:17 UTC (rev 232867) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-15 12:30:27 UTC (rev 232868) @@ -1,3 +1,15 @@ +2018-06-15 Antoine Quint + +[Web Animations] CSS Animations should take precedence over CSS Transitions +https://bugs.webkit.org/show_bug.cgi?id=186651 + +Reviewed by Dean Jackson. + +Mark some progressions in the Mozilla CSS Animations and CSS Transitions tests. + +* css-animations/test_element-get-animations-expected.txt: +* css-transitions/test_document-get-animations-expected.txt: + 2018-06-11 Antoine Quint [Web Animations] Make imported/mozilla/css-transitions/test_setting-effect.html pass reliably Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt (232867 => 232868) --- trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt 2018-06-15 06:28:17 UTC (rev 232867) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt 2018-06-15 12:30:27 UTC (rev 232868) @@ -3,7 +3,7 @@ PASS getAnimations for CSS Animations PASS getAnimations returns CSSAnimation objects for CSS Animations PASS getAnimations for multi-property animations -FAIL getAnimations for both CSS Animations and CSS Transitions at once assert_equals: getAnimations returns Animations for both animations and transitions that run simultaneously expected 2 but got 1 +PASS getAnimations for both CSS Animations and CSS Transitions at once PASS getAnimations for CSS Animations that have finished PASS getAnimations for CSS Animations that have finished but are forwards filling FAIL getAnimations for CSS Animations with animation-name: none assert_equals: getAnimations returns an empty sequence for an element with animation-name: none expected 0 but got 1 Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_document-get-animations-expected.txt (232867 => 232868) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_document-get-animations-expected.txt 2018-06-15 06:28:17 UTC (rev 232867) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_document-get-animations-expected.txt 2018-06-15 12:30:27 UTC (rev 232868) @@ -1,6 +1,6 @@ PASS getAnimations for non-animated content -FAIL getAnimations for CSS Transitions assert_equals: getAnimations returns two running CSS Transitions expected 2 but got 0 -FAIL CSS Transitions targetting (pseudo-)elements should have correct order after sorting assert_equals: CSS transition on both pseudo-elements and elements are returned expected 4 but got 2 -FAIL Transitions are not returned after they have finished assert_equals: Got transition expected 1 but got 0 +PASS getAnimations for CSS Transitions +FAIL CSS Transitions targetting (pseudo-)elements should have correct order after sorting assert_equals: The animation targeting the ::before element comes second expected (string) "::before" but got (undefined) undefined +PASS Transitions are not returned after they have finished Modified: trunk/Source/WebCore/ChangeLog (232867 => 232868) --- trunk/Source/WebCore/ChangeLog 2018-06-15 06:28:17 UTC (rev 232867) +++ trunk/Source/WebCore/ChangeLog 2018-06-15 12:30:27 UTC (rev 232868) @@ -1,3 +1,15 @@ +2018-06-15 Antoine Quint + +[Web Animations] CSS Animations should take precedence over CSS Transitions +https://bugs.webkit.org/show_bug.cgi?id=186651 + +Reviewed by Dean Jackson. + +Ensure CSS Animations override CSS Transitions by modifying the order in which animations are returned by animationsForElement(). + +* animation/AnimationTimeline.cpp: +(WebCore::AnimationTimeline::animationsForElement cons
[webkit-changes] [232946] trunk
Title: [232946] trunk Revision 232946 Author grao...@webkit.org Date 2018-06-18 14:20:47 -0700 (Mon, 18 Jun 2018) Log Message [Web Animations] Implement "Starting of transitions" section from CSS Transitions https://bugs.webkit.org/show_bug.cgi?id=186517 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark some progressions in the Mozilla CSS Animations and CSS Transitions tests. * css-transitions/test_animation-cancel-expected.txt: * css-transitions/test_animation-ready-expected.txt: Source/WebCore: We implement the whole section at https://drafts.csswg.org/css-transitions-1/#starting so that we have spec-compliant starting of CSS Transitions. To correctly implement this we now maintain two maps of transitions for a given property, a set of running transitions (m_elementToRunningCSSTransitionByCSSPropertyID) and a set of completed transition (m_elementToCompletedCSSTransitionByCSSPropertyID). * animation/AnimationTimeline.cpp: (WebCore::removeCSSTransitionFromMap): Add a utility to remove a CSSTransition from one of the two HashMap>> managed by AnimationTimeline (m_elementToRunningCSSTransitionByCSSPropertyID and m_elementToCompletedCSSTransitionByCSSPropertyID). (WebCore::AnimationTimeline::animationWasRemovedFromElement): Use the new removeCSSTransitionFromMap() utility. (WebCore::AnimationTimeline::updateCSSAnimationsForElement): We rename "oldStyle" to "currentStyle" to align with the naming used by updateCSSAnimationsForElement(). We also remove an initial check that has been pushed up to Style::TreeResolver::createAnimatedElementUpdate(). (WebCore::propertyInStyleMatchesValueForTransitionInMap): When running the steps mandated by the spec we often need to check whether a given property has a transition in an AnimationList that matches the value used in a given RenderStyle. (WebCore::transitionCombinedDuration): We need to compute the combined duration twice while running the steps mandated by the spec, so we have a dedicated utility. (WebCore::transitionMatchesProperty): New utility that indicates whether a WebCore::Animation matches a given property, by virtue of targeting it directly, targeting a shorthand for which this property is a longhand, or targeting "all". (WebCore::AnimationTimeline::updateCSSTransitionsForElement): This is where all of the new implementation for starting transitions happens. We implement the steps as they appear in the spec. (WebCore::shouldBackingAnimationBeConsideredForCSSTransition): Deleted. * animation/AnimationTimeline.h: * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation): Since only CSS Animations respect the delay and duration values as parsed directly in a WebCore:Animation object, we move code that was previously in DeclarativeAnimation::syncPropertiesWithBackingAnimation to this method. CSS Transitions set those values based on the delay and duration parameters passed to CSSTransition::create() and computed in AnimationTimeline::updateCSSTransitionsForElement(). * animation/CSSTransition.cpp: (WebCore::CSSTransition::create): Since the transition's delay and duration is computed in AnimationTimeline::updateCSSTransitionsForElement(), we now require them to be passed when creating a CSSTransition and pass those to the new setTimingProperties() function. We also expect a target style and reversing-adjusted start style, as well as a reversing-shortening factor. (WebCore::CSSTransition::CSSTransition): (WebCore::CSSTransition::resolve): We need to be able to query the last style computed by a call to resolve() from AnimationTimeline::updateCSSTransitionsForElement(), we subclass this newly-virtual WebAnimation method and clone the style after we blended the property targeted by this transition. (WebCore::CSSTransition::setTimingProperties): Set the transition delay and duration as provided in the call to create(). (WebCore::CSSTransition::canBeListed const): Fix a crash that was found while working on this bug where we could access a null effect. (WebCore::CSSTransition::initialize): Deleted. (WebCore::CSSTransition::matchesBackingAnimationAndStyles const): Deleted. * animation/CSSTransition.h: * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::syncPropertiesWithBackingAnimation): This virtual method now has an empty definition since the timing properties are now only set for CSSAnimation. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::stylesWouldYieldNewCSSTransitionsBlendingKeyframes const): Deleted. * animation/KeyframeEffectReadOnly.h: * animation/WebAnimation.h: * page/animation/CSSPropertyAnimation.cpp: (WebCore::AnimationPropertyWrapperBase::canInterpolate const): Since we need to be able to determine whether some property values can be interpolated, we add a new canInterpolate() method to the base wrapper class so the cases where we can't interpolate values (length with an "auto" type) may return false. (WebCore::LengthPropertyWrapper::LengthPrope
[webkit-changes] [232960] trunk
Title: [232960] trunk Revision 232960 Author grao...@webkit.org Date 2018-06-19 08:33:22 -0700 (Tue, 19 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183821 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark a progression in the Mozilla CSS Transitions tests. * css-transitions/test_animation-cancel-expected.txt: Source/WebCore: If an element gets a "display: none" style RenderTreeUpdater::tearDownRenderers() will be called with a RendererUpdateCancelingAnimations teardown type on all of its children. We need to ensure all declarative animations, and only those since regular Web Animations should be kept active regardless of their target's style, are canceled in this situation. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::cancelDeclarativeAnimationsForElement): * animation/AnimationTimeline.h: * rendering/updating/RenderTreeUpdater.cpp: (WebCore::RenderTreeUpdater::tearDownRenderers): LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-cancel-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/rendering/updating/RenderTreeUpdater.cpp Diff Modified: trunk/LayoutTests/ChangeLog (232959 => 232960) --- trunk/LayoutTests/ChangeLog 2018-06-19 14:02:27 UTC (rev 232959) +++ trunk/LayoutTests/ChangeLog 2018-06-19 15:33:22 UTC (rev 232960) @@ -1,3 +1,15 @@ +2018-06-19 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183821 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-19 Youenn Fablet RTCRtpSender.replaceTrack(null) ends current track Modified: trunk/LayoutTests/TestExpectations (232959 => 232960) --- trunk/LayoutTests/TestExpectations 2018-06-19 14:02:27 UTC (rev 232959) +++ trunk/LayoutTests/TestExpectations 2018-06-19 15:33:22 UTC (rev 232960) @@ -1928,7 +1928,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] -webkit.org/b/183821 imported/mozilla/css-transitions/test_animation-cancel.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232959 => 232960) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-19 14:02:27 UTC (rev 232959) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-19 15:33:22 UTC (rev 232960) @@ -1,3 +1,15 @@ +2018-06-19 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183821 + + +Reviewed by Dean Jackson. + +Mark a progression in the Mozilla CSS Transitions tests. + +* css-transitions/test_animation-cancel-expected.txt: + 2018-06-18 Antoine Quint [Web Animations] Implement "Starting of transitions" section from CSS Transitions Modified: trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-cancel-expected.txt (232959 => 232960) --- trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-cancel-expected.txt 2018-06-19 14:02:27 UTC (rev 232959) +++ trunk/LayoutTests/imported/mozilla/css-transitions/test_animation-cancel-expected.txt 2018-06-19 15:33:22 UTC (rev 232960) @@ -4,7 +4,7 @@ PASS After cancelling a finished transition, it can still be re-used PASS After cancelling a transition, updating transition properties doesn't make it live again PASS Setting display:none on an element cancels its transitions -FAIL Setting display:none cancels transitions on a child element assert_equals: expected "idle" but got "running" +PASS Setting display:none cancels transitions on a child element PASS Removing a property from transition-property cancels transitions on that property PASS Setting zero combined duration PASS Changing style to another interpolable value cancels the original transition Modified: trunk/Source/WebCore/ChangeLog (232959 => 232960) --- trunk/Source/WebCore/ChangeLog 2018-06-19 14:02:27 UTC (rev 232959) +++ trunk/Source/WebCore/ChangeLog 2018-06-19 15
[webkit-changes] [232961] trunk/LayoutTests
Title: [232961] trunk/LayoutTests Revision 232961 Author grao...@webkit.org Date 2018-06-19 08:37:44 -0700 (Tue, 19 Jun 2018) Log Message Layout Test imported/mozilla/css-animations/test_animation-cancel.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=184011 Unreviewed. This test should pass reliably as of r232960 thanks to the fix to webkit.org/b/183821. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (232960 => 232961) --- trunk/LayoutTests/ChangeLog 2018-06-19 15:33:22 UTC (rev 232960) +++ trunk/LayoutTests/ChangeLog 2018-06-19 15:37:44 UTC (rev 232961) @@ -1,5 +1,16 @@ 2018-06-19 Antoine Quint +Layout Test imported/mozilla/css-animations/test_animation-cancel.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=184011 + +Unreviewed. + +This test should pass reliably as of r232960 thanks to the fix to webkit.org/b/183821. + +* TestExpectations: + +2018-06-19 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183821 Modified: trunk/LayoutTests/TestExpectations (232960 => 232961) --- trunk/LayoutTests/TestExpectations 2018-06-19 15:33:22 UTC (rev 232960) +++ trunk/LayoutTests/TestExpectations 2018-06-19 15:37:44 UTC (rev 232961) @@ -1927,7 +1927,6 @@ webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] -webkit.org/b/184011 imported/mozilla/css-animations/test_animation-cancel.html [ Pass Failure ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [232978] trunk
Title: [232978] trunk Revision 232978 Author grao...@webkit.org Date 2018-06-19 13:30:55 -0700 (Tue, 19 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-playstate.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183828 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark a progression in the Mozilla CSS Animations tests. * css-animations/test_animation-playstate-expected.txt: Source/WebCore: We need to ensure pending styles have been resolved prior to returning the play state for a CSS Animation since it can be controlled by the animation-play-state CSS property. To that end we expose a specific bindings-only method which we override for CSSAnimation to force a style update. * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::bindingsPlayState const): * animation/CSSAnimation.h: * animation/WebAnimation.h: (WebCore::WebAnimation::bindingsPlayState const): * animation/WebAnimation.idl: LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-playstate-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.cpp trunk/Source/WebCore/animation/CSSAnimation.h trunk/Source/WebCore/animation/WebAnimation.h trunk/Source/WebCore/animation/WebAnimation.idl Diff Modified: trunk/LayoutTests/ChangeLog (232977 => 232978) --- trunk/LayoutTests/ChangeLog 2018-06-19 20:09:15 UTC (rev 232977) +++ trunk/LayoutTests/ChangeLog 2018-06-19 20:30:55 UTC (rev 232978) @@ -1,3 +1,15 @@ +2018-06-19 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_animation-playstate.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183828 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-19 Wenson Hsieh [WebKit on watchOS] Vend username text content type when using scribble in login fields Modified: trunk/LayoutTests/TestExpectations (232977 => 232978) --- trunk/LayoutTests/TestExpectations 2018-06-19 20:09:15 UTC (rev 232977) +++ trunk/LayoutTests/TestExpectations 2018-06-19 20:30:55 UTC (rev 232978) @@ -1928,7 +1928,6 @@ webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] -webkit.org/b/183828 imported/mozilla/css-animations/test_animation-playstate.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (232977 => 232978) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-19 20:09:15 UTC (rev 232977) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-19 20:30:55 UTC (rev 232978) @@ -1,5 +1,17 @@ 2018-06-19 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-playstate.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183828 + + +Reviewed by Dean Jackson. + +Mark a progression in the Mozilla CSS Animations tests. + +* css-animations/test_animation-playstate-expected.txt: + +2018-06-19 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_animation-cancel.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183821 Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-playstate-expected.txt (232977 => 232978) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-playstate-expected.txt 2018-06-19 20:09:15 UTC (rev 232977) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-playstate-expected.txt 2018-06-19 20:30:55 UTC (rev 232978) @@ -2,6 +2,6 @@ PASS Animation returns correct playState when running PASS Animation returns correct playState when paused PASS Animation.playState updates when paused by script -FAIL Animation.playState updates when resumed by setting style assert_equals: Animation.playState reports running after updating animation-play-state (got: paused) expected "running" but got "paused" +PASS Animation.playState updates when resumed by setting style PASS Animation returns correct playState when cancelled Modified: trunk/Source/WebCore/ChangeLog (232977 => 232978) --- trunk/Source/WebCore/ChangeLog 2018-06-19 20:09:15 UTC (rev 232977) +++ trunk/Source/WebCore/ChangeLog 2018-06-19 20:30:55 UTC (rev 232978) @@ -1,3 +1,22 @
[webkit-changes] [233004] trunk
Title: [233004] trunk Revision 233004 Author grao...@webkit.org Date 2018-06-20 00:07:34 -0700 (Wed, 20 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183818 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Transitions and CSS Animations tests. * css-animations/test_pseudoElement-get-animations-expected.txt: * css-transitions/test_element-get-animations-expected.txt: Source/WebCore: We add a new opt-in flag to return sorted animations when calling AnimationTimeline::animationsForElement() so that Element::getAnimations() can opt into returning animations sorted by the rules defined by the CSS Transitions spec. The rule is that CSS Transitions must be sorted prior to CSS Animations and regular Web Animations, and then sorted by the time they were generated and, if generated at the same time, sorted alphabetically based on the transitioned property. To be able to accomodate this, we add a new generationTime() method to CSSTransition. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::animationsForElement const): (WebCore::AnimationTimeline::updateCSSTransitionsForElement): * animation/AnimationTimeline.h: * animation/CSSTransition.cpp: (WebCore::CSSTransition::create): (WebCore::CSSTransition::CSSTransition): * animation/CSSTransition.h: * dom/Element.cpp: (WebCore::Element::getAnimations): LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_pseudoElement-get-animations-expected.txt trunk/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/animation/CSSTransition.cpp trunk/Source/WebCore/animation/CSSTransition.h trunk/Source/WebCore/dom/Element.cpp Diff Modified: trunk/LayoutTests/ChangeLog (233003 => 233004) --- trunk/LayoutTests/ChangeLog 2018-06-20 06:37:50 UTC (rev 233003) +++ trunk/LayoutTests/ChangeLog 2018-06-20 07:07:34 UTC (rev 233004) @@ -1,3 +1,15 @@ +2018-06-19 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183818 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-19 Per Arne Vollan Layout Test imported/mozilla/css-animations/test_animation-playstate.html is failing. Modified: trunk/LayoutTests/TestExpectations (233003 => 233004) --- trunk/LayoutTests/TestExpectations 2018-06-20 06:37:50 UTC (rev 233003) +++ trunk/LayoutTests/TestExpectations 2018-06-20 07:07:34 UTC (rev 233004) @@ -1926,7 +1926,6 @@ webkit.org/b/181123 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish.html [ Pass Failure ] webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] -webkit.org/b/183818 imported/mozilla/css-animations/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233003 => 233004) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-20 06:37:50 UTC (rev 233003) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-20 07:07:34 UTC (rev 233004) @@ -1,5 +1,18 @@ 2018-06-19 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183818 + + +Reviewed by Dean Jackson. + +Mark progressions in the Mozilla CSS Transitions and CSS Animations tests. + +* css-animations/test_pseudoElement-get-animations-expected.txt: +* css-transitions/test_element-get-animations-expected.txt: + +2018-06-19 Antoine Quint + [Web Animations] Make imported/mozilla/css-animations/test_animation-playstate.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183828 Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_pseudoElement-get-animations-expected.txt (233003 => 233004) --- trunk/LayoutTests/imported/mozilla/css-animations/test_pseudoElement-get-animations-expected.txt 2018-06-20 06:37:50 UTC (rev 233003) +++ trunk/La
[webkit-changes] [233010] trunk
Title: [233010] trunk Revision 233010 Author grao...@webkit.org Date 2018-06-20 04:48:39 -0700 (Wed, 20 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183841 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Transitions and CSS Animations tests. * css-animations/test_element-get-animations-expected.txt: * css-transitions/test_element-get-animations-expected.txt: Source/WebCore: We must ignore CSS Animations with "animation-name: none". * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::updateCSSAnimationsForElement): LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt trunk/LayoutTests/imported/mozilla/css-transitions/test_element-get-animations-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp Diff Modified: trunk/LayoutTests/ChangeLog (233009 => 233010) --- trunk/LayoutTests/ChangeLog 2018-06-20 11:05:57 UTC (rev 233009) +++ trunk/LayoutTests/ChangeLog 2018-06-20 11:48:39 UTC (rev 233010) @@ -1,3 +1,15 @@ +2018-06-20 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183841 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-19 Antoine Quint [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably Modified: trunk/LayoutTests/TestExpectations (233009 => 233010) --- trunk/LayoutTests/TestExpectations 2018-06-20 11:05:57 UTC (rev 233009) +++ trunk/LayoutTests/TestExpectations 2018-06-20 11:48:39 UTC (rev 233010) @@ -1932,7 +1932,6 @@ webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183840 imported/mozilla/css-animations/test_document-get-animations.html [ Pass Failure Timeout ] -webkit.org/b/183841 imported/mozilla/css-transitions/test_element-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183844 imported/mozilla/css-animations/test_element-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183846 imported/mozilla/css-transitions/test_pseudoElement-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183847 imported/mozilla/css-animations/test_event-order.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233009 => 233010) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-20 11:05:57 UTC (rev 233009) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-20 11:48:39 UTC (rev 233010) @@ -1,3 +1,16 @@ +2018-06-20 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183841 + + +Reviewed by Dean Jackson. + +Mark progressions in the Mozilla CSS Transitions and CSS Animations tests. + +* css-animations/test_element-get-animations-expected.txt: +* css-transitions/test_element-get-animations-expected.txt: + 2018-06-19 Antoine Quint [Web Animations] Make imported/mozilla/css-animations/test_pseudoElement-get-animations.html pass reliably Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt (233009 => 233010) --- trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt 2018-06-20 11:05:57 UTC (rev 233009) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_element-get-animations-expected.txt 2018-06-20 11:48:39 UTC (rev 233010) @@ -6,7 +6,7 @@ PASS getAnimations for both CSS Animations and CSS Transitions at once PASS getAnimations for CSS Animations that have finished PASS getAnimations for CSS Animations that have finished but are forwards filling -FAIL getAnimations for CSS Animations with animation-name: none assert_equals: getAnimations returns an empty sequence for an element with animation-name: none expected 0 but got 1 +PASS getAnimations for CSS Animations with animation-name: none FAIL getAnimations for CSS Animations with animation-name: missing assert_equals: getAnimations returns an empty sequence for an element with animation-name: missing expected 0 but got 1 FAIL getAnimations for CSS Animations where the @keyframes rule is added later assert_equals: getAnimations initally only returns Animations for CSS Animations whose animati
[webkit-changes] [233051] trunk
Title: [233051] trunk Revision 233051 Author grao...@webkit.org Date 2018-06-21 11:54:45 -0700 (Thu, 21 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-ready.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183830 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Animations tests. * css-animations/test_animation-ready-expected.txt: Source/WebCore: The CSS Animations Level 2 spec explains how the Web Animations API and CSS Animations interact and requires pending styles changes on the target element of a CSS Animation to be flushed when using a Web Animations API on it in order to ensure that any animation- CSS property is accounted for. * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::bindingsStartTime const): (WebCore::CSSAnimation::setBindingsStartTime): (WebCore::CSSAnimation::bindingsCurrentTime const): (WebCore::CSSAnimation::setBindingsCurrentTime): (WebCore::CSSAnimation::bindingsPlayState const): (WebCore::CSSAnimation::bindingsPending const): (WebCore::CSSAnimation::bindingsReady): (WebCore::CSSAnimation::bindingsFinished): (WebCore::CSSAnimation::bindingsPlay): (WebCore::CSSAnimation::bindingsPause): (WebCore::CSSAnimation::flushPendingStyleChanges const): * animation/CSSAnimation.h: * animation/WebAnimation.h: (WebCore::WebAnimation::bindingsPlayState const): (WebCore::WebAnimation::bindingsPending const): (WebCore::WebAnimation::bindingsReady): (WebCore::WebAnimation::bindingsFinished): (WebCore::WebAnimation::bindingsPlay): (WebCore::WebAnimation::bindingsPause): * animation/WebAnimation.idl: LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-ready-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.cpp trunk/Source/WebCore/animation/CSSAnimation.h trunk/Source/WebCore/animation/WebAnimation.h trunk/Source/WebCore/animation/WebAnimation.idl Diff Modified: trunk/LayoutTests/ChangeLog (233050 => 233051) --- trunk/LayoutTests/ChangeLog 2018-06-21 18:51:35 UTC (rev 233050) +++ trunk/LayoutTests/ChangeLog 2018-06-21 18:54:45 UTC (rev 233051) @@ -1,3 +1,15 @@ +2018-06-20 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_animation-ready.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183830 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-21 Ryan Haddad Update TestExpectations for http/wpt/service-workers/third-party-registration.html. Modified: trunk/LayoutTests/TestExpectations (233050 => 233051) --- trunk/LayoutTests/TestExpectations 2018-06-21 18:51:35 UTC (rev 233050) +++ trunk/LayoutTests/TestExpectations 2018-06-21 18:54:45 UTC (rev 233051) @@ -1927,7 +1927,6 @@ webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] -webkit.org/b/183830 imported/mozilla/css-animations/test_animation-ready.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233050 => 233051) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-21 18:51:35 UTC (rev 233050) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-21 18:54:45 UTC (rev 233051) @@ -1,5 +1,17 @@ 2018-06-20 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-ready.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183830 + + +Reviewed by Dean Jackson. + +Mark progressions in the Mozilla CSS Animations tests. + +* css-animations/test_animation-ready-expected.txt: + +2018-06-20 Antoine Quint + [Web Animations] Make imported/mozilla/css-transitions/test_element-get-animations.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183841 Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-ready-expected.txt (233050 => 233051) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-ready-expected.txt 2018-06-21 18:51:35 UTC (rev 233050) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-ready-expected.txt 2018-06-21 18:54:45 UTC (rev 233051) @@ -1,9 +1,9 @@ -FAIL A new ready promise is created when s
[webkit-changes] [233140] trunk
Title: [233140] trunk Revision 233140 Author grao...@webkit.org Date 2018-06-25 02:54:34 -0700 (Mon, 25 Jun 2018) Log Message [Web Animations] Ensure animations are updated prior to requestAnimationFrame callbacks https://bugs.webkit.org/show_bug.cgi?id=186997 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Animations tests. * css-animations/test_animation-pausing-expected.txt: Source/WebCore: Some sub-tests of imported/mozilla/css-animations/test_animation-pausing.html clearly expect that animations would be resolved prior to firing a requestAnimationFrame() callback, as the HTML5 event loop mandates. But until now, both DocumentTimeline and ScriptedAnimationController would make calls to DisplayRefreshMonitorManager::scheduleAnimation() that were not coordinated and so the order in which the DocumentTimeline and ScriptedAnimationController callbacks were performed was not guaranteed. In this patch we add a new DocumentAnimationScheduler class which is created by a Document to manage this specific situation. Now DocumentTimeline and ScriptedAnimationController use this supporting object instead of being their own DisplayRefreshMonitorClient and call scheduleWebAnimationsResolution() and scheduleScriptedAnimationResolution() respectively to indicate the need to schedule an animation through the DisplayRefreshMonitorManager to serve the specific needs of either, or both, classes. Then DocumentAnimationScheduler ensures that Web Animations resolution happens prior to requestAnimationFrame callbacks when both are scheduled. In the future we should be able to move more code from DocumentTimeline and ScriptedAnimationController over to DocumentAnimationScheduler, such as support for throttling and using a timer-based fallback, but this patch provides the minimal functionality required to provide a sounder foundation. * Modules/webvr/VRDisplay.cpp: (WebCore::VRDisplay::requestAnimationFrame): * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * animation/DocumentAnimationScheduler.cpp: Added. (WebCore::DocumentAnimationScheduler::create): (WebCore::DocumentAnimationScheduler::DocumentAnimationScheduler): (WebCore::DocumentAnimationScheduler::detachFromDocument): (WebCore::DocumentAnimationScheduler::scheduleWebAnimationsResolution): (WebCore::DocumentAnimationScheduler::scheduleScriptedAnimationResolution): (WebCore::DocumentAnimationScheduler::displayRefreshFired): (WebCore::DocumentAnimationScheduler::windowScreenDidChange): (WebCore::DocumentAnimationScheduler::createDisplayRefreshMonitor const): * animation/DocumentAnimationScheduler.h: Copied from Source/WebCore/animation/CSSAnimation.h. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::create): (WebCore::DocumentTimeline::DocumentTimeline): (WebCore::DocumentTimeline::scheduleAnimationResolution): (WebCore::DocumentTimeline::windowScreenDidChange): Deleted. (WebCore::DocumentTimeline::createDisplayRefreshMonitor const): Deleted. * animation/DocumentTimeline.h: * dom/Document.cpp: (WebCore::Document::prepareForDestruction): (WebCore::Document::windowScreenDidChange): (WebCore::Document::requestAnimationFrame): (WebCore::Document::animationScheduler): (WebCore::Document::timeline): * dom/Document.h: * dom/ScriptedAnimationController.cpp: (WebCore::ScriptedAnimationController::ScriptedAnimationController): (WebCore::ScriptedAnimationController::scheduleAnimation): (WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire): (WebCore::ScriptedAnimationController::windowScreenDidChange): Deleted. (WebCore::ScriptedAnimationController::displayRefreshFired): Deleted. (WebCore::ScriptedAnimationController::createDisplayRefreshMonitor const): Deleted. * dom/ScriptedAnimationController.h: (WebCore::ScriptedAnimationController::create): Modified Paths trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/webvr/VRDisplay.cpp trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/dom/ScriptedAnimationController.cpp trunk/Source/WebCore/dom/ScriptedAnimationController.h Added Paths trunk/Source/WebCore/animation/DocumentAnimationScheduler.cpp trunk/Source/WebCore/animation/DocumentAnimationScheduler.h Diff Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233139 => 233140) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-25 09:26:22 UTC (rev 233139) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-25 09:54:34 UTC (rev 233140) @@ -1,3 +1,15 @@ +2018-06-25 Antoine Quint + +[Web Animations] Ensure animations are updated prior to requestAnimationFrame callbacks +https://bu
[webkit-changes] [233141] trunk
Title: [233141] trunk Revision 233141 Author grao...@webkit.org Date 2018-06-25 03:00:42 -0700 (Mon, 25 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-pausing.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183826 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Animations tests. * css-animations/test_animation-pausing-expected.txt: Source/WebCore: The CSS Animations Level 2 specification defines that calling pause() on a CSSAnimation object is "sticky" until a call to play() is made, meaning that any changes to the running state via the CSS animation-play-state property is overridden by the stickiness of the pause() call. In this patch we add an m_stickyPaused flag which is set in API calls to pause() and play(). While this flag is true, changes to the animation-play-state property to the "running" value are ignored. * animation/CSSAnimation.cpp: (WebCore::CSSAnimation::syncPropertiesWithBackingAnimation): (WebCore::CSSAnimation::bindingsPlay): (WebCore::CSSAnimation::bindingsPause): * animation/CSSAnimation.h: LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSAnimation.cpp trunk/Source/WebCore/animation/CSSAnimation.h Diff Modified: trunk/LayoutTests/ChangeLog (233140 => 233141) --- trunk/LayoutTests/ChangeLog 2018-06-25 09:54:34 UTC (rev 233140) +++ trunk/LayoutTests/ChangeLog 2018-06-25 10:00:42 UTC (rev 233141) @@ -1,3 +1,15 @@ +2018-06-25 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_animation-pausing.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183826 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-25 Zan Dobersek [GCrypt] Zero-prefix (if necessary) RSA-OAEP encryption, RSA-PSS signing output Modified: trunk/LayoutTests/TestExpectations (233140 => 233141) --- trunk/LayoutTests/TestExpectations 2018-06-25 09:54:34 UTC (rev 233140) +++ trunk/LayoutTests/TestExpectations 2018-06-25 10:00:42 UTC (rev 233141) @@ -1930,7 +1930,6 @@ webkit.org/b/181123 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish.html [ Pass Failure ] webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] -webkit.org/b/183826 imported/mozilla/css-animations/test_animation-pausing.html [ Pass Failure Timeout ] webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233140 => 233141) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-25 09:54:34 UTC (rev 233140) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-06-25 10:00:42 UTC (rev 233141) @@ -1,5 +1,17 @@ 2018-06-25 Antoine Quint +[Web Animations] Make imported/mozilla/css-animations/test_animation-pausing.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183826 + + +Reviewed by Dean Jackson. + +Mark progressions in the Mozilla CSS Animations tests. + +* css-animations/test_animation-pausing-expected.txt: + +2018-06-25 Antoine Quint + [Web Animations] Ensure animations are updated prior to requestAnimationFrame callbacks https://bugs.webkit.org/show_bug.cgi?id=186997 Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt (233140 => 233141) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt 2018-06-25 09:54:34 UTC (rev 233140) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animation-pausing-expected.txt 2018-06-25 10:00:42 UTC (rev 233141) @@ -1,6 +1,6 @@ PASS play() overrides animation-play-state -FAIL pause() overrides animation-play-state assert_equals: Paused value of margin-left is zero expected 0 but got 0.03600386157631874 +PASS pause() overrides animation-play-state PASS play() is overridden by later setting "animation-play-state: paused" PASS play() flushes pending changes to animation-play-state first PASS pause() applies pending changes to animation-play-state first Modified: trunk/Source/WebCore/ChangeLog (233140 => 233141) --- trunk/Source/WebCore/ChangeLog 2018-06-25 09:54:34 UTC (rev 233140) +++ trunk/Source/WebCore/ChangeLog 2018-06-25 10:00:42 UT
[webkit-changes] [233164] trunk
Title: [233164] trunk Revision 233164 Author grao...@webkit.org Date 2018-06-25 12:24:44 -0700 (Mon, 25 Jun 2018) Log Message REGRESSION: hardware-accelerated animation fails on inline element https://bugs.webkit.org/show_bug.cgi?id=186981 Reviewed by Dean Jackson. Source/WebCore: Ensure we only queue accelerated actions when we have a renderer so we don't attempt to start an accelerated animation too soon. Test: webanimations/opacity-animation-yields-compositing-span.html * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState): LayoutTests: * platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: * platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: * webanimations/opacity-animation-yields-compositing-expected.txt: * webanimations/opacity-animation-yields-compositing-span-expected.txt: * webanimations/opacity-animation-yields-compositing-span.html: Added. * webanimations/opacity-animation-yields-compositing.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt trunk/LayoutTests/platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt trunk/LayoutTests/webanimations/opacity-animation-yields-compositing-expected.txt trunk/LayoutTests/webanimations/opacity-animation-yields-compositing.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Added Paths trunk/LayoutTests/webanimations/opacity-animation-yields-compositing-span-expected.txt trunk/LayoutTests/webanimations/opacity-animation-yields-compositing-span.html Diff Modified: trunk/LayoutTests/ChangeLog (233163 => 233164) --- trunk/LayoutTests/ChangeLog 2018-06-25 19:23:28 UTC (rev 233163) +++ trunk/LayoutTests/ChangeLog 2018-06-25 19:24:44 UTC (rev 233164) @@ -1,3 +1,18 @@ +2018-06-25 Antoine Quint + +REGRESSION: hardware-accelerated animation fails on inline element +https://bugs.webkit.org/show_bug.cgi?id=186981 + + +Reviewed by Dean Jackson. + +* platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: +* platform/mac-sierra/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt: +* webanimations/opacity-animation-yields-compositing-expected.txt: +* webanimations/opacity-animation-yields-compositing-span-expected.txt: +* webanimations/opacity-animation-yields-compositing-span.html: Added. +* webanimations/opacity-animation-yields-compositing.html: + 2018-06-25 Youenn Fablet Add API to control mock media devices Modified: trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt (233163 => 233164) --- trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt 2018-06-25 19:23:28 UTC (rev 233163) +++ trunk/LayoutTests/platform/mac/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-expected.txt 2018-06-25 19:24:44 UTC (rev 233164) @@ -140,7 +140,7 @@ FAIL filter: percentage or numeric-specifiable functions (number value) assert_equals: The value should be brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3) at 500ms expected "brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3)" but got "brightness(0.30004) contrast(0.30004) grayscale(0.30004) invert(0.30004) opacity(0.30004) saturate(0.30004) sepia(0.30004)" FAIL filter: percentage or numeric-specifiable functions (percentage value) assert_equals: The value should be brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3) at 500ms expected "brightness(0.3) contrast(0.3) grayscale(0.3) invert(0.3) opacity(0.3) saturate(0.3) sepia(0.3)" but got "brightness(0.30004) contrast(0.30004) grayscale(0.30004) invert(0.30004) opacity(0.30004) saturate(0.30004) sepia(0.30004)" FAIL filter: interpolate different length of filter-function-list with function which lacuna value is 1 assert_equals: The value should be grayscale(0.5) brightness(0.5) contrast(0.5) opacity(0.5) saturate(0.5) at 500ms expected "grayscale(0.5) brightness(0.5) contrast(0.5) opacity(0
[webkit-changes] [233325] trunk
Title: [233325] trunk Revision 233325 Author grao...@webkit.org Date 2018-06-28 14:13:16 -0700 (Thu, 28 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-animations/test_animation-starttime.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183834 Reviewed by Dean Jackson. LayoutTests/imported/mozilla: Mark progressions in the Mozilla CSS Animations tests. * css-animations/test_animation-starttime-expected.txt: Source/WebCore: We need to run pending tasks in the "update animations" procedure to ensure that the start time has been set to a different time than the timeline time at the time the animation was asked to play(). This ensure the timeline current time has progressed and can be queried to a different value in a requestAnimationFrame() callback. When invalidating events, we need to make sure we disregard instances when an animation has and is still pending so that we wait until we change the pending state to work out which events to enqueue. * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::invalidateDOMEvents): * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::updateAnimations): * animation/WebAnimation.cpp: (WebCore::WebAnimation::updatePendingTasks): (WebCore::WebAnimation::timeToNextRequiredTick const): (WebCore::WebAnimation::runPendingTasks): * animation/WebAnimation.h: LayoutTests: This test now passes reliably so we remove any specific expectation. Another test needed to be modified to account for the pending state being updated at a different time, so we just wait a frame to ensure the animation is started. * TestExpectations: * compositing/visible-rect/animated.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/compositing/visible-rect/animated.html trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animation-starttime-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DeclarativeAnimation.cpp trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Diff Modified: trunk/LayoutTests/ChangeLog (233324 => 233325) --- trunk/LayoutTests/ChangeLog 2018-06-28 21:00:45 UTC (rev 233324) +++ trunk/LayoutTests/ChangeLog 2018-06-28 21:13:16 UTC (rev 233325) @@ -1,3 +1,17 @@ +2018-06-28 Antoine Quint + +[Web Animations] Make imported/mozilla/css-animations/test_animation-starttime.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183834 + + +Reviewed by Dean Jackson. + +This test now passes reliably so we remove any specific expectation. Another test needed to be modified to account for +the pending state being updated at a different time, so we just wait a frame to ensure the animation is started. + +* TestExpectations: +* compositing/visible-rect/animated.html: + 2018-06-28 Jer Noble Unreviewed gardening; media/video-buffering-allowed.html is flakey due to not completing in time. Modified: trunk/LayoutTests/TestExpectations (233324 => 233325) --- trunk/LayoutTests/TestExpectations 2018-06-28 21:00:45 UTC (rev 233324) +++ trunk/LayoutTests/TestExpectations 2018-06-28 21:13:16 UTC (rev 233325) @@ -1963,7 +1963,6 @@ webkit.org/b/181123 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish.html [ Pass Failure ] webkit.org/b/181888 imported/w3c/web-platform-tests/web-animations/timing-model/animation-effects/current-iteration.html [ Pass Failure ] -webkit.org/b/183834 imported/mozilla/css-animations/test_animation-starttime.html [ Pass Failure Timeout ] webkit.org/b/183836 imported/mozilla/css-animations/test_animations-dynamic-changes.html [ Pass Failure Timeout ] webkit.org/b/183837 imported/mozilla/css-transitions/test_document-get-animations.html [ Pass Failure Timeout ] webkit.org/b/183840 imported/mozilla/css-animations/test_document-get-animations.html [ Pass Failure Timeout ] Modified: trunk/LayoutTests/compositing/visible-rect/animated.html (233324 => 233325) --- trunk/LayoutTests/compositing/visible-rect/animated.html 2018-06-28 21:00:45 UTC (rev 233324) +++ trunk/LayoutTests/compositing/visible-rect/animated.html 2018-06-28 21:13:16 UTC (rev 233325) @@ -34,11 +34,13 @@ function doTest() { document.getElementById('animated').addEventListener('webkitAnimationStart', function() { -if (window.internals) -document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS) +requestAnimationFrame(() => { +if (window.internals) +document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_VISIBLE_RECTS) -if (window.testRunner) -
[webkit-changes] [233349] trunk
Title: [233349] trunk Revision 233349 Author grao...@webkit.org Date 2018-06-28 22:45:34 -0700 (Thu, 28 Jun 2018) Log Message [Web Animations] Using a Web Animation leaks the Document https://bugs.webkit.org/show_bug.cgi?id=187088 Reviewed by Dean Jackson. Source/WebCore: Test: webanimations/leak-document-with-web-animation.html We need to ensure that any remaining animation is cleared when the DocumentTimeline is detached from its Document. We rename WebAnimation::prepareAnimationForRemoval() to WebAnimation::remove() since it really actively disassociates the animation from its timeline. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::removeAnimationsForElement): We no longer need the call to removeAnimation() since the new WebAnimation::remove() method will also set the timeline to null which will eventually call removeAnimation() on the disassociated timeline. * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::remove): (WebCore::DeclarativeAnimation::prepareAnimationForRemoval): Deleted. * animation/DeclarativeAnimation.h: * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::detachFromDocument): Call remove() on all known animations. * animation/WebAnimation.cpp: (WebCore::WebAnimation::remove): Set the timeline to null to fully disassociate this animation from its timeline. (WebCore::WebAnimation::setTimeline): Factor the internal timeline-association code out of this JS API method so that we can call this code without any JS-facing implications. (WebCore::WebAnimation::setTimelineInternal): (WebCore::WebAnimation::prepareAnimationForRemoval): Deleted. * animation/WebAnimation.h: LayoutTests: Add a new test that creates an Animation object in JS within an iframe and checks that removing the iframe clears its Document. * webanimations/leak-document-with-web-animation-expected.txt: Added. * webanimations/leak-document-with-web-animation.html: Added. * webanimations/resources/web-animation-leak-iframe.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.h trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Added Paths trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt trunk/LayoutTests/webanimations/leak-document-with-web-animation.html trunk/LayoutTests/webanimations/resources/ trunk/LayoutTests/webanimations/resources/web-animation-leak-iframe.html Diff Modified: trunk/LayoutTests/ChangeLog (233348 => 233349) --- trunk/LayoutTests/ChangeLog 2018-06-29 03:45:47 UTC (rev 233348) +++ trunk/LayoutTests/ChangeLog 2018-06-29 05:45:34 UTC (rev 233349) @@ -1,3 +1,18 @@ +2018-06-27 Antoine Quint + +[Web Animations] Using a Web Animation leaks the Document +https://bugs.webkit.org/show_bug.cgi?id=187088 + + +Reviewed by Dean Jackson. + +Add a new test that creates an Animation object in JS within an iframe and checks that removing +the iframe clears its Document. + +* webanimations/leak-document-with-web-animation-expected.txt: Added. +* webanimations/leak-document-with-web-animation.html: Added. +* webanimations/resources/web-animation-leak-iframe.html: Added. + 2018-06-28 Olivia Barnett Find in page for typographic quotes does not find low (German) quotes Added: trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt (0 => 233349) --- trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt (rev 0) +++ trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt 2018-06-29 05:45:34 UTC (rev 233349) @@ -0,0 +1,13 @@ +This test asserts that Document doesn't leak when a Web Animation is created. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +The iframe has finished loading. +The iframe has been destroyed. +PASS internals.numberOfLiveDocuments() is numberOfLiveDocumentsAfterIframeLoaded - 1 + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/webanimations/leak-document-with-web-animation.html (0 => 233349) --- trunk/LayoutTests/webanimations/leak-document-with-web-animation.html (rev 0) +++ trunk/LayoutTests/webanimations/leak-document-with-web-animation.html 2018-06-29 05:45:34 UTC (rev 233349) @@ -0,0 +1,48 @@ + + + + +description("This test asserts that Document doesn't leak when a Web Animation is created."); + +if (window.internals) +jsTestIsAsync = true; + +gc(); + +var numberOfLiveDocumentsAfterIframeLoaded = 0; + +function runTest() { +if (!window.internals) +return; + +var frame = document.body.appendChild(document.createEle
[webkit-changes] [233351] trunk/LayoutTests
Title: [233351] trunk/LayoutTests Revision 233351 Author grao...@webkit.org Date 2018-06-29 05:34:04 -0700 (Fri, 29 Jun 2018) Log Message [mac][wk2] REGRESSION (Tiled Drawing): Some css3/ tests fail with fringing around tiled background-images that intersect tile boundaries https://bugs.webkit.org/show_bug.cgi?id=122235 Unreviewed. This test has not been flaky on all ports by GTK for a long time. * platform/ios-wk1/TestExpectations: * platform/mac-wk2/TestExpectations: * platform/wincairo/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk1/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/LayoutTests/platform/wincairo/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (233350 => 233351) --- trunk/LayoutTests/ChangeLog 2018-06-29 07:55:53 UTC (rev 233350) +++ trunk/LayoutTests/ChangeLog 2018-06-29 12:34:04 UTC (rev 233351) @@ -1,3 +1,14 @@ +2018-06-29 Antoine Quint + +[mac][wk2] REGRESSION (Tiled Drawing): Some css3/ tests fail with fringing around tiled background-images that intersect tile boundaries +https://bugs.webkit.org/show_bug.cgi?id=122235 + +Unreviewed. This test has not been flaky on all ports by GTK for a long time. + +* platform/ios-wk1/TestExpectations: +* platform/mac-wk2/TestExpectations: +* platform/wincairo/TestExpectations: + 2018-06-27 Antoine Quint [Web Animations] Using a Web Animation leaks the Document Modified: trunk/LayoutTests/platform/ios-wk1/TestExpectations (233350 => 233351) --- trunk/LayoutTests/platform/ios-wk1/TestExpectations 2018-06-29 07:55:53 UTC (rev 233350) +++ trunk/LayoutTests/platform/ios-wk1/TestExpectations 2018-06-29 12:34:04 UTC (rev 233351) @@ -686,7 +686,6 @@ css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection.html [ ImageOnlyFailure ] css3/filters/backdrop/backdrop-filter-with-clip-path.html [ ImageOnlyFailure ] css3/flexbox/content-height-with-scrollbars.html [ ImageOnlyFailure ] -css3/masking/mask-repeat-space-border.html [ ImageOnlyFailure ] # CSS tests that pass: css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html [ Pass ] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (233350 => 233351) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-06-29 07:55:53 UTC (rev 233350) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2018-06-29 12:34:04 UTC (rev 233351) @@ -280,9 +280,6 @@ # Color space issues from switching to tiled drawing. webkit.org/b/122234 css3/filters/null-effect-check.html [ ImageOnlyFailure ] -# Tiled background images that intersect the tiles are getting weird fringing. -webkit.org/b/122235 css3/masking/mask-repeat-space-border.html [ ImageOnlyFailure ] - webkit.org/b/124476 platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html [ Pass Failure ] # uiElementForSearchPredicate() is not returning an undefined object when the search returns no results Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (233350 => 233351) --- trunk/LayoutTests/platform/wincairo/TestExpectations 2018-06-29 07:55:53 UTC (rev 233350) +++ trunk/LayoutTests/platform/wincairo/TestExpectations 2018-06-29 12:34:04 UTC (rev 233351) @@ -651,7 +651,6 @@ css3/background/background-repeat-space-padding.html [ ImageOnlyFailure ] css3/masking/clip-path-reference-userSpaceOnUse.html [ ImageOnlyFailure ] css3/masking/clip-path-reference.html [ ImageOnlyFailure ] -css3/masking/mask-repeat-space-border.html [ ImageOnlyFailure ] css3/masking/mask-repeat-space-content.html [ ImageOnlyFailure ] css3/masking/mask-repeat-space-padding.html [ ImageOnlyFailure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233352] trunk/LayoutTests
Title: [233352] trunk/LayoutTests Revision 233352 Author grao...@webkit.org Date 2018-06-29 05:35:51 -0700 (Fri, 29 Jun 2018) Log Message Layout Test compositing/animation/layer-for-filling-animation.html is a flaky failure https://bugs.webkit.org/show_bug.cgi?id=187163 Unreviewed. This test needed to be modified to account for the pending state being updated at a different time, so we just wait a frame to ensure the animation is ended. See r233325. * compositing/animation/layer-for-filling-animation.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html Diff Modified: trunk/LayoutTests/ChangeLog (233351 => 233352) --- trunk/LayoutTests/ChangeLog 2018-06-29 12:34:04 UTC (rev 233351) +++ trunk/LayoutTests/ChangeLog 2018-06-29 12:35:51 UTC (rev 233352) @@ -1,5 +1,17 @@ 2018-06-29 Antoine Quint +Layout Test compositing/animation/layer-for-filling-animation.html is a flaky failure +https://bugs.webkit.org/show_bug.cgi?id=187163 + +Unreviewed. + +This test needed to be modified to account for the pending state being updated at a different time, +so we just wait a frame to ensure the animation is ended. See r233325. + +* compositing/animation/layer-for-filling-animation.html: + +2018-06-29 Antoine Quint + [mac][wk2] REGRESSION (Tiled Drawing): Some css3/ tests fail with fringing around tiled background-images that intersect tile boundaries https://bugs.webkit.org/show_bug.cgi?id=122235 Modified: trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html (233351 => 233352) --- trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html 2018-06-29 12:34:04 UTC (rev 233351) +++ trunk/LayoutTests/compositing/animation/layer-for-filling-animation.html 2018-06-29 12:35:51 UTC (rev 233352) @@ -30,10 +30,12 @@ function doTest() { document.getElementById('box').addEventListener('webkitAnimationEnd', function() { -if (window.testRunner) { -document.getElementById('results').innerText = window.internals.layerTreeAsText(document); -testRunner.notifyDone(); -} +requestAnimationFrame(() => { +if (window.testRunner) { +document.getElementById('results').innerText = window.internals.layerTreeAsText(document); +testRunner.notifyDone(); +} +}); }) } window.addEventListener('load', doTest, false); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233393] trunk/LayoutTests
Title: [233393] trunk/LayoutTests Revision 233393 Author grao...@webkit.org Date 2018-06-30 06:04:59 -0700 (Sat, 30 Jun 2018) Log Message [Web Animations] Make imported/mozilla/css-transitions/test_event-dispatch.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=183843 Unreviewed. This test is no longer flaky, the fix for webkit.org/b/183834 fixed the issue. * platform/ios/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (233392 => 233393) --- trunk/LayoutTests/ChangeLog 2018-06-30 07:08:01 UTC (rev 233392) +++ trunk/LayoutTests/ChangeLog 2018-06-30 13:04:59 UTC (rev 233393) @@ -1,3 +1,14 @@ +2018-06-30 Antoine Quint + +[Web Animations] Make imported/mozilla/css-transitions/test_event-dispatch.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=183843 + +Unreviewed. + +This test is no longer flaky, the fix for webkit.org/b/183834 fixed the issue. + +* platform/ios/TestExpectations: + 2018-06-30 Commit Queue Unreviewed, rolling out r233391. Modified: trunk/LayoutTests/platform/ios/TestExpectations (233392 => 233393) --- trunk/LayoutTests/platform/ios/TestExpectations 2018-06-30 07:08:01 UTC (rev 233392) +++ trunk/LayoutTests/platform/ios/TestExpectations 2018-06-30 13:04:59 UTC (rev 233393) @@ -3304,8 +3304,6 @@ webkit.org/b/185332 animations/duplicate-keys.html [ Pass ImageOnlyFailure ] -webkit.org/b/183843 imported/mozilla/css-transitions/test_event-dispatch.html [ Pass Failure ] - # Imported css-text test suite from WPT webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/i18n/css3-text-line-break-opclns-010.html [ ImageOnlyFailure ] webkit.org/b/183258 imported/w3c/web-platform-tests/css/css-text/i18n/css3-text-line-break-opclns-011.html [ ImageOnlyFailure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233394] trunk
Title: [233394] trunk Revision 233394 Author grao...@webkit.org Date 2018-06-30 06:43:26 -0700 (Sat, 30 Jun 2018) Log Message [Web Animations] Make WPT test at timing-model/timelines/document-timelines.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186507 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Record WPT test progressions. * web-platform-tests/web-animations/timing-model/timelines/document-timelines-expected.txt: Source/WebCore: The Web Animations spec, along with the HTML5 event loop spec, specify some assumptions on the time reported by document.timeline.currentTime: - it should only increase once per frame - it should have the same value as the timestamp passed to requestAnimationFrame() callbacks The WPT test at web-platform-tests/web-animations/timing-model/timelines/document-timelines.html relies on these assumptions to be true so that we check that the start time of a new animation is not the same as the timeline time when it was created, since it will be in the "play-pending" state for a frame. In order to support this, we add two new methods on DocumentAnimationScheduler. First, when a scheduled display update fires, we record the timestamp and expose it via lastTimestamp() such that DocumentTimeline and ScriptedAnimationController can use the same value when updating animations. Then, to know whether code is run as a result of a display update, we expose isFiring(). Now, within DocumentTimeline::currentTime(), we can cache the current time this way: - if we're in the middle of a display update, use the value returned by lastTimestamp(). - otherwise, compute what would have been the ideal number of frames (at 60fps or less if throttled) and add those to the lastTimestamp() value. Then, we remove this cached current time when both currently-running _javascript_ has completed and all animation update code has completed by waiting on the invalidation task to run. * animation/DocumentAnimationScheduler.cpp: (WebCore::DocumentAnimationScheduler::displayRefreshFired): * animation/DocumentAnimationScheduler.h: (WebCore::DocumentAnimationScheduler::lastTimestamp): (WebCore::DocumentAnimationScheduler::isFiring const): * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::currentTime): (WebCore::DocumentTimeline::performInvalidationTask): (WebCore::DocumentTimeline::maybeClearCachedCurrentTime): * animation/DocumentTimeline.h: * dom/ScriptedAnimationController.cpp: (WebCore::ScriptedAnimationController::serviceScriptedAnimations): (WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire): LayoutTests: This test now passes reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/timelines/document-timelines-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentAnimationScheduler.cpp trunk/Source/WebCore/animation/DocumentAnimationScheduler.h trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/dom/ScriptedAnimationController.cpp Diff Modified: trunk/LayoutTests/ChangeLog (233393 => 233394) --- trunk/LayoutTests/ChangeLog 2018-06-30 13:04:59 UTC (rev 233393) +++ trunk/LayoutTests/ChangeLog 2018-06-30 13:43:26 UTC (rev 233394) @@ -1,3 +1,15 @@ +2018-06-29 Antoine Quint + +[Web Animations] Make WPT test at timing-model/timelines/document-timelines.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186507 + + +Reviewed by Dean Jackson. + +This test now passes reliably. + +* TestExpectations: + 2018-06-30 Antoine Quint [Web Animations] Make imported/mozilla/css-transitions/test_event-dispatch.html pass reliably Modified: trunk/LayoutTests/TestExpectations (233393 => 233394) --- trunk/LayoutTests/TestExpectations 2018-06-30 13:04:59 UTC (rev 233393) +++ trunk/LayoutTests/TestExpectations 2018-06-30 13:43:26 UTC (rev 233394) @@ -1955,7 +1955,6 @@ webkit.org/b/179069 imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_032.htm [ Pass Failure ] -webkit.org/b/179287 imported/w3c/web-platform-tests/web-animations/timing-model/timelines/document-timelines.html [ Pass Failure ] webkit.org/b/179287 imported/w3c/web-platform-tests/web-animations/timing-model/timelines/timelines.html [ Pass Failure ] webkit.org/b/181116 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished.html [ Pass Failure ] webkit.org/b/181120 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/onfinish.html [ Pass Failure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233393 => 233394) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-06-30 13:04:59 UTC (rev 233393) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-06-30 13:43:26 UTC (
[webkit-changes] [233429] trunk/Source/WebCore
Title: [233429] trunk/Source/WebCore Revision 233429 Author grao...@webkit.org Date 2018-07-02 13:45:29 -0700 (Mon, 02 Jul 2018) Log Message [Web Animations] Crash in KeyframeEffectReadOnly::applyPendingAcceleratedActions() https://bugs.webkit.org/show_bug.cgi?id=187139 Reviewed by Dean Jackson. Ensure we have a resolved time value before trying to use it. * animation/KeyframeEffectReadOnly.cpp: (WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (233428 => 233429) --- trunk/Source/WebCore/ChangeLog 2018-07-02 19:02:18 UTC (rev 233428) +++ trunk/Source/WebCore/ChangeLog 2018-07-02 20:45:29 UTC (rev 233429) @@ -1,3 +1,15 @@ +2018-07-02 Antoine Quint + +[Web Animations] Crash in KeyframeEffectReadOnly::applyPendingAcceleratedActions() +https://bugs.webkit.org/show_bug.cgi?id=187139 + +Reviewed by Dean Jackson. + +Ensure we have a resolved time value before trying to use it. + +* animation/KeyframeEffectReadOnly.cpp: +(WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): + 2018-07-02 Youenn Fablet Reject getUserMedia promise if capture fails Modified: trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp (233428 => 233429) --- trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-02 19:02:18 UTC (rev 233428) +++ trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-02 20:45:29 UTC (rev 233429) @@ -1243,7 +1243,11 @@ auto* compositedRenderer = downcast(renderer); -auto timeOffset = animation()->currentTime().value().seconds(); +auto currentTime = animation()->currentTime(); +if (!currentTime) +return; + +auto timeOffset = currentTime->seconds(); if (timing()->delay() < 0_s) timeOffset = -timing()->delay().seconds(); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233430] trunk/Source/WebCore
Title: [233430] trunk/Source/WebCore Revision 233430 Author grao...@webkit.org Date 2018-07-02 13:46:14 -0700 (Mon, 02 Jul 2018) Log Message Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html https://bugs.webkit.org/show_bug.cgi?id=187145 Reviewed by Dean Jackson. Ensure we have a resolved time value before trying to use it. * animation/WebAnimation.cpp: (WebCore::WebAnimation::timeToNextRequiredTick const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/WebAnimation.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (233429 => 233430) --- trunk/Source/WebCore/ChangeLog 2018-07-02 20:45:29 UTC (rev 233429) +++ trunk/Source/WebCore/ChangeLog 2018-07-02 20:46:14 UTC (rev 233430) @@ -1,5 +1,17 @@ 2018-07-02 Antoine Quint +Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html +https://bugs.webkit.org/show_bug.cgi?id=187145 + +Reviewed by Dean Jackson. + +Ensure we have a resolved time value before trying to use it. + +* animation/WebAnimation.cpp: +(WebCore::WebAnimation::timeToNextRequiredTick const): + +2018-07-02 Antoine Quint + [Web Animations] Crash in KeyframeEffectReadOnly::applyPendingAcceleratedActions() https://bugs.webkit.org/show_bug.cgi?id=187139 Modified: trunk/Source/WebCore/animation/WebAnimation.cpp (233429 => 233430) --- trunk/Source/WebCore/animation/WebAnimation.cpp 2018-07-02 20:45:29 UTC (rev 233429) +++ trunk/Source/WebCore/animation/WebAnimation.cpp 2018-07-02 20:46:14 UTC (rev 233430) @@ -1008,12 +1008,14 @@ if (hasPendingPlayTask() || playState() == PlayState::Running) return 0_s; -// If our current time is negative, we need to be scheduled to be resolved at the inverse -// of our current time, unless we fill backwards, in which case we want to invalidate as -// soon as possible. -auto localTime = currentTime().value(); -if (localTime < 0_s) -return -localTime; +if (auto animationCurrentTime = currentTime()) { +// If our current time is negative, we need to be scheduled to be resolved at the inverse +// of our current time, unless we fill backwards, in which case we want to invalidate as +// soon as possible. +auto localTime = animationCurrentTime.value(); +if (localTime < 0_s) +return -localTime; +} // In any other case, we're idle or already outside our active duration and have no need // to schedule an invalidation. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233458] trunk/LayoutTests
Title: [233458] trunk/LayoutTests Revision 233458 Author grao...@webkit.org Date 2018-07-03 01:31:52 -0700 (Tue, 03 Jul 2018) Log Message Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html https://bugs.webkit.org/show_bug.cgi?id=187145 Unreviewed. Forgot to remove the expectation change when fixing the bug in r233430. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (233457 => 233458) --- trunk/LayoutTests/ChangeLog 2018-07-03 07:05:58 UTC (rev 233457) +++ trunk/LayoutTests/ChangeLog 2018-07-03 08:31:52 UTC (rev 233458) @@ -1,3 +1,12 @@ +2018-07-03 Antoine Quint + +Crash in WebCore::WebAnimation::timeToNextRequiredTick when running imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html +https://bugs.webkit.org/show_bug.cgi?id=187145 + +Unreviewed. Forgot to remove the expectation change when fixing the bug in r233430. + +* TestExpectations: + 2018-07-02 Sukolsak Sakshuwong Regular expressions with ".?" expressions at the start and the end match the entire string Modified: trunk/LayoutTests/TestExpectations (233457 => 233458) --- trunk/LayoutTests/TestExpectations 2018-07-03 07:05:58 UTC (rev 233457) +++ trunk/LayoutTests/TestExpectations 2018-07-03 08:31:52 UTC (rev 233458) @@ -386,7 +386,6 @@ # End platform-specific tests. #// -webkit.org/b/187145 imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-no-browsing-context.html [ Crash ] webkit.org/b/187243 http/tests/cache-storage/cache-persistency.https.html [ Crash ] # media/video-seek-after-end.html is flaky ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233459] trunk/LayoutTests/imported
Title: [233459] trunk/LayoutTests/imported Revision 233459 Author grao...@webkit.org Date 2018-07-03 01:34:38 -0700 (Tue, 03 Jul 2018) Log Message LayoutTests/imported/mozilla: Unreviewed, rebaselining somes Web Animations test expectations. * css-animations/test_animations-dynamic-changes-expected.txt: * css-animations/test_document-get-animations-expected.txt: * css-animations/test_keyframeeffect-getkeyframes-expected.txt: Added. LayoutTests/imported/w3c: Unreviewed, rebaselining a Web Animations test expectation. * web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: Modified Paths trunk/LayoutTests/imported/mozilla/ChangeLog trunk/LayoutTests/imported/mozilla/css-animations/test_animations-dynamic-changes-expected.txt trunk/LayoutTests/imported/mozilla/css-animations/test_document-get-animations-expected.txt trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt Added Paths trunk/LayoutTests/imported/mozilla/css-animations/test_keyframeeffect-getkeyframes-expected.txt Diff Modified: trunk/LayoutTests/imported/mozilla/ChangeLog (233458 => 233459) --- trunk/LayoutTests/imported/mozilla/ChangeLog 2018-07-03 08:31:52 UTC (rev 233458) +++ trunk/LayoutTests/imported/mozilla/ChangeLog 2018-07-03 08:34:38 UTC (rev 233459) @@ -1,3 +1,11 @@ +2018-07-03 Antoine Quint + +Unreviewed, rebaselining somes Web Animations test expectations. + +* css-animations/test_animations-dynamic-changes-expected.txt: +* css-animations/test_document-get-animations-expected.txt: +* css-animations/test_keyframeeffect-getkeyframes-expected.txt: Added. + 2018-06-28 Antoine Quint [Web Animations] Make imported/mozilla/css-animations/test_animation-starttime.html pass reliably Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_animations-dynamic-changes-expected.txt (233458 => 233459) --- trunk/LayoutTests/imported/mozilla/css-animations/test_animations-dynamic-changes-expected.txt 2018-07-03 08:31:52 UTC (rev 233458) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_animations-dynamic-changes-expected.txt 2018-07-03 08:34:38 UTC (rev 233459) @@ -2,6 +2,6 @@ PASS Animations preserve their startTime when changed PASS Updated Animations maintain their order in the list FAIL Only the startTimes of existing animations are preserved assert_true: New Animation is prepended to start of list expected true got false -FAIL Animations are removed from the start of the list while preserving the state of existing Animations assert_equals: List of Animations was trimmed expected 1 but got 26 +FAIL Animations are removed from the start of the list while preserving the state of existing Animations assert_equals: List of Animations was trimmed expected 1 but got 2 FAIL Animation state is preserved when interleaving animations in list assert_not_equals: New Animations are added to start of the list got disallowed value object "[object CSSAnimation]" Modified: trunk/LayoutTests/imported/mozilla/css-animations/test_document-get-animations-expected.txt (233458 => 233459) --- trunk/LayoutTests/imported/mozilla/css-animations/test_document-get-animations-expected.txt 2018-07-03 08:31:52 UTC (rev 233458) +++ trunk/LayoutTests/imported/mozilla/css-animations/test_document-get-animations-expected.txt 2018-07-03 08:34:38 UTC (rev 233459) @@ -2,11 +2,11 @@ PASS getAnimations for non-animated content PASS getAnimations for CSS Animations PASS Order of CSS Animations - within an element -FAIL Order of CSS Animations - across elements assert_equals: Order of first animation returned after tree surgery expected Element node +FAIL Order of CSS Animations - across elements assert_equals: Order of second animation returned after tree surgery expected Element node but got Element node PASS Order of CSS Animations - across and within elements -FAIL Order of CSS Animations - markup-bound vs free animations assert_equals: getAnimations returns markup-bound and free animations expected 2 but got 1 -FAIL Order of CSS Animations - free animations assert_equals: getAnimations returns free animations expected 2 but got 0 -FAIL Order of CSS Animations and CSS Transitions assert_equals: Both CSS animations and transitions are returned expected 2 but got 1 +FAIL Order of CSS Animations - markup-bound vs free animations assert_equals: Markup-bound animations come first expected "animTop" but got "animLeft" +FAIL Order of CSS Animations - free animations assert_equals: Free animations are returned in the order they are started expected object "[object CSSAnimation]" but got object "[object CSSAnimation]" +FAIL Order of CSS Animations and CSS Transitions assert_equals: Transition comes first expected "[object CSSTransition]" but got "[object CSSAnimation]" PASS Finished but filling CSS Animations are returned PASS Finished but not filling CSS Anima
[webkit-changes] [233500] trunk
Title: [233500] trunk Revision 233500 Author grao...@webkit.org Date 2018-07-04 00:58:30 -0700 (Wed, 04 Jul 2018) Log Message [Web Animations] Make WPT test at timing-model/timelines/timelines.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186508 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Record WPT test progressions. * web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: * web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt: Source/WebCore: The remaining failing assertion in this test assumes that the ready promise for an animation is fired prior to requestAnimationFrame callbacks being fired in the current event loop such that registering the requestAnimationFrame() call within the ready promise has its callback fired with the same timeline time. To ensure that is true, we perform a microtask checkpoint as soon as we're done running pending tasks, which will resolve the ready promise for any play-pending animations. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::updateAnimations): LayoutTests: We're now passing this test reliably. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/DocumentTimeline.cpp Diff Modified: trunk/LayoutTests/ChangeLog (233499 => 233500) --- trunk/LayoutTests/ChangeLog 2018-07-04 07:43:20 UTC (rev 233499) +++ trunk/LayoutTests/ChangeLog 2018-07-04 07:58:30 UTC (rev 233500) @@ -1,3 +1,15 @@ +2018-07-03 Antoine Quint + +[Web Animations] Make WPT test at timing-model/timelines/timelines.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186508 + + +Reviewed by Dean Jackson. + +We're now passing this test reliably. + +* TestExpectations: + 2018-07-03 Ryosuke Niwa Nullptr crash accessing Document in GenericEventQueue::dispatchOneEvent() Modified: trunk/LayoutTests/TestExpectations (233499 => 233500) --- trunk/LayoutTests/TestExpectations 2018-07-04 07:43:20 UTC (rev 233499) +++ trunk/LayoutTests/TestExpectations 2018-07-04 07:58:30 UTC (rev 233500) @@ -1974,7 +1974,6 @@ webkit.org/b/179069 imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/sandbox_032.htm [ Pass Failure ] -webkit.org/b/179287 imported/w3c/web-platform-tests/web-animations/timing-model/timelines/timelines.html [ Pass Failure ] webkit.org/b/181116 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished.html [ Pass Failure ] webkit.org/b/181120 imported/w3c/web-platform-tests/web-animations/interfaces/Animation/onfinish.html [ Pass Failure ] webkit.org/b/181121 imported/w3c/web-platform-tests/web-animations/timing-model/animations/updating-the-finished-state.html [ Pass Failure ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233499 => 233500) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-04 07:43:20 UTC (rev 233499) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-04 07:58:30 UTC (rev 233500) @@ -1,3 +1,16 @@ +2018-07-03 Antoine Quint + +[Web Animations] Make WPT test at timing-model/timelines/timelines.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186508 + + +Reviewed by Dean Jackson. + +Record WPT test progressions. + +* web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: +* web-platform-tests/web-animations/timing-model/timelines/timelines-expected.txt: + 2018-07-03 Chris Dumez Improve window.event compliance: Should not be set when target is in shadow tree Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt (233499 => 233500) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt 2018-07-04 07:43:20 UTC (rev 233499) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt 2018-07-04 07:58:30 UTC (rev 233500) @@ -8,7 +8,7 @@ PASS The finished promise is fulfilled with its Animation PASS finished promise is rejected when an animation is canceled by calling cancel() PASS canceling an already-finished animation replaces the finished promise -FAIL Test finished promise changes for animation duration changes assert_not_equals: Finished promise should change after lengthening the duration causes the animation to become active got disallowed value object "[object Promise]" +FAIL Test finished promise changes for animation duration changes assert_false: shortening of the animation duration should
[webkit-changes] [233519] trunk
Title: [233519] trunk Revision 233519 Author grao...@webkit.org Date 2018-07-05 07:56:13 -0700 (Thu, 05 Jul 2018) Log Message [Web Animations] The ready promise should initially be resolved https://bugs.webkit.org/show_bug.cgi?id=187341 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark WPT progressions. * web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: * web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt: * web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: Source/WebCore: The Web Animations spec mandates that the ready promise is initially resolved. * animation/WebAnimation.cpp: (WebCore::WebAnimation::WebAnimation): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/WebAnimation.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233518 => 233519) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-05 14:18:02 UTC (rev 233518) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-05 14:56:13 UTC (rev 233519) @@ -1,3 +1,17 @@ +2018-07-05 Antoine Quint + +[Web Animations] The ready promise should initially be resolved +https://bugs.webkit.org/show_bug.cgi?id=187341 + + +Reviewed by Dean Jackson. + +Mark WPT progressions. + +* web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: +* web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt: +* web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt: + 2018-07-03 Antoine Quint [Web Animations] Make WPT test at timing-model/timelines/timelines.html pass reliably Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt (233518 => 233519) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt 2018-07-05 14:18:02 UTC (rev 233518) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt 2018-07-05 14:56:13 UTC (rev 233519) @@ -1,6 +1,4 @@ -Harness Error (TIMEOUT), message = null - PASS Test exceptions when finishing non-running animation PASS Test exceptions when finishing infinite animation PASS Test finishing of animation @@ -14,6 +12,6 @@ PASS Test finish() during aborted pause PASS Test resetting of computed style PASS Test finish() resolves finished promise synchronously -TIMEOUT Test finish() resolves finished promise synchronously with an animation without a target Test timed out -NOTRUN Test normally finished animation resolves finished promise synchronously with an animation without a target +PASS Test finish() resolves finished promise synchronously with an animation without a target +FAIL Test normally finished animation resolves finished promise synchronously with an animation without a target assert_true: Animation.finished should be resolved soon after Animation finishes normally expected true got false Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt (233518 => 233519) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt 2018-07-05 14:18:02 UTC (rev 233518) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/current-time-expected.txt 2018-07-05 14:56:13 UTC (rev 233519) @@ -1,9 +1,7 @@ -Harness Error (TIMEOUT), message = null - PASS The current time returns the hold time when set -TIMEOUT The current time is unresolved when there is no associated timeline (and no hold time is set) Test timed out +PASS The current time is unresolved when there is no associated timeline (and no hold time is set) PASS The current time is unresolved when the start time is unresolved (and no hold time is set) PASS The current time is calculated from the timeline time, start time and playback rate -NOTRUN The current time does not progress if playback rate is 0 +PASS The current time does not progress if playback rate is 0 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt (233518 => 233519) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/timing-model/animations/set-the-animation-start-time-expected.txt 2018-07-05 14:18:02 UTC (rev 233518) +++ trun
[webkit-changes] [233583] trunk
Title: [233583] trunk Revision 233583 Author grao...@webkit.org Date 2018-07-06 11:31:12 -0700 (Fri, 06 Jul 2018) Log Message [Web Animations] Using a Web Animation leaks the Document https://bugs.webkit.org/show_bug.cgi?id=187088 Reviewed by Darin Adler. Source/WebCore: Test: webanimations/leak-document-with-web-animation.html We need to ensure that any remaining animation is cleared when the DocumentTimeline is detached from its Document. We rename WebAnimation::prepareAnimationForRemoval() to WebAnimation::remove() since it really actively disassociates the animation from its timeline. An earlier version of this patch (r233349) was rolled out due to crashes caught in the ASan configuration. The following changes were made to make it safe: - We protect the DocumentAnimationScheduler instance in displayRefreshFired() against code that might run in a requestAnimationFrame() callback that would trigger the object to be deleted. - We protect the WebAnimation instance in remove() against setEffectInternal() or setTimelineInternal() potentially causing the object to be deleted. Similar protections were addede to setEffect() and setTimeline(). - We changed ~DocumentTimeline() to a default implementation to ensure it calls ~DisplayRefreshMonitorClient() to avoid callbacks after the object has been marked for deletion. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::removeAnimationsForElement): We no longer need the call to removeAnimation() since the new WebAnimation::remove() method will also set the timeline to null which will eventually call removeAnimation() on the disassociated timeline. * animation/DeclarativeAnimation.cpp: (WebCore::DeclarativeAnimation::remove): (WebCore::DeclarativeAnimation::prepareAnimationForRemoval): Deleted. * animation/DeclarativeAnimation.h: * animation/DocumentAnimationScheduler.cpp: (WebCore::DocumentAnimationScheduler::displayRefreshFired): * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::detachFromDocument): Call remove() on all known animations. (WebCore::DocumentTimeline::~DocumentTimeline): Deleted. * animation/WebAnimation.cpp: (WebCore::WebAnimation::remove): Set the timeline to null to fully disassociate this animation from its timeline. (WebCore::WebAnimation::setEffect): (WebCore::WebAnimation::setEffectInternal): (WebCore::WebAnimation::setTimeline): Factor the internal timeline-association code out of this JS API method so that we can call this code without any JS-facing implications. (WebCore::WebAnimation::setTimelineInternal): (WebCore::WebAnimation::prepareAnimationForRemoval): Deleted. * animation/WebAnimation.h: LayoutTests: * webanimations/leak-document-with-web-animation-expected.txt: Added. * webanimations/leak-document-with-web-animation.html: Added. * webanimations/resources/web-animation-leak-iframe.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.cpp trunk/Source/WebCore/animation/DeclarativeAnimation.h trunk/Source/WebCore/animation/DocumentAnimationScheduler.cpp trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Added Paths trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt trunk/LayoutTests/webanimations/leak-document-with-web-animation.html trunk/LayoutTests/webanimations/resources/ trunk/LayoutTests/webanimations/resources/web-animation-leak-iframe.html Diff Modified: trunk/LayoutTests/ChangeLog (233582 => 233583) --- trunk/LayoutTests/ChangeLog 2018-07-06 18:25:59 UTC (rev 233582) +++ trunk/LayoutTests/ChangeLog 2018-07-06 18:31:12 UTC (rev 233583) @@ -1,3 +1,15 @@ +2018-07-06 Antoine Quint + +[Web Animations] Using a Web Animation leaks the Document +https://bugs.webkit.org/show_bug.cgi?id=187088 + + +Reviewed by Darin Adler. + +* webanimations/leak-document-with-web-animation-expected.txt: Added. +* webanimations/leak-document-with-web-animation.html: Added. +* webanimations/resources/web-animation-leak-iframe.html: Added. + 2018-07-06 Saam Barati Layout Test editing/selection/navigation-clears-editor-state.html is flaky Added: trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt (0 => 233583) --- trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt (rev 0) +++ trunk/LayoutTests/webanimations/leak-document-with-web-animation-expected.txt 2018-07-06 18:31:12 UTC (rev 233583) @@ -0,0 +1,13 @@ +This test asserts that Document doesn't leak when a Web Animation is created. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +The iframe has finished loading. +The iframe has been destroyed. +PASS internals.numberOfLiveDocuments() is numberOfLiveD
[webkit-changes] [233584] trunk
Title: [233584] trunk Revision 233584 Author grao...@webkit.org Date 2018-07-06 11:37:21 -0700 (Fri, 06 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186497 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark WPT progression. * web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: Source/WebCore: We need to ensure the finished state is updated as a result of any timing property changing. * animation/AnimationEffectReadOnly.cpp: (WebCore::AnimationEffectReadOnly::timingDidChange): * animation/WebAnimation.cpp: (WebCore::WebAnimation::effectTimingPropertiesDidChange): * animation/WebAnimation.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233583 => 233584) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 18:31:12 UTC (rev 233583) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 18:37:21 UTC (rev 233584) @@ -1,5 +1,17 @@ 2018-07-05 Antoine Quint +[Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186497 + + +Reviewed by Dean Jackson. + +Mark WPT progression. + +* web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt: + +2018-07-05 Antoine Quint + [Web Animations] The ready promise should initially be resolved https://bugs.webkit.org/show_bug.cgi?id=187341 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt (233583 => 233584) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt 2018-07-06 18:31:12 UTC (rev 233583) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finished-expected.txt 2018-07-06 18:37:21 UTC (rev 233584) @@ -8,7 +8,7 @@ PASS The finished promise is fulfilled with its Animation PASS finished promise is rejected when an animation is canceled by calling cancel() PASS canceling an already-finished animation replaces the finished promise -FAIL Test finished promise changes for animation duration changes assert_false: shortening of the animation duration should resolve the finished promise expected false got true +PASS Test finished promise changes for animation duration changes PASS Test finished promise changes when playbackRate == 0 PASS Test finished promise resolves when reaching to the natural boundary. PASS Test finished promise changes when a prior finished promise resolved and the animation falls out finished state Modified: trunk/Source/WebCore/ChangeLog (233583 => 233584) --- trunk/Source/WebCore/ChangeLog 2018-07-06 18:31:12 UTC (rev 233583) +++ trunk/Source/WebCore/ChangeLog 2018-07-06 18:37:21 UTC (rev 233584) @@ -1,3 +1,19 @@ +2018-07-05 Antoine Quint + +[Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186497 + + +Reviewed by Dean Jackson. + +We need to ensure the finished state is updated as a result of any timing property changing. + +* animation/AnimationEffectReadOnly.cpp: +(WebCore::AnimationEffectReadOnly::timingDidChange): +* animation/WebAnimation.cpp: +(WebCore::WebAnimation::effectTimingPropertiesDidChange): +* animation/WebAnimation.h: + 2018-07-06 Antoine Quint [Web Animations] Using a Web Animation leaks the Document Modified: trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp (233583 => 233584) --- trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp 2018-07-06 18:31:12 UTC (rev 233583) +++ trunk/Source/WebCore/animation/AnimationEffectReadOnly.cpp 2018-07-06 18:37:21 UTC (rev 233584) @@ -48,7 +48,7 @@ void AnimationEffectReadOnly::timingDidChange() { if (m_animation) -m_animation->timingModelDidChange(); +m_animation->effectTimingPropertiesDidChange(); } std::optional AnimationEffectReadOnly::localTime() const Modified: trunk/Source/WebCore/animation/WebAnimation.cpp (233583 => 233584) --- trunk/Source/WebCore/animation/WebAnimation.cpp 2018-07-06 18:31:12 UTC (rev 233583) +++ trunk/Source/WebCore/animation/WebAnimation.cpp 2018-07-06 18:37:21 UTC (rev 233584) @@ -90,6 +90,12 @@ --m_suspendCount; } +void WebAnimation::effectTimingPropertiesDidChange() +{ +updateFinishedState(DidSeek::No, SynchronouslyNotify::Yes); +timingModelDidChange(); +} + void WebAnimation
[webkit-changes] [233585] trunk
Title: [233585] trunk Revision 233585 Author grao...@webkit.org Date 2018-07-06 11:43:57 -0700 (Fri, 06 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/Animation/finish.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186496 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark a WPT progression. * web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: Source/WebCore: We used to only resolve animations that had a target element, but animations need not have a target and their current time should still advance so that their finished promise may resolve. We now maintain a list of animations without targets and we iterate through them as well as animations with targets in DocumentTimeline::updateAnimations(). * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::addAnimation): (WebCore::AnimationTimeline::removeAnimation): (WebCore::AnimationTimeline::animationWasAddedToElement): (WebCore::AnimationTimeline::animationWasRemovedFromElement): * animation/AnimationTimeline.h: (WebCore::AnimationTimeline:: const): * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::updateAnimations): * animation/WebAnimation.cpp: (WebCore::WebAnimation::resolve): * animation/WebAnimation.h: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233584 => 233585) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 18:37:21 UTC (rev 233584) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 18:43:57 UTC (rev 233585) @@ -1,5 +1,17 @@ 2018-07-05 Antoine Quint +[Web Animations] Make WPT test at interfaces/Animation/finish.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186496 + + +Reviewed by Dean Jackson. + +Mark a WPT progression. + +* web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt: + +2018-07-05 Antoine Quint + [Web Animations] Make WPT test at interfaces/Animation/finished.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186497 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt (233584 => 233585) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt 2018-07-06 18:37:21 UTC (rev 233584) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animation/finish-expected.txt 2018-07-06 18:43:57 UTC (rev 233585) @@ -13,5 +13,5 @@ PASS Test resetting of computed style PASS Test finish() resolves finished promise synchronously PASS Test finish() resolves finished promise synchronously with an animation without a target -FAIL Test normally finished animation resolves finished promise synchronously with an animation without a target assert_true: Animation.finished should be resolved soon after Animation finishes normally expected true got false +PASS Test normally finished animation resolves finished promise synchronously with an animation without a target Modified: trunk/Source/WebCore/ChangeLog (233584 => 233585) --- trunk/Source/WebCore/ChangeLog 2018-07-06 18:37:21 UTC (rev 233584) +++ trunk/Source/WebCore/ChangeLog 2018-07-06 18:43:57 UTC (rev 233585) @@ -1,5 +1,30 @@ 2018-07-05 Antoine Quint +[Web Animations] Make WPT test at interfaces/Animation/finish.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186496 + + +Reviewed by Dean Jackson. + +We used to only resolve animations that had a target element, but animations need not have a target and their +current time should still advance so that their finished promise may resolve. We now maintain a list of animations +without targets and we iterate through them as well as animations with targets in DocumentTimeline::updateAnimations(). + +* animation/AnimationTimeline.cpp: +(WebCore::AnimationTimeline::addAnimation): +(WebCore::AnimationTimeline::removeAnimation): +(WebCore::AnimationTimeline::animationWasAddedToElement): +(WebCore::AnimationTimeline::animationWasRemovedFromElement): +* animation/AnimationTimeline.h: +(WebCore::AnimationTimeline:: const): +* animation/DocumentTimeline.cpp: +(WebCore::DocumentTimeline::updateAnimations): +* animation/WebAnimation.cpp: +(WebCore::WebAnimation::resolve): +* animation/WebAnimation.h: + +2018-07-05 Antoine Quint + [Web Animations] Mak
[webkit-changes] [233588] trunk
Title: [233588] trunk Revision 233588 Author grao...@webkit.org Date 2018-07-06 12:39:42 -0700 (Fri, 06 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186502 l Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark WPT progression. * web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: Source/WebCore: Ensure we only attempt to convert defined objects or we risk to throw errors in valid situations. * animation/KeyframeEffectReadOnly.cpp: (WebCore::processKeyframeLikeObject): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233587 => 233588) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 19:33:06 UTC (rev 233587) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-06 19:39:42 UTC (rev 233588) @@ -1,3 +1,15 @@ +2018-07-06 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186502 +l + +Reviewed by Dean Jackson. + +Mark WPT progression. + +* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt: + 2018-07-05 Antoine Quint [Web Animations] Make WPT test at interfaces/Animation/finish.html pass reliably Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt (233587 => 233588) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt 2018-07-06 19:33:06 UTC (rev 233587) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-002-expected.txt 2018-07-06 19:39:42 UTC (rev 233588) @@ -3,6 +3,6 @@ PASS easing values are parsed correctly when using a keyframe sequence PASS Invalid easing values are correctly rejected when set on a property-indexed keyframe PASS Invalid easing values are correctly rejected when using a keyframe sequence -FAIL Errors from invalid easings on a property-indexed keyframe are thrown after reading all properties assert_equals: All properties were read before throwing the easing error expected 2 but got 1 +PASS Errors from invalid easings on a property-indexed keyframe are thrown after reading all properties PASS Errors from invalid easings on a keyframe sequence are thrown after reading all properties Modified: trunk/Source/WebCore/ChangeLog (233587 => 233588) --- trunk/Source/WebCore/ChangeLog 2018-07-06 19:33:06 UTC (rev 233587) +++ trunk/Source/WebCore/ChangeLog 2018-07-06 19:39:42 UTC (rev 233588) @@ -1,3 +1,16 @@ +2018-07-06 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-002.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186502 +l + +Reviewed by Dean Jackson. + +Ensure we only attempt to convert defined objects or we risk to throw errors in valid situations. + +* animation/KeyframeEffectReadOnly.cpp: +(WebCore::processKeyframeLikeObject): + 2018-07-05 Antoine Quint [Web Animations] Make WPT test at interfaces/Animation/finish.html pass reliably Modified: trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp (233587 => 233588) --- trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-06 19:33:06 UTC (rev 233587) +++ trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-06 19:39:42 UTC (rev 233588) @@ -270,7 +270,7 @@ // Values as the only element. if (rawValue.isString()) propertyValues = { rawValue.toWTFString(&state) }; -else +else if (rawValue.isObject()) propertyValues = convert>(state, rawValue); RETURN_IF_EXCEPTION(scope, Exception { TypeError }); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233666] trunk
Title: [233666] trunk Revision 233666 Author grao...@webkit.org Date 2018-07-09 16:48:52 -0700 (Mon, 09 Jul 2018) Log Message [Web Animations] Support overlapping keyframes https://bugs.webkit.org/show_bug.cgi?id=187481 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. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/rendering/style/KeyframeList.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233665 => 233666) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-09 23:46:26 UTC (rev 233665) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-09 23:48:52 UTC (rev 233666) @@ -1,3 +1,18 @@ +2018-07-09 Antoine Quint + +[Web Animations] Support overlapping keyframes +https://bugs.webkit.org/show_bug.cgi?id=187481 + + +Reviewed by Dean Jackson. + +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: + 2018-07-09 Youenn Fablet StringView operator==(char*) should check the length of the string Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt (233665 => 233666) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt 2018-07-09 23:46:26 UTC (rev 233665) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt 2018-07-09 23:48:52 UTC (rev 233666) @@ -1,4 +1,4 @@ -FAIL Overlapping keyframes at 0 and 1 use the appropriate value when the progress is outside the range [0, 1] Type error -FAIL Overlapping keyframes between 0 and 1 use the appropriate value on each side of the overlap point Type error +FAIL Overlapping keyframes at 0 and 1 use the appropriate value when the progress is outside the range [0, 1] assert_equals: When progress is zero the last keyframe with offset 0 should be used expected "0.2" but got "0.2000298023224" +FAIL Overlapping keyframes between 0 and 1 use the appropriate value on each side of the overlap point assert_equals: Before the overlap point, the first keyframe from the overlap point should be used as interval endpoint expected "0.15" but got "0.1500596046448" Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt (233665 => 233666) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt 2018-07-09 23:46:26 UTC (rev 233665) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt 2018-07-09 23:48:52 UTC (rev 233666) @@ -54,9 +54,9 @@ PASS Element.animate() accepts a one property two keyframe sequence that needs to stringify its values PASS Element.animate() accepts a keyframe sequence w
[webkit-changes] [233667] trunk
Title: [233667] trunk Revision 233667 Author grao...@webkit.org Date 2018-07-09 16:52:54 -0700 (Mon, 09 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/DocumentTimeline/constructor.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186498 LayoutTests/imported/w3c: Reviewed by Dean Jackson. Mark 4 new WPT progressions. * web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: Source/WebCore: Reviewed by Dean Jackson. Add a Constructor to the DocumentTimeline IDL to match the spec and ensure we respect the provided origin time. To ensure all DocumentTimeline instances report matching current times, we read the current time from the "main" document timeline, the one created by the Document automatically. * CMakeLists.txt: * DerivedSources.make: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::create): (WebCore::DocumentTimeline::DocumentTimeline): (WebCore::DocumentTimeline::currentTime): * animation/DocumentTimeline.h: * animation/DocumentTimeline.idl: * animation/DocumentTimelineOptions.h: * animation/DocumentTimelineOptions.idl: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/animation/DocumentTimeline.idl Added Paths trunk/Source/WebCore/animation/DocumentTimelineOptions.h trunk/Source/WebCore/animation/DocumentTimelineOptions.idl Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233666 => 233667) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-09 23:48:52 UTC (rev 233666) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-09 23:52:54 UTC (rev 233667) @@ -1,5 +1,17 @@ 2018-07-09 Antoine Quint +[Web Animations] Make WPT test at interfaces/DocumentTimeline/constructor.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186498 + + +Reviewed by Dean Jackson. + +Mark 4 new WPT progressions. + +* web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt: + +2018-07-09 Antoine Quint + [Web Animations] Support overlapping keyframes https://bugs.webkit.org/show_bug.cgi?id=187481 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt (233666 => 233667) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt 2018-07-09 23:48:52 UTC (rev 233666) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/DocumentTimeline/constructor-expected.txt 2018-07-09 23:52:54 UTC (rev 233667) @@ -1,6 +1,6 @@ -FAIL An origin time of zero is used when none is supplied function is not a constructor (evaluating 'new DocumentTimeline()') -FAIL A zero origin time produces a document timeline with a current time identical to the default document timeline function is not a constructor (evaluating 'new DocumentTimeline({ originTime: 0 })') -FAIL A positive origin time makes the document timeline's current time lag behind the default document timeline function is not a constructor (evaluating 'new DocumentTimeline({ originTime: 10 * MS_PER_SEC })') -FAIL A negative origin time makes the document timeline's current time run ahead of the default document timeline function is not a constructor (evaluating 'new DocumentTimeline({ originTime: -10 * MS_PER_SEC })') +PASS An origin time of zero is used when none is supplied +PASS A zero origin time produces a document timeline with a current time identical to the default document timeline +PASS A positive origin time makes the document timeline's current time lag behind the default document timeline +PASS A negative origin time makes the document timeline's current time run ahead of the default document timeline Modified: trunk/Source/WebCore/CMakeLists.txt (233666 => 233667) --- trunk/Source/WebCore/CMakeLists.txt 2018-07-09 23:48:52 UTC (rev 233666) +++ trunk/Source/WebCore/CMakeLists.txt 2018-07-09 23:52:54 UTC (rev 233667) @@ -454,6 +454,7 @@ animation/CompositeOperation.idl animation/ComputedTimingProperties.idl animation/DocumentTimeline.idl +animation/DocumentTimelineOptions.idl animation/FillMode.idl animation/IterationCompositeOperation.idl animation/KeyframeAnimationOptions.idl Modified: trunk/Source/WebCore/ChangeLog (233666 => 233667) --- trunk/Source/WebCore/ChangeLog 2018-07-09 23:48:52 UTC (rev 233666) +++ trunk/Source/WebCore/ChangeLog 2018-07-09 23:52:
[webkit-changes] [233676] trunk
Title: [233676] trunk Revision 233676 Author grao...@webkit.org Date 2018-07-09 19:33:32 -0700 (Mon, 09 Jul 2018) Log Message [Web Animations] Correct handle repetition of composite and easing values https://bugs.webkit.org/show_bug.cgi?id=187498 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark 6 new WPT progressions. * 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: If there are fewer values for "easing" and "composite" than there are keyframes, we are supposed to fill in missing values by repeating the pattern of specified values. We were starting our iteration to fill those missing values on the second missing value rather than the first missing value. * animation/KeyframeEffectReadOnly.cpp: (WebCore::processPropertyIndexedKeyframes): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/setKeyframes-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233675 => 233676) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-10 02:06:02 UTC (rev 233675) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-10 02:33:32 UTC (rev 233676) @@ -1,5 +1,19 @@ 2018-07-09 Antoine Quint +[Web Animations] Correct handle repetition of composite and easing values +https://bugs.webkit.org/show_bug.cgi?id=187498 + + +Reviewed by Dean Jackson. + +Mark 6 new WPT progressions. + +* 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: + +2018-07-09 Antoine Quint + [Web Animations] Make WPT test at interfaces/DocumentTimeline/constructor.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186498 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt (233675 => 233676) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt 2018-07-10 02:06:02 UTC (rev 233675) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt 2018-07-10 02:33:32 UTC (rev 233676) @@ -35,13 +35,13 @@ PASS Element.animate() accepts a property-indexed keyframe without any specified easing PASS Element.animate() accepts a property-indexed keyframe with a single easing PASS Element.animate() accepts a property-indexed keyframe with an array of easings -FAIL Element.animate() accepts a property-indexed keyframe with an array of easings that is too short assert_equals: value for 'easing' on ComputedKeyframe #2 expected "ease-in" but got "ease-out" +PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too short PASS Element.animate() accepts a property-indexed keyframe with a single-element array of easings PASS Element.animate() accepts a property-indexed keyframe with an empty array of easings PASS Element.animate() accepts a property-indexed keyframe with an array of easings that is too long PASS Element.animate() accepts a property-indexed keyframe with a single composite operation PASS Element.animate() accepts a property-indexed keyframe with a composite array -FAIL Element.animate() accepts a property-indexed keyframe with a composite array that is too short assert_equals: value for 'composite' on ComputedKeyframe #2 expected "add" but got "replace" +PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too short PASS Element.animate() accepts a property-indexed keyframe with a composite array that is too long PASS Element.animate() accepts a property-indexed keyframe with a single-element composite array PASS Element.animate() accepts a one property one keyframe sequence Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt (233675 => 233676) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt 2018-07-10 02:06:02 UTC (rev 233675) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/constructor-expected.txt 2018-07-10 02:33:32 UTC (
[webkit-changes] [233685] trunk/LayoutTests/imported/w3c
Title: [233685] trunk/LayoutTests/imported/w3c Revision 233685 Author grao...@webkit.org Date 2018-07-10 09:35:35 -0700 (Tue, 10 Jul 2018) Log Message [Web Animations] Make WPT test at animation-model/keyframe-effects/effect-value-overlapping-keyframes.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186492 Reviewed by Dean Jackson. While we've fixed handling of overlapping keyframes in the fix for webkit.org/b/187498 (r233676), we weren't passing the dedicated WPT test because it assumed absolute accuracy when reading the computed style opacity. This isn't correct per the CSS spec and the WPT test has been updated (see https://github.com/web-platform-tests/wpt/pull/11880). We're reflecting this change in our copy of this test which now passes. * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: * web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233684 => 233685) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-10 16:33:04 UTC (rev 233684) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-10 16:35:35 UTC (rev 233685) @@ -1,5 +1,21 @@ 2018-07-09 Antoine Quint +[Web Animations] Make WPT test at animation-model/keyframe-effects/effect-value-overlapping-keyframes.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186492 + + +Reviewed by Dean Jackson. + +While we've fixed handling of overlapping keyframes in the fix for webkit.org/b/187498 (r233676), we weren't passing +the dedicated WPT test because it assumed absolute accuracy when reading the computed style opacity. This isn't correct +per the CSS spec and the WPT test has been updated (see https://github.com/web-platform-tests/wpt/pull/11880). We're +reflecting this change in our copy of this test which now passes. + +* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt: +* web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html: + +2018-07-09 Antoine Quint + [Web Animations] Correct handle repetition of composite and easing values https://bugs.webkit.org/show_bug.cgi?id=187498 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt (233684 => 233685) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt 2018-07-10 16:33:04 UTC (rev 233684) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes-expected.txt 2018-07-10 16:35:35 UTC (rev 233685) @@ -1,4 +1,4 @@ -FAIL Overlapping keyframes at 0 and 1 use the appropriate value when the progress is outside the range [0, 1] assert_equals: When progress is zero the last keyframe with offset 0 should be used expected "0.2" but got "0.2000298023224" -FAIL Overlapping keyframes between 0 and 1 use the appropriate value on each side of the overlap point assert_equals: Before the overlap point, the first keyframe from the overlap point should be used as interval endpoint expected "0.15" but got "0.1500596046448" +PASS Overlapping keyframes at 0 and 1 use the appropriate value when the progress is outside the range [0, 1] +PASS Overlapping keyframes between 0 and 1 use the appropriate value on each side of the overlap point Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html (233684 => 233685) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html 2018-07-10 16:33:04 UTC (rev 233684) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/keyframe-effects/effect-value-overlapping-keyframes.html 2018-07-10 16:35:35 UTC (rev 233685) @@ -11,6 +11,10 @@
[webkit-changes] [233729] trunk
Title: [233729] trunk Revision 233729 Author grao...@webkit.org Date 2018-07-11 08:54:00 -0700 (Wed, 11 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186501 Reviewed by Dean Jackson. LayoutTests/imported/w3c: Mark 2 new WPT progressions. * web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: Source/WebCore: There were two remaining assertions that we were failing in this WPT test file, both related to processing iterable keyframes. The first one was failing because didn't correctly propagate the TypeError exception in the forEachInIterable() callback. The second one was failing because we didn't use the "process a keyframe-like object" procedure when processing iterable keyframes and, as such, we didn't correctly sort property alphabetically before reading their values. To fix this second issue, we make processIterableKeyframes() use processKeyframeLikeObject(). To do so, we update processKeyframeLikeObject() to accept a new boolean flag to match the "allow lists" flag from the specification. We also ensure we sort the properties *before* reading from them which we didn't use to do previously. * animation/KeyframeEffectReadOnly.cpp: (WebCore::processKeyframeLikeObject): (WebCore::processIterableKeyframes): (WebCore::processPropertyIndexedKeyframes): * animation/KeyframeEffectReadOnly.h: * animation/KeyframeEffectReadOnly.idl: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp trunk/Source/WebCore/animation/KeyframeEffectReadOnly.h trunk/Source/WebCore/animation/KeyframeEffectReadOnly.idl Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (233728 => 233729) --- trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-11 13:30:14 UTC (rev 233728) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2018-07-11 15:54:00 UTC (rev 233729) @@ -1,3 +1,15 @@ +2018-07-10 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186501 + + +Reviewed by Dean Jackson. + +Mark 2 new WPT progressions. + +* web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt: + 2018-07-10 Youenn Fablet Make fetch() use "same-origin" credentials by default Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt (233728 => 233729) --- trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt 2018-07-11 13:30:14 UTC (rev 233728) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001-expected.txt 2018-07-11 15:54:00 UTC (rev 233729) @@ -42,18 +42,11 @@ PASS 'easing' and 'offset' are ignored on iterable objects PASS Keyframes are read from a custom iterator with multiple properties specified PASS Keyframes are read from a custom iterator with where an offset is specified -FAIL Reading from a custom iterator that returns a non-object keyframe should throw assert_throws: function "() => { -new KeyframeEffect(null, createIterable([ - { done: false, value: { left: '100px' } }, - { done: false, value: 1234 }, - { done: false, value: { left: '200px' } }, - { done: true }, -])); - }" did not throw +PASS Reading from a custom iterator that returns a non-object keyframe should throw PASS A list of values returned from a custom iterator should be ignored PASS Only enumerable properties on keyframes are read PASS Only properties defined directly on keyframes are read PASS Only enumerable properties on property-indexed keyframes are read PASS Only properties defined directly on property-indexed keyframes are read -FAIL Properties are read in ascending order by Unicode codepoint assert_array_equals: property access order property 0, expected "composite" but got "marginLeft" +PASS Properties are read in ascending order by Unicode codepoint Modified: trunk/Source/WebCore/ChangeLog (233728 => 233729) --- trunk/Source/WebCore/ChangeLog 2018-07-11 13:30:14 UTC (rev 233728) +++ trunk/Source/WebCore/ChangeLog 2018-07-11 15:54:00 UTC (rev 233729) @@ -1,3 +1,27 @@ +2018-07-10 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186501 + + +Reviewed
[webkit-changes] [233730] trunk/Source/WebCore
Title: [233730] trunk/Source/WebCore Revision 233730 Author grao...@webkit.org Date 2018-07-11 09:34:37 -0700 (Wed, 11 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186501 Unreviewed build fix after r233729. * animation/KeyframeEffectReadOnly.cpp: (WebCore::processIterableKeyframes): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (233729 => 233730) --- trunk/Source/WebCore/ChangeLog 2018-07-11 15:54:00 UTC (rev 233729) +++ trunk/Source/WebCore/ChangeLog 2018-07-11 16:34:37 UTC (rev 233730) @@ -1,3 +1,14 @@ +2018-07-11 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186501 + + +Unreviewed build fix after r233729. + +* animation/KeyframeEffectReadOnly.cpp: +(WebCore::processIterableKeyframes): + 2018-07-10 Antoine Quint [Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably Modified: trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp (233729 => 233730) --- trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-11 15:54:00 UTC (rev 233729) +++ trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-11 16:34:37 UTC (rev 233730) @@ -269,7 +269,6 @@ static inline ExceptionOr processIterableKeyframes(ExecState& state, Strong&& keyframesInput, JSValue method, Vector& parsedKeyframes) { VM& vm = state.vm(); -auto scope = DECLARE_THROW_SCOPE(vm); // 1. Let iter be GetIterator(object, method). forEachInIterable(state, keyframesInput.get(), method, [&parsedKeyframes](VM& vm, ExecState& state, JSValue nextValue) -> ExceptionOr { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233731] trunk/Source/WebCore
Title: [233731] trunk/Source/WebCore Revision 233731 Author grao...@webkit.org Date 2018-07-11 09:40:27 -0700 (Wed, 11 Jul 2018) Log Message [Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably https://bugs.webkit.org/show_bug.cgi?id=186501 Unreviewed build fix after r233729 and r233730. * animation/KeyframeEffectReadOnly.cpp: (WebCore::processIterableKeyframes): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (233730 => 233731) --- trunk/Source/WebCore/ChangeLog 2018-07-11 16:34:37 UTC (rev 233730) +++ trunk/Source/WebCore/ChangeLog 2018-07-11 16:40:27 UTC (rev 233731) @@ -4,6 +4,17 @@ https://bugs.webkit.org/show_bug.cgi?id=186501 +Unreviewed build fix after r233729 and r233730. + +* animation/KeyframeEffectReadOnly.cpp: +(WebCore::processIterableKeyframes): + +2018-07-11 Antoine Quint + +[Web Animations] Make WPT test at interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html pass reliably +https://bugs.webkit.org/show_bug.cgi?id=186501 + + Unreviewed build fix after r233729. * animation/KeyframeEffectReadOnly.cpp: Modified: trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp (233730 => 233731) --- trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-11 16:34:37 UTC (rev 233730) +++ trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp 2018-07-11 16:40:27 UTC (rev 233731) @@ -268,8 +268,6 @@ static inline ExceptionOr processIterableKeyframes(ExecState& state, Strong&& keyframesInput, JSValue method, Vector& parsedKeyframes) { -VM& vm = state.vm(); - // 1. Let iter be GetIterator(object, method). forEachInIterable(state, keyframesInput.get(), method, [&parsedKeyframes](VM& vm, ExecState& state, JSValue nextValue) -> ExceptionOr { // Steps 2 through 6 are already implemented by forEachInIterable(). ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [233814] trunk/Source/WebCore
Title: [233814] trunk/Source/WebCore Revision 233814 Author grao...@webkit.org Date 2018-07-13 13:34:24 -0700 (Fri, 13 Jul 2018) Log Message Dark Mode: document markers are difficult to see https://bugs.webkit.org/show_bug.cgi?id=187632 Reviewed by Simon Fraser. We update the way we draw the document markers for macOS and use more constrasting colors in dark mode. Paving the way for future improvements, we move the drawLineForDocumentMarker() method from GraphicsContext to RenderTheme and implement a first version in RenderThemeMac. The circles used for the underline are now drawn directly with Core Graphics and we no longer use an image resource. To allow both GraphicsContext and RenderTheme to have different versions of the drawLineForDocumentMarker() method, the DocumentMarkerLineStyle enum is now an "enum class". No new test due to webkit.org/b/105616, webkit.org/b/187655 was raised to track the creation of new tests when it becomes possible again. * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawLineForDocumentMarker): * platform/graphics/cairo/CairoOperations.h: * platform/graphics/cairo/GraphicsContextImplCairo.cpp: (WebCore::GraphicsContextImplCairo::drawLineForDocumentMarker): * platform/graphics/cairo/GraphicsContextImplCairo.h: * platform/graphics/cocoa/GraphicsContextCocoa.mm: (WebCore::GraphicsContext::drawLineForDocumentMarker): * platform/graphics/displaylists/DisplayListItems.h: (WebCore::DisplayList::DrawLineForDocumentMarker::create): (WebCore::DisplayList::DrawLineForDocumentMarker::DrawLineForDocumentMarker): * platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::drawLineForDocumentMarker): * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp: (Nicosia::CairoOperationRecorder::drawLineForDocumentMarker): * platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h: * platform/graphics/win/GraphicsContextCGWin.cpp: (WebCore::GraphicsContext::drawLineForDocumentMarker): * rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintPlatformDocumentMarker): Call drawLineForDocumentMarker() on the RenderTheme on macOS and on GraphicsContext in all other cases. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::drawLineForDocumentMarker): * rendering/RenderTheme.h: * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::colorForStyle): Provide different colors for light and dark modes. (WebCore::RenderThemeMac::drawLineForDocumentMarker): A new macOS-specific version of drawLineForDocumentMarker() where we paint circles using Core Graphics directly. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/GraphicsContext.h trunk/Source/WebCore/platform/graphics/GraphicsContextImpl.h trunk/Source/WebCore/platform/graphics/cairo/CairoOperations.cpp trunk/Source/WebCore/platform/graphics/cairo/CairoOperations.h trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.cpp trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.h trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItems.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp trunk/Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h trunk/Source/WebCore/platform/graphics/win/GraphicsContextCGWin.cpp trunk/Source/WebCore/rendering/InlineTextBox.cpp trunk/Source/WebCore/rendering/RenderTheme.cpp trunk/Source/WebCore/rendering/RenderTheme.h trunk/Source/WebCore/rendering/RenderThemeMac.h trunk/Source/WebCore/rendering/RenderThemeMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (233813 => 233814) --- trunk/Source/WebCore/ChangeLog 2018-07-13 20:17:04 UTC (rev 233813) +++ trunk/Source/WebCore/ChangeLog 2018-07-13 20:34:24 UTC (rev 233814) @@ -1,3 +1,54 @@ +2018-07-13 Antoine Quint + +Dark Mode: document markers are difficult to see +https://bugs.webkit.org/show_bug.cgi?id=187632 + + +Reviewed by Simon Fraser. + +We update the way we draw the document markers for macOS and use more constrasting colors in dark mode. +Paving the way for future improvements, we move the drawLineForDocumentMarker() method from GraphicsContext +to RenderTheme and implement a first version in RenderThemeMac. The circles used for the underline are now +drawn directly with Core Graphics and we no longer use an image resource. To allow both GraphicsContext +and RenderTheme to have different versions of the drawLineForDocumentMarker() method, the DocumentMarkerLineStyle +enum is now an "enum cl
[webkit-changes] [242893] trunk
Title: [242893] trunk Revision 242893 Author grao...@webkit.org Date 2019-03-13 11:14:21 -0700 (Wed, 13 Mar 2019) Log Message REGRESSION(r240634): Element::hasPointerCapture() passes a JS-controlled value directly into a HashMap as a key https://bugs.webkit.org/show_bug.cgi?id=195683 Reviewed by Alex Christensen. Source/WebCore: While PointerID is defined as int32_t, we now use int64_t as the key of the HashMap mapping PointerID to CapturingData so that we use a value outside of the int32_t range as a safe empty and removed values, allowing any int32_t to be provided through the API for lookup in this HashMap. Test: pointerevents/pointer-id-crash.html * page/PointerCaptureController.h: LayoutTests: Add a new test which would crash in debug builds prior to this fix. * pointerevents/pointer-id-crash-expected.txt: Added. * pointerevents/pointer-id-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/PointerCaptureController.h Diff Modified: trunk/LayoutTests/ChangeLog (242892 => 242893) --- trunk/LayoutTests/ChangeLog 2019-03-13 18:09:00 UTC (rev 242892) +++ trunk/LayoutTests/ChangeLog 2019-03-13 18:14:21 UTC (rev 242893) @@ -1,3 +1,16 @@ +2019-03-13 Antoine Quint + +REGRESSION(r240634): Element::hasPointerCapture() passes a JS-controlled value directly into a HashMap as a key +https://bugs.webkit.org/show_bug.cgi?id=195683 + + +Reviewed by Alex Christensen. + +Add a new test which would crash in debug builds prior to this fix. + +* pointerevents/pointer-id-crash-expected.txt: Added. +* pointerevents/pointer-id-crash.html: Added. + 2019-03-13 Shawn Roberts http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html is a flaky failure on Mac WK2 Modified: trunk/Source/WebCore/ChangeLog (242892 => 242893) --- trunk/Source/WebCore/ChangeLog 2019-03-13 18:09:00 UTC (rev 242892) +++ trunk/Source/WebCore/ChangeLog 2019-03-13 18:14:21 UTC (rev 242893) @@ -1,3 +1,19 @@ +2019-03-13 Antoine Quint + +REGRESSION(r240634): Element::hasPointerCapture() passes a JS-controlled value directly into a HashMap as a key +https://bugs.webkit.org/show_bug.cgi?id=195683 + + +Reviewed by Alex Christensen. + +While PointerID is defined as int32_t, we now use int64_t as the key of the HashMap mapping PointerID to CapturingData so that we use +a value outside of the int32_t range as a safe empty and removed values, allowing any int32_t to be provided through the API for +lookup in this HashMap. + +Test: pointerevents/pointer-id-crash.html + +* page/PointerCaptureController.h: + 2019-03-12 Brady Eidson Take UnboundedNetworking assertion when a file upload is in progress. Modified: trunk/Source/WebCore/page/PointerCaptureController.h (242892 => 242893) --- trunk/Source/WebCore/page/PointerCaptureController.h 2019-03-13 18:09:00 UTC (rev 242892) +++ trunk/Source/WebCore/page/PointerCaptureController.h 2019-03-13 18:14:21 UTC (rev 242893) @@ -69,7 +69,10 @@ void processPendingPointerCapture(const PointerEvent&); Page& m_page; -HashMap m_activePointerIdsToCapturingData; +// While PointerID is defined as int32_t, we use int64_t here so that we may use a value outside of the int32_t range to have safe +// empty and removed values, allowing any int32_t to be provided through the API for lookup in this hashmap. +using PointerIdToCapturingDataMap = HashMap, WTF::SignedWithZeroKeyHashTraits>; +PointerIdToCapturingDataMap m_activePointerIdsToCapturingData; }; } // namespace WebCore ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [243070] trunk/Source/WebCore
Title: [243070] trunk/Source/WebCore Revision 243070 Author grao...@webkit.org Date 2019-03-18 09:25:06 -0700 (Mon, 18 Mar 2019) Log Message Make mouse event simulation a quirk https://bugs.webkit.org/show_bug.cgi?id=195218 Reviewed by Dean Jackson. Add new quirks to control whether we should dispatch simulated mouse events and whether we should assume preventDefault() was called when a simulated "mousemove" event was handled. Currently both return false but will be made to return more interesting results as we determine heuristics or specific sites that may require such quirks. * page/Quirks.cpp: (WebCore::Quirks::shouldDispatchSimulateMouseEvents const): (WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): * page/Quirks.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp trunk/Source/WebCore/page/Quirks.h Diff Modified: trunk/Source/WebCore/ChangeLog (243069 => 243070) --- trunk/Source/WebCore/ChangeLog 2019-03-18 16:18:10 UTC (rev 243069) +++ trunk/Source/WebCore/ChangeLog 2019-03-18 16:25:06 UTC (rev 243070) @@ -1,3 +1,21 @@ +2019-03-15 Antoine Quint + +Make mouse event simulation a quirk +https://bugs.webkit.org/show_bug.cgi?id=195218 + + +Reviewed by Dean Jackson. + +Add new quirks to control whether we should dispatch simulated mouse events and whether we should assume +preventDefault() was called when a simulated "mousemove" event was handled. Currently both return false +but will be made to return more interesting results as we determine heuristics or specific sites that +may require such quirks. + +* page/Quirks.cpp: +(WebCore::Quirks::shouldDispatchSimulateMouseEvents const): +(WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): +* page/Quirks.h: + 2019-03-18 Philippe Normand [GStreamer] Rewrite HTTP source element using pushsrc base class Modified: trunk/Source/WebCore/page/Quirks.cpp (243069 => 243070) --- trunk/Source/WebCore/page/Quirks.cpp 2019-03-18 16:18:10 UTC (rev 243069) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-03-18 16:25:06 UTC (rev 243070) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 Apple Inc. All rights reserved. + * Copyright (C) 2018-2019 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -195,4 +195,14 @@ return false; } +bool Quirks::shouldDispatchSimulateMouseEvents() const +{ +return false; } + +bool Quirks::shouldMousemoveEventHandlingPreventDefault() const +{ +return false; +} + +} Modified: trunk/Source/WebCore/page/Quirks.h (243069 => 243070) --- trunk/Source/WebCore/page/Quirks.h 2019-03-18 16:18:10 UTC (rev 243069) +++ trunk/Source/WebCore/page/Quirks.h 2019-03-18 16:25:06 UTC (rev 243070) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 Apple Inc. All rights reserved. + * Copyright (C) 2018-2019 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -45,6 +45,8 @@ bool shouldAutoplayForArbitraryUserGesture() const; bool hasBrokenEncryptedMediaAPISupportQuirk() const; bool hasWebSQLSupportQuirk() const; +bool shouldDispatchSimulateMouseEvents() const; +bool shouldMousemoveEventHandlingPreventDefault() const; WEBCORE_EXPORT bool isTouchBarUpdateSupressedForHiddenContentEditable() const; WEBCORE_EXPORT bool isNeverRichlyEditableForTouchBar() const; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [243235] trunk/LayoutTests
Title: [243235] trunk/LayoutTests Revision 243235 Author grao...@webkit.org Date 2019-03-20 13:35:25 -0700 (Wed, 20 Mar 2019) Log Message REGRESSION(r240634): Element::hasPointerCapture() passes a JS-controlled value directly into a HashMap as a key https://bugs.webkit.org/show_bug.cgi?id=195683 Reviewed by Alex Christensen. Adding the test that was supposed to have landed along with r242893. * pointerevents/pointer-id-crash-expected.txt: Added. * pointerevents/pointer-id-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/pointerevents/pointer-id-crash-expected.txt trunk/LayoutTests/pointerevents/pointer-id-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (243234 => 243235) --- trunk/LayoutTests/ChangeLog 2019-03-20 20:31:08 UTC (rev 243234) +++ trunk/LayoutTests/ChangeLog 2019-03-20 20:35:25 UTC (rev 243235) @@ -1,3 +1,15 @@ +2019-03-20 Antoine Quint + +REGRESSION(r240634): Element::hasPointerCapture() passes a JS-controlled value directly into a HashMap as a key +https://bugs.webkit.org/show_bug.cgi?id=195683 + +Reviewed by Alex Christensen. + +Adding the test that was supposed to have landed along with r242893. + +* pointerevents/pointer-id-crash-expected.txt: Added. +* pointerevents/pointer-id-crash.html: Added. + 2019-03-20 Devin Rousso Unreviewed, fix test failures after r243161. Added: trunk/LayoutTests/pointerevents/pointer-id-crash-expected.txt (0 => 243235) --- trunk/LayoutTests/pointerevents/pointer-id-crash-expected.txt (rev 0) +++ trunk/LayoutTests/pointerevents/pointer-id-crash-expected.txt 2019-03-20 20:35:25 UTC (rev 243235) @@ -0,0 +1,3 @@ + +PASS Checking 0 can be used as a Pointer ID. + Added: trunk/LayoutTests/pointerevents/pointer-id-crash.html (0 => 243235) --- trunk/LayoutTests/pointerevents/pointer-id-crash.html (rev 0) +++ trunk/LayoutTests/pointerevents/pointer-id-crash.html 2019-03-20 20:35:25 UTC (rev 243235) @@ -0,0 +1,25 @@ + + + + + + + + +'use strict'; + +test(() => { +const element = document.body.appendChild(document.createElement("div")); +for (let value of [0, Number.MAX_VALUE, Number.MIN_VALUE, Number.MAX_VALUE + 1, Number.MIN_VALUE - 1]) { +element.hasPointerCapture(value); +assert_throws("NotFoundError", () => element.setPointerCapture(value)) +assert_throws("NotFoundError", () => element.releasePointerCapture(value)) +} +element.remove(); +}, "Checking 0 can be used as a Pointer ID."); + + + + \ No newline at end of file ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [243263] trunk/Source/WebCore
Title: [243263] trunk/Source/WebCore Revision 243263 Author grao...@webkit.org Date 2019-03-20 17:14:04 -0700 (Wed, 20 Mar 2019) Log Message DumpRenderTree crashes under WebAnimation::isRelevant when running imported/mozilla/css-transitions/test_document-get-animations.html in GuardMalloc https://bugs.webkit.org/show_bug.cgi?id=196028 Reviewed by Dean Jackson. Instead of keeping a ListHashSet of raw pointers, we are now using a Vector of WeakPtrs. * animation/AnimationTimeline.cpp: (WebCore::AnimationTimeline::forgetAnimation): (WebCore::AnimationTimeline::animationTimingDidChange): (WebCore::AnimationTimeline::cancelDeclarativeAnimation): * animation/AnimationTimeline.h: * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::getAnimations const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationTimeline.cpp trunk/Source/WebCore/animation/AnimationTimeline.h trunk/Source/WebCore/animation/DocumentTimeline.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (243262 => 243263) --- trunk/Source/WebCore/ChangeLog 2019-03-21 00:07:37 UTC (rev 243262) +++ trunk/Source/WebCore/ChangeLog 2019-03-21 00:14:04 UTC (rev 243263) @@ -1,3 +1,21 @@ +2019-03-20 Antoine Quint + +DumpRenderTree crashes under WebAnimation::isRelevant when running imported/mozilla/css-transitions/test_document-get-animations.html in GuardMalloc +https://bugs.webkit.org/show_bug.cgi?id=196028 + + +Reviewed by Dean Jackson. + +Instead of keeping a ListHashSet of raw pointers, we are now using a Vector of WeakPtrs. + +* animation/AnimationTimeline.cpp: +(WebCore::AnimationTimeline::forgetAnimation): +(WebCore::AnimationTimeline::animationTimingDidChange): +(WebCore::AnimationTimeline::cancelDeclarativeAnimation): +* animation/AnimationTimeline.h: +* animation/DocumentTimeline.cpp: +(WebCore::DocumentTimeline::getAnimations const): + 2019-03-20 Said Abou-Hallawa Remove the SVG tear off objects for SVGColorAnimator Modified: trunk/Source/WebCore/animation/AnimationTimeline.cpp (243262 => 243263) --- trunk/Source/WebCore/animation/AnimationTimeline.cpp 2019-03-21 00:07:37 UTC (rev 243262) +++ trunk/Source/WebCore/animation/AnimationTimeline.cpp 2019-03-21 00:14:04 UTC (rev 243263) @@ -56,13 +56,13 @@ void AnimationTimeline::forgetAnimation(WebAnimation* animation) { -m_allAnimations.remove(animation); +m_allAnimations.removeFirst(animation); } void AnimationTimeline::animationTimingDidChange(WebAnimation& animation) { if (m_animations.add(&animation)) { -m_allAnimations.add(&animation); +m_allAnimations.append(makeWeakPtr(&animation)); auto* timeline = animation.timeline(); if (timeline && timeline != this) timeline->removeAnimation(animation); @@ -492,7 +492,7 @@ { animation.cancelFromStyle(); removeAnimation(animation); -m_allAnimations.remove(&animation); +m_allAnimations.removeFirst(&animation); } } // namespace WebCore Modified: trunk/Source/WebCore/animation/AnimationTimeline.h (243262 => 243263) --- trunk/Source/WebCore/animation/AnimationTimeline.h 2019-03-21 00:07:37 UTC (rev 243262) +++ trunk/Source/WebCore/animation/AnimationTimeline.h 2019-03-21 00:14:04 UTC (rev 243263) @@ -77,7 +77,7 @@ protected: explicit AnimationTimeline(); -ListHashSet m_allAnimations; +Vector> m_allAnimations; ListHashSet> m_animations; HashMap m_elementToCompletedCSSTransitionByCSSPropertyID; Modified: trunk/Source/WebCore/animation/DocumentTimeline.cpp (243262 => 243263) --- trunk/Source/WebCore/animation/DocumentTimeline.cpp 2019-03-21 00:07:37 UTC (rev 243262) +++ trunk/Source/WebCore/animation/DocumentTimeline.cpp 2019-03-21 00:14:04 UTC (rev 243263) @@ -132,7 +132,7 @@ // First, let's get all qualifying animations in their right group. for (const auto& animation : m_allAnimations) { -if (!animation->isRelevant() || animation->timeline() != this || !is(animation->effect())) +if (!animation || !animation->isRelevant() || animation->timeline() != this || !is(animation->effect())) continue; auto* target = downcast(animation->effect())->target(); @@ -139,12 +139,12 @@ if (!target || !target->isDescendantOf(*m_document)) continue; -if (is(animation) && downcast(animation)->owningElement()) -cssTransitions.append(animation); -else if (is(animation) && downcast(animation)->owningElement()) -cssAnimations.append(animation); +if (is(animation.get()) && downcast(animation.get())->owningElement()) +cssTransitions.append(animation.get()); +else if (is(animation.get()) && downcast(animation.get())->owningElement()) +cssAnimations.append(animation.get()); else -webAnimations.append(animation); +
[webkit-changes] [243346] trunk
Title: [243346] trunk Revision 243346 Author grao...@webkit.org Date 2019-03-21 16:53:59 -0700 (Thu, 21 Mar 2019) Log Message [Web Animations] JS wrapper may be deleted while animation is yet to dispatch its finish event https://bugs.webkit.org/show_bug.cgi?id=196118 Reviewed by Ryosuke Niwa. Source/WebCore: Test: webanimations/js-wrapper-kept-alive.html We need to teach WebAnimation to keep its JS wrapper alive if it's relevant or could become relevant again by virtue of having a timeline. * animation/WebAnimation.cpp: (WebCore::WebAnimation::stop): Drive-by fix for the missing superclass method call. (WebCore::WebAnimation::hasPendingActivity const): * animation/WebAnimation.h: LayoutTests: Add a test that starts a short animation, sets a custom property on it, registers a "finish" event listener on it and deletes the sole reference to it in the JS world before triggering garbage collection. Prior to this fix, this test would time out because the JS wrapper would be garbage-collected prior to the animation completing and thus the event listener would not be called. To complete successfully, this test checks that it receives the event and its target is the same animation object that was originally created by checking the custom property is still set. * webanimations/js-wrapper-kept-alive-expected.txt: Added. * webanimations/js-wrapper-kept-alive.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/WebAnimation.cpp trunk/Source/WebCore/animation/WebAnimation.h Added Paths trunk/LayoutTests/webanimations/js-wrapper-kept-alive-expected.txt trunk/LayoutTests/webanimations/js-wrapper-kept-alive.html Diff Modified: trunk/LayoutTests/ChangeLog (243345 => 243346) --- trunk/LayoutTests/ChangeLog 2019-03-21 23:35:39 UTC (rev 243345) +++ trunk/LayoutTests/ChangeLog 2019-03-21 23:53:59 UTC (rev 243346) @@ -1,3 +1,20 @@ +2019-03-21 Antoine Quint + +[Web Animations] JS wrapper may be deleted while animation is yet to dispatch its finish event +https://bugs.webkit.org/show_bug.cgi?id=196118 + + +Reviewed by Ryosuke Niwa. + +Add a test that starts a short animation, sets a custom property on it, registers a "finish" event listener on it and deletes +the sole reference to it in the JS world before triggering garbage collection. Prior to this fix, this test would time out +because the JS wrapper would be garbage-collected prior to the animation completing and thus the event listener would not +be called. To complete successfully, this test checks that it receives the event and its target is the same animation object +that was originally created by checking the custom property is still set. + +* webanimations/js-wrapper-kept-alive-expected.txt: Added. +* webanimations/js-wrapper-kept-alive.html: Added. + 2019-03-21 Youenn Fablet Cache API and IDB space usages should be initialized on first quota check Added: trunk/LayoutTests/webanimations/js-wrapper-kept-alive-expected.txt (0 => 243346) --- trunk/LayoutTests/webanimations/js-wrapper-kept-alive-expected.txt (rev 0) +++ trunk/LayoutTests/webanimations/js-wrapper-kept-alive-expected.txt 2019-03-21 23:53:59 UTC (rev 243346) @@ -0,0 +1,10 @@ +This test checks that registering an event listener on an animation whose JS wrapper would otherwise be garbage-collected still fires registered event listeners. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS event.target._isMyAnimation is true +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/webanimations/js-wrapper-kept-alive.html (0 => 243346) --- trunk/LayoutTests/webanimations/js-wrapper-kept-alive.html (rev 0) +++ trunk/LayoutTests/webanimations/js-wrapper-kept-alive.html 2019-03-21 23:53:59 UTC (rev 243346) @@ -0,0 +1,33 @@ + + + + + +description("This test checks that registering an event listener on an animation whose JS wrapper would otherwise be garbage-collected still fires registered event listeners."); + +if (window.internals) +jsTestIsAsync = true; + +// A longer animation that could not be garbage-collected under any circumstance allows us to finish the test +// with a reasonable delay without hard-coding a timeout. +const timeoutAnimation = document.getElementById("target").animate({ marginRight: ["0px", "100px"] }, 1000); +timeoutAnimation.addEventListener("finish", finishJSTest); + +function runTest() { +const animation = document.getElementById("target").animate({ marginLeft: ["0px", "100px"] }, 100); +animation._isMyAnimation = true; +animation.addEventListener("finish", event => { +shouldBeTrue("event.target._isMyAnimation"); +finishJSTest(); +}); +} + +gc(); +runTest(); +gc(); + + +
[webkit-changes] [243499] trunk/Source
Title: [243499] trunk/Source Revision 243499 Author grao...@webkit.org Date 2019-03-26 09:57:38 -0700 (Tue, 26 Mar 2019) Log Message Remove mousemoveEventHandlingPreventsDefault internal setting and quirk https://bugs.webkit.org/show_bug.cgi?id=196254 Reviewed by Dean Jackson. Source/WebCore: * page/Quirks.cpp: (WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): Deleted. * page/Quirks.h: * page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setMouseEventsSimulationEnabled): (WebCore::RuntimeEnabledFeatures::mousemoveEventHandlingPreventsDefaultEnabled const): Deleted. (WebCore::RuntimeEnabledFeatures::setMousemoveEventHandlingPreventsDefaultEnabled): Deleted. Source/WebKit: * Shared/WebPreferences.yaml: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Quirks.cpp trunk/Source/WebCore/page/Quirks.h trunk/Source/WebCore/page/RuntimeEnabledFeatures.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebPreferences.yaml Diff Modified: trunk/Source/WebCore/ChangeLog (243498 => 243499) --- trunk/Source/WebCore/ChangeLog 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebCore/ChangeLog 2019-03-26 16:57:38 UTC (rev 243499) @@ -1,3 +1,19 @@ +2019-03-26 Antoine Quint + +Remove mousemoveEventHandlingPreventsDefault internal setting and quirk +https://bugs.webkit.org/show_bug.cgi?id=196254 + + +Reviewed by Dean Jackson. + +* page/Quirks.cpp: +(WebCore::Quirks::shouldMousemoveEventHandlingPreventDefault const): Deleted. +* page/Quirks.h: +* page/RuntimeEnabledFeatures.h: +(WebCore::RuntimeEnabledFeatures::setMouseEventsSimulationEnabled): +(WebCore::RuntimeEnabledFeatures::mousemoveEventHandlingPreventsDefaultEnabled const): Deleted. +(WebCore::RuntimeEnabledFeatures::setMousemoveEventHandlingPreventsDefaultEnabled): Deleted. + 2019-03-26 Commit Queue Unreviewed, rolling out r243493. Modified: trunk/Source/WebCore/page/Quirks.cpp (243498 => 243499) --- trunk/Source/WebCore/page/Quirks.cpp 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebCore/page/Quirks.cpp 2019-03-26 16:57:38 UTC (rev 243499) @@ -200,9 +200,4 @@ return false; } -bool Quirks::shouldMousemoveEventHandlingPreventDefault() const -{ -return false; } - -} Modified: trunk/Source/WebCore/page/Quirks.h (243498 => 243499) --- trunk/Source/WebCore/page/Quirks.h 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebCore/page/Quirks.h 2019-03-26 16:57:38 UTC (rev 243499) @@ -46,7 +46,6 @@ bool hasBrokenEncryptedMediaAPISupportQuirk() const; bool hasWebSQLSupportQuirk() const; bool shouldDispatchSimulateMouseEvents() const; -bool shouldMousemoveEventHandlingPreventDefault() const; WEBCORE_EXPORT bool isTouchBarUpdateSupressedForHiddenContentEditable() const; WEBCORE_EXPORT bool isNeverRichlyEditableForTouchBar() const; Modified: trunk/Source/WebCore/page/RuntimeEnabledFeatures.h (243498 => 243499) --- trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebCore/page/RuntimeEnabledFeatures.h 2019-03-26 16:57:38 UTC (rev 243499) @@ -350,9 +350,6 @@ #if ENABLE(TOUCH_EVENTS) bool mouseEventsSimulationEnabled() const { return m_mouseEventsSimulationEnabled; } void setMouseEventsSimulationEnabled(bool isEnabled) { m_mouseEventsSimulationEnabled = isEnabled; } - -bool mousemoveEventHandlingPreventsDefaultEnabled() const { return m_mousemoveEventHandlingPreventsDefaultEnabled; } -void setMousemoveEventHandlingPreventsDefaultEnabled(bool isEnabled) { m_mousemoveEventHandlingPreventsDefaultEnabled = isEnabled; } #endif bool referrerPolicyAttributeEnabled() const { return m_referrerPolicyAttributeEnabled; } @@ -536,7 +533,6 @@ #if ENABLE(TOUCH_EVENTS) bool m_mouseEventsSimulationEnabled { false }; -bool m_mousemoveEventHandlingPreventsDefaultEnabled { false }; #endif bool m_isITPDatabaseEnabled { false }; Modified: trunk/Source/WebKit/ChangeLog (243498 => 243499) --- trunk/Source/WebKit/ChangeLog 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebKit/ChangeLog 2019-03-26 16:57:38 UTC (rev 243499) @@ -1,3 +1,13 @@ +2019-03-26 Antoine Quint + +Remove mousemoveEventHandlingPreventsDefault internal setting and quirk +https://bugs.webkit.org/show_bug.cgi?id=196254 + + +Reviewed by Dean Jackson. + +* Shared/WebPreferences.yaml: + 2019-03-26 Philippe Normand [WPE][Qt] Uninitialized racy ViewBackend Modified: trunk/Source/WebKit/Shared/WebPreferences.yaml (243498 => 243499) --- trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-03-26 16:39:11 UTC (rev 243498) +++ trunk/Source/WebKit/Shared/WebPreferences.yaml 2019-03-26 16:57:38 UTC (rev 243499) @@ -1611,15 +1611,6 @@ category: internal condition: ENABLE(TOUCH_EVENTS) -MousemoveEventHandlingPreventsDe
[webkit-changes] [243504] trunk/Source/WebCore
Title: [243504] trunk/Source/WebCore Revision 243504 Author grao...@webkit.org Date 2019-03-26 10:29:54 -0700 (Tue, 26 Mar 2019) Log Message Remove mousemoveEventHandlingPreventsDefault internal setting and quirk https://bugs.webkit.org/show_bug.cgi?id=196254 Unreviewed. Fix build broken by previous commit. * dom/Event.cpp: * dom/Event.h: (WebCore::Event::hasEncounteredListener const): Deleted. (WebCore::Event::setHasEncounteredListener): Deleted. * dom/EventTarget.cpp: (WebCore::EventTarget::innerInvokeEventListeners): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Event.cpp trunk/Source/WebCore/dom/Event.h trunk/Source/WebCore/dom/EventTarget.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (243503 => 243504) --- trunk/Source/WebCore/ChangeLog 2019-03-26 17:27:05 UTC (rev 243503) +++ trunk/Source/WebCore/ChangeLog 2019-03-26 17:29:54 UTC (rev 243504) @@ -1,3 +1,18 @@ +2019-03-26 Antoine Quint + +Remove mousemoveEventHandlingPreventsDefault internal setting and quirk +https://bugs.webkit.org/show_bug.cgi?id=196254 + + +Unreviewed. Fix build broken by previous commit. + +* dom/Event.cpp: +* dom/Event.h: +(WebCore::Event::hasEncounteredListener const): Deleted. +(WebCore::Event::setHasEncounteredListener): Deleted. +* dom/EventTarget.cpp: +(WebCore::EventTarget::innerInvokeEventListeners): + 2019-03-26 Zalan Bujtas [ContentChangeObserver] Skip anonymous renderers when checking for "willRespondToMouseClickEvents" Modified: trunk/Source/WebCore/dom/Event.cpp (243503 => 243504) --- trunk/Source/WebCore/dom/Event.cpp 2019-03-26 17:27:05 UTC (rev 243503) +++ trunk/Source/WebCore/dom/Event.cpp 2019-03-26 17:29:54 UTC (rev 243504) @@ -47,7 +47,6 @@ , m_isDefaultEventHandlerIgnored { false } , m_isTrusted { isTrusted == IsTrusted::Yes } , m_isExecutingPassiveEventListener { false } -, m_hasEncounteredListener { false } , m_eventPhase { NONE } , m_type { type } , m_createTime { createTime } Modified: trunk/Source/WebCore/dom/Event.h (243503 => 243504) --- trunk/Source/WebCore/dom/Event.h 2019-03-26 17:27:05 UTC (rev 243503) +++ trunk/Source/WebCore/dom/Event.h 2019-03-26 17:29:54 UTC (rev 243504) @@ -128,9 +128,6 @@ void setInPassiveListener(bool value) { m_isExecutingPassiveEventListener = value; } -bool hasEncounteredListener() const { return m_hasEncounteredListener; } -void setHasEncounteredListener() { m_hasEncounteredListener = true; } - bool cancelBubble() const { return propagationStopped(); } void setCancelBubble(bool); @@ -169,7 +166,6 @@ unsigned m_isDefaultEventHandlerIgnored : 1; unsigned m_isTrusted : 1; unsigned m_isExecutingPassiveEventListener : 1; -unsigned m_hasEncounteredListener : 1; unsigned m_eventPhase : 2; Modified: trunk/Source/WebCore/dom/EventTarget.cpp (243503 => 243504) --- trunk/Source/WebCore/dom/EventTarget.cpp 2019-03-26 17:27:05 UTC (rev 243503) +++ trunk/Source/WebCore/dom/EventTarget.cpp 2019-03-26 17:29:54 UTC (rev 243504) @@ -301,16 +301,6 @@ registeredListener->callback().handleEvent(context, event); InspectorInstrumentation::didHandleEvent(context); -#if ENABLE(TOUCH_EVENTS) -if (RuntimeEnabledFeatures::sharedFeatures().mousemoveEventHandlingPreventsDefaultEnabled() && event.type() == eventNames().mousemoveEvent) { -if (is(event.currentTarget())) { -auto* element = downcast(event.currentTarget()); -if (!is(element) && !is(element)) -event.setHasEncounteredListener(); -} -} -#endif - if (registeredListener->isPassive()) event.setInPassiveListener(false); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [243645] trunk
Title: [243645] trunk Revision 243645 Author grao...@webkit.org Date 2019-03-29 08:54:02 -0700 (Fri, 29 Mar 2019) Log Message All PointerEvent.isTrusted is always false. https://bugs.webkit.org/show_bug.cgi?id=196075 Reviewed by Chris Dumez. Source/WebCore: Test: pointerevents/ios/pointer-events-is-trusted.html The constructors we were using for some PointerEvent::create() methods were using initializers which are expected to be used with JS APIs and thus generate untrusted events. We switch to using constructors using dedicated parameters which will set isTrusted to true. * dom/PointerEvent.cpp: (WebCore::PointerEvent::create): (WebCore::PointerEvent::createPointerCancelEvent): (WebCore::PointerEvent::PointerEvent): (WebCore::m_isPrimary): (WebCore::m_pointerType): * dom/PointerEvent.h: * page/PointerCaptureController.cpp: (WebCore::PointerCaptureController::cancelPointer): LayoutTests: Add tests to the macOS and iOS series of tests that check that isTrusted is indeed true. This uncovered a couple of issues with how some tests were written. * pointerevents/ios/pointer-events-is-primary.html: Ensure we end both touches so that further tests run cleanly. * pointerevents/ios/pointer-events-is-trusted-expected.txt: Added. * pointerevents/ios/pointer-events-is-trusted.html: Added. * pointerevents/mouse/pointer-event-basic-properties.html: Ensure we wait for the event to be handled before finishing the test. * pointerevents/utils.js: (prototype._handlePointerEvent): Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/pointerevents/ios/pointer-events-is-primary.html trunk/LayoutTests/pointerevents/mouse/pointer-event-basic-properties.html trunk/LayoutTests/pointerevents/utils.js trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/PointerEvent.cpp trunk/Source/WebCore/dom/PointerEvent.h trunk/Source/WebCore/page/PointerCaptureController.cpp Added Paths trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted-expected.txt trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted.html Diff Modified: trunk/LayoutTests/ChangeLog (243644 => 243645) --- trunk/LayoutTests/ChangeLog 2019-03-29 10:43:30 UTC (rev 243644) +++ trunk/LayoutTests/ChangeLog 2019-03-29 15:54:02 UTC (rev 243645) @@ -1,3 +1,20 @@ +2019-03-28 Antoine Quint + +All PointerEvent.isTrusted is always false. +https://bugs.webkit.org/show_bug.cgi?id=196075 + + +Reviewed by Chris Dumez. + +Add tests to the macOS and iOS series of tests that check that isTrusted is indeed true. This uncovered a couple of issues with how some tests were written. + +* pointerevents/ios/pointer-events-is-primary.html: Ensure we end both touches so that further tests run cleanly. +* pointerevents/ios/pointer-events-is-trusted-expected.txt: Added. +* pointerevents/ios/pointer-events-is-trusted.html: Added. +* pointerevents/mouse/pointer-event-basic-properties.html: Ensure we wait for the event to be handled before finishing the test. +* pointerevents/utils.js: +(prototype._handlePointerEvent): + 2019-03-29 Cathie Chen Implement ResizeObserver. Modified: trunk/LayoutTests/pointerevents/ios/pointer-events-is-primary.html (243644 => 243645) --- trunk/LayoutTests/pointerevents/ios/pointer-events-is-primary.html 2019-03-29 10:43:30 UTC (rev 243644) +++ trunk/LayoutTests/pointerevents/ios/pointer-events-is-primary.html 2019-03-29 15:54:02 UTC (rev 243645) @@ -24,7 +24,8 @@ two.move({ x: 70, y: 70 }), one.move({ x: 30, y: 30 }), one.end(), -two.move({ x: 50, y: 50 }) +two.move({ x: 50, y: 50 }), +two.end() ]).then(() => { eventTracker.assertMatchesEvents([ { id: 1, type: "pointerdown", x: 10, y: 10, isPrimary: true }, Added: trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted-expected.txt (0 => 243645) --- trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted-expected.txt (rev 0) +++ trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted-expected.txt 2019-03-29 15:54:02 UTC (rev 243645) @@ -0,0 +1,3 @@ + +PASS Testing that isTrusted is true for pointer events. + Added: trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted.html (0 => 243645) --- trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted.html (rev 0) +++ trunk/LayoutTests/pointerevents/ios/pointer-events-is-trusted.html 2019-03-29 15:54:02 UTC (rev 243645) @@ -0,0 +1,33 @@ + + + + + + + + + +'use strict'; + +target_test({ width: "200px", height: "200px" }, (target, test) => { +const eventTracker = new EventTracker(target, ["pointerover", "pointerenter", "pointerdown", "pointerup", "pointerout", "pointerleave"]); + +ui.tap({ x: 100, y: 100 }).then(() => { +eventTracker.assertMatchesEvents([ +{ type: "pointerover", isTrusted: true }, +{ type: "pointerenter", i
[webkit-changes] [214258] trunk
Title: [214258] trunk Revision 214258 Author grao...@webkit.org Date 2017-03-22 10:51:10 -0700 (Wed, 22 Mar 2017) Log Message [Modern Media Controls] Rendering glitches for fullscreen controls while dragging https://bugs.webkit.org/show_bug.cgi?id=169949 Reviewed by Eric Carlson. Source/WebCore: Clipping the controls bar has some unwelcome side effects and isn't necessary, so we simply remove it. An existing test was amended to check that there is no clipping applied to the controls bar. * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: (.media-controls.mac.fullscreen > .controls-bar): LayoutTests: Add an assertion that checks that the controls bar is not clipped. * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt: * media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css Diff Modified: trunk/LayoutTests/ChangeLog (214257 => 214258) --- trunk/LayoutTests/ChangeLog 2017-03-22 17:48:51 UTC (rev 214257) +++ trunk/LayoutTests/ChangeLog 2017-03-22 17:51:10 UTC (rev 214258) @@ -1,3 +1,16 @@ +2017-03-22 Antoine Quint + +[Modern Media Controls] Rendering glitches for fullscreen controls while dragging +https://bugs.webkit.org/show_bug.cgi?id=169949 + + +Reviewed by Eric Carlson. + +Add an assertion that checks that the controls bar is not clipped. + +* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt: +* media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html: + 2017-03-22 Carlos Garcia Campos Unreviewed GTK+ gardening. Rebaseline fast/text/hyphenate-limit-lines.html. Modified: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt (214257 => 214258) --- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt 2017-03-22 17:48:51 UTC (rev 214257) +++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles-expected.txt 2017-03-22 17:51:10 UTC (rev 214258) @@ -6,6 +6,7 @@ PASS style.bottom is "25px" PASS style.width is "468px" PASS style.height is "75px" +PASS style.overflow is "visible" PASS bounds.left is 166 PASS bounds.top is 500 PASS bounds.width is 468 Modified: trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html (214257 => 214258) --- trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html 2017-03-22 17:48:51 UTC (rev 214257) +++ trunk/LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html 2017-03-22 17:51:10 UTC (rev 214258) @@ -33,6 +33,7 @@ shouldBeEqualToString("style.bottom", "25px"); shouldBeEqualToString("style.width", "468px"); shouldBeEqualToString("style.height", "75px"); +shouldBeEqualToString("style.overflow", "visible"); shouldBe("bounds.left", "166"); shouldBe("bounds.top", "500"); Modified: trunk/Source/WebCore/ChangeLog (214257 => 214258) --- trunk/Source/WebCore/ChangeLog 2017-03-22 17:48:51 UTC (rev 214257) +++ trunk/Source/WebCore/ChangeLog 2017-03-22 17:51:10 UTC (rev 214258) @@ -1,3 +1,18 @@ +2017-03-22 Antoine Quint + +[Modern Media Controls] Rendering glitches for fullscreen controls while dragging +https://bugs.webkit.org/show_bug.cgi?id=169949 + + +Reviewed by Eric Carlson. + +Clipping the controls bar has some unwelcome side effects and isn't necessary, so +we simply remove it. An existing test was amended to check that there is no clipping +applied to the controls bar. + +* Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: +(.media-controls.mac.fullscreen > .controls-bar): + 2017-03-22 John Wilander Add back the null check in TextureCacheCV::textureFromImage() Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css (214257 => 214258) --- trunk/Source/WebCore/Modu
[webkit-changes] [214381] trunk
Title: [214381] trunk Revision 214381 Author grao...@webkit.org Date 2017-03-24 15:10:45 -0700 (Fri, 24 Mar 2017) Log Message [Modern Media Controls] Captions don't move with the appearance of the inline controls https://bugs.webkit.org/show_bug.cgi?id=170051 Reviewed by Dean Jackson. Source/WebCore: We now size the captions container to account for the controls bar height when visible. To do this, we use CSS variables to specify the height of the controls bar in default inline mode, compact inline mode and fullscreen mode. Test: media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html * Modules/modern-media-controls/controls/controls-bar.js: (ControlsBar.prototype.set faded): Notify the hosting MediaControls that the "faded" property changed. * Modules/modern-media-controls/controls/ios-inline-media-controls.css: (.media-controls.ios.inline > .controls-bar): Use the new --inline-controls-bar-height CSS variable to specify the inline bar height. * Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css: (.media-controls.mac.inline.compact > .controls-bar): Use the new --inline-compact-controls-bar-height CSS variable to specify the inline bar height. * Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css: (.media-controls.mac.fullscreen > .controls-bar): Use the new --fullscreen-controls-bar-height CSS variable to specify the inline bar height. * Modules/modern-media-controls/controls/macos-inline-media-controls.css: (.media-controls.mac.inline > .controls-bar): Use the new --inline-controls-bar-height CSS variable to specify the inline bar height. * Modules/modern-media-controls/controls/media-controls.css: (*): Specify new CSS variables for the various controls bar heights. * Modules/modern-media-controls/controls/media-controls.js: (MediaControls.prototype.controlsBarFadedStateDidChange): Notify the delegate of a controls bar "faded" property change. * Modules/modern-media-controls/controls/text-tracks.css: (video::-webkit-media-text-track-container): (video::-webkit-media-text-track-container.visible-controls-bar): (video::-webkit-media-text-track-container.visible-controls-bar.compact-controls-bar): (video::-webkit-media-text-track-display): Shorten the height of the captions container when the controls bar is visible. We also fix a couple of prefixed properties that didn't need to be. * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype.controlsBarFadedStateDidChange): (MediaController.prototype._updateControlsIfNeeded): (MediaController.prototype._updateTextTracksClassList): (MediaController): Ensure we reflect the "faded" state of the controls bar on the captions container using a CSS class, as well as whether the controls bar mode is compact. LayoutTests: Add a new test, which would have previously failed, where we check that we account for the controls bar height when showing captions with the controls bar visible. * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt: Added. * media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/controls/controls-bar.js trunk/Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.css trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-compact-inline-media-controls.css trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css trunk/Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.css trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.css trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.js trunk/Source/WebCore/Modules/modern-media-controls/controls/text-tracks.css trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar-expected.txt trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-captions-offset-with-controls-bar.html Diff Modified: trunk/LayoutTests/ChangeLog (214380 => 214381) --- trunk/LayoutTests/ChangeLog 2017-03-24 22:09:15 UTC (rev 214380) +++ trunk/LayoutTests/ChangeLog 2017-03-24 22:10:45 UTC (rev 214381) @@ -1,3 +1,17 @@ +2017-03-24 Antoine Quint + +[Modern Media Controls] Captions don't move with the appearance of the inline controls +https://bugs.webkit.org/show_bug.cgi?id=170051 + + +Reviewed by Dean Jackson. + +Add a new test, which would have previously failed, where we check that we account for the controls bar height +when showing captions with the controls bar visible. + +* media/modern
[webkit-changes] [214386] trunk
Title: [214386] trunk Revision 214386 Author grao...@webkit.org Date 2017-03-24 16:32:14 -0700 (Fri, 24 Mar 2017) Log Message [Modern Media Controls] Remove placard icon if height is compressed https://bugs.webkit.org/show_bug.cgi?id=167935 Reviewed by Dean Jackson. Source/WebCore: We make the addition of certain Placard children conditional on the placard's metrics. Whenever the media controls metrics changes, the placard, if any, is set to have the same metrics and layout() is called where we ensure that there is enough space, per designs, to have the icon, description and even the title visible. We also make some CSS improvements to guarantee that the description is laid out on two lines at most and that both text labels are trimmed elegantly with an ellipsis shold the width be insufficient to display the whole text. Since we would have needed to have more width/height setter overrides to trigger layout, we now make LayoutNode trigger layout() directly and remove the need for subclasses to do this on a per-class basis. We also make layout() a method that can be called safely anytime as it's now no longer part of the DOM commit step, a new commit() method is used instead of that. Tests: media/modern-media-controls/layout-node/node-made-dirty-during-commit.html media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics.html * Modules/modern-media-controls/controls/layout-node.js: (LayoutNode.prototype.set width): (LayoutNode.prototype.set height): Trigger a call to layout() anytime "width" or "height" is set on any LayoutNode. (LayoutNode.prototype.layout): (LayoutNode.prototype.commit): (performScheduledLayout): Make layout() an empty method that subclasses can override easily outside of the DOM commit cycle, its previous implementation is now called "commit()" which is a more accurate name. * Modules/modern-media-controls/controls/media-controls.js: (MediaControls.prototype.get placard): (MediaControls.prototype.get showsPlacard): (MediaControls.prototype.showPlacard): (MediaControls.prototype.hidePlacard): (MediaControls.prototype.layout): (MediaControls.prototype.get width): Deleted. (MediaControls.prototype.set width): Deleted. Add a "placard" property to make it simpler to reference the placard instead of making assumptions in several places in that class on the children order. Anytime we run a layout or show the placard, ensure that the placard metrics are synced with the media controls metrics. * Modules/modern-media-controls/controls/placard.css: (.placard .container): (.placard .title,): (.placard .description): We now ensure that both the title and description are trimmed with an ellipsis when we run out of space to display them fully. * Modules/modern-media-controls/controls/placard.js: (Placard.): (Placard.prototype.layout): We add new constraints to only show the icon, title and description if the placard is tall and wide enough. * Modules/modern-media-controls/controls/slider.js: (Slider.prototype.get width): Deleted. (Slider.prototype.set width): Deleted. Removed custom "width" getters and setters now we can just override layout() in case node metrics change. * Modules/modern-media-controls/controls/time-control.js: (TimeControl.prototype.set useSixDigitsForTimeLabels): (TimeControl.prototype.layout): (TimeControl.prototype.get width): Deleted. (TimeControl.prototype.set width): Deleted. (TimeControl.prototype._availableWidthHasChanged): Deleted. Removed custom "width" getters and setters now we can just override layout() in case node metrics change. * Modules/modern-media-controls/media/media-controller.js: (MediaController): Ensure we flush pending updates at construction time so that we match the size of the media controls right at the first media layout. LayoutTests: We add a new test to check that the various designed constraints to toggle display of a placard's icon, title and description are honored. Also, due to the old layout() method now being called "commit()", we refactor a relevant test. * media/modern-media-controls/layout-node/node-made-dirty-during-commit-expected.txt: Added. * media/modern-media-controls/layout-node/node-made-dirty-during-commit.html: Added. * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics-expected.txt: Added. * media/modern-media-controls/media-controls/media-controls-placard-compressed-metrics.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/controls/layout-node.js trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.js trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.css trunk/Source/WebCore/Modules/modern-media-controls/controls/placard.js trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.js trunk/Source/WebCore/Modules/modern-media-controls/controls/time-control.js trunk/Source/WebCore/Modules/modern-media-co
[webkit-changes] [214426] trunk
Title: [214426] trunk Revision 214426 Author grao...@webkit.org Date 2017-03-27 12:44:09 -0700 (Mon, 27 Mar 2017) Log Message [Modern Media Controls] Clicking on the tracks button when the tracks panel is up in a media document pauses the video https://bugs.webkit.org/show_bug.cgi?id=168517 Reviewed by Dean Jackson. Source/WebCore: We completely turn off default event handling in MediaDocument.cpp since we're implementing the behavior we expect to pause and resume the video in the modern-media-controls module already. This gets rid of this odd case where the content would not see the "click" event while the C++ side would handle it and pause the video. * Modules/modern-media-controls/media/media-controller.js: (MediaController): (MediaController.prototype.handleEvent): (MediaController.prototype._containerWasClicked): Deleted. * html/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): LayoutTests: * media/video-click-dblckick-standalone.html: We disable modern-media-controls here since we know that this test won't pass with them on. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/video-click-dblckick-standalone.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js trunk/Source/WebCore/html/MediaDocument.cpp Diff Modified: trunk/LayoutTests/ChangeLog (214425 => 214426) --- trunk/LayoutTests/ChangeLog 2017-03-27 19:40:01 UTC (rev 214425) +++ trunk/LayoutTests/ChangeLog 2017-03-27 19:44:09 UTC (rev 214426) @@ -1,3 +1,13 @@ +2017-03-27 Antoine Quint + +[Modern Media Controls] Clicking on the tracks button when the tracks panel is up in a media document pauses the video +https://bugs.webkit.org/show_bug.cgi?id=168517 + + +Reviewed by Dean Jackson. + +* media/video-click-dblckick-standalone.html: We disable modern-media-controls here since we know that this test won't pass with them on. + 2017-03-27 Ryan Haddad Mark media/modern-media-controls/time-label/time-label-white-space-nowrap.html as flaky. Modified: trunk/LayoutTests/media/video-click-dblckick-standalone.html (214425 => 214426) --- trunk/LayoutTests/media/video-click-dblckick-standalone.html 2017-03-27 19:40:01 UTC (rev 214425) +++ trunk/LayoutTests/media/video-click-dblckick-standalone.html 2017-03-27 19:44:09 UTC (rev 214426) @@ -1,3 +1,4 @@ +
[webkit-changes] [214621] trunk/Source/WebCore
Title: [214621] trunk/Source/WebCore Revision 214621 Author grao...@webkit.org Date 2017-03-30 14:05:58 -0700 (Thu, 30 Mar 2017) Log Message [mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout https://bugs.webkit.org/show_bug.cgi?id=168409 Unreview. Print the backtrace when we suspend scripted animations. * page/Page.cpp: (WebCore::Page::suspendScriptedAnimations): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Page.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (214620 => 214621) --- trunk/Source/WebCore/ChangeLog 2017-03-30 20:46:03 UTC (rev 214620) +++ trunk/Source/WebCore/ChangeLog 2017-03-30 21:05:58 UTC (rev 214621) @@ -50,6 +50,17 @@ https://bugs.webkit.org/show_bug.cgi?id=168409 +Unreview. Print the backtrace when we suspend scripted animations. + +* page/Page.cpp: +(WebCore::Page::suspendScriptedAnimations): + +2017-03-30 Antoine Quint + +[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout +https://bugs.webkit.org/show_bug.cgi?id=168409 + + Unreview. Pring the backtrace when we suspend ScriptedAnimationController. * dom/ScriptedAnimationController.cpp: Modified: trunk/Source/WebCore/page/Page.cpp (214620 => 214621) --- trunk/Source/WebCore/page/Page.cpp 2017-03-30 20:46:03 UTC (rev 214620) +++ trunk/Source/WebCore/page/Page.cpp 2017-03-30 21:05:58 UTC (rev 214621) @@ -1138,6 +1138,8 @@ void Page::suspendScriptedAnimations() { +if (settings().shouldDispatchRequestAnimationFrameEvents()) +WTFReportBacktrace(); m_scriptedAnimationsSuspended = true; for (Frame* frame = &mainFrame(); frame; frame = frame->tree().traverseNext()) { if (frame->document()) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [266241] trunk
Title: [266241] trunk Revision 266241 Author grao...@webkit.org Date 2020-08-27 10:02:24 -0700 (Thu, 27 Aug 2020) Log Message REGRESSION (r263506): timing of CSS Animation on https://animate.style is incorrect https://bugs.webkit.org/show_bug.cgi?id=215807 Reviewed by Simon Fraser. Source/WebCore: Test: webanimations/accelerated-css-animation-with-easing.html In r263506, we added a way for accelerated animations to adhere to both a timing function set on the animation, affecting the timing of the entire animation, as well as a timing function set on individual keyframes, affecting the timing of the animation in a given interval. Alas, this change broke handling of timing functions with implicit animation-timing-function on keyframes. That code change assumed that the Animation object ultimately passed to GraphicsLayerCA::setupAnimation() would return the animation-wide timing function through Animation::timingFunction(). This was correct for JS-originated animations, but not for CSS Animations, since that value was set based on the computed CSS property animation-timing-function for the target element. However, that CSS property does not specify the animation-wide timing function, but rather the default timing function to use for keyframes should they fail to specify an explicit timing function. To fix this, first, we ensure that the animation-wide timing function is set on the Animation object, changing KeyframeEffect::backingAnimationForCompositedRenderer() to always generate an Animation object based on the effect, divorcing itself from the Animation object created through CSS. Then, we add a new member to Animation to specify the default timing function for keyframes, allowing GraphicsLayerCA to use it to determine the timing function when building keyframes. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::backingAnimationForCompositedRenderer const): Always generate an Animation object based on the effect's properties, also setting the new defaultTimingFunctionForKeyframes in the case of a CSS Animation object. * platform/animation/Animation.h: (WebCore::Animation::defaultTimingFunctionForKeyframes const): (WebCore::Animation::setDefaultTimingFunctionForKeyframes): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::animationHasStepsTimingFunction): Use the optional defaultTimingFunctionForKeyframes to determine whether a keyframe uses a steps timing function. (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue): Use the optional defaultTimingFunctionForKeyframes to determine the timing function for a keyframe. LayoutTests: Add a new test that checks that a CSS Animation with implicit and explicit animation-timing-function values behave the same when running accelerated. * webanimations/accelerated-css-animation-with-easing-expected.html: Added. * webanimations/accelerated-css-animation-with-easing.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/platform/animation/Animation.h trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp Added Paths trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing-expected.html trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing.html Diff Modified: trunk/LayoutTests/ChangeLog (266240 => 266241) --- trunk/LayoutTests/ChangeLog 2020-08-27 17:01:41 UTC (rev 266240) +++ trunk/LayoutTests/ChangeLog 2020-08-27 17:02:24 UTC (rev 266241) @@ -1,3 +1,17 @@ +2020-08-27 Antoine Quint + +REGRESSION (r263506): timing of CSS Animation on https://animate.style is incorrect +https://bugs.webkit.org/show_bug.cgi?id=215807 + + +Reviewed by Simon Fraser. + +Add a new test that checks that a CSS Animation with implicit and explicit animation-timing-function +values behave the same when running accelerated. + +* webanimations/accelerated-css-animation-with-easing-expected.html: Added. +* webanimations/accelerated-css-animation-with-easing.html: Added. + 2020-08-27 Jer Noble REGRESSION (r258215): Title preview movie isn't displayed at www.thismmalife.com Added: trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing-expected.html (0 => 266241) --- trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing-expected.html (rev 0) +++ trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing-expected.html 2020-08-27 17:02:24 UTC (rev 266241) @@ -0,0 +1,2 @@ + + Added: trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing.html (0 => 266241) --- trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing.html (rev 0) +++ trunk/LayoutTests/webanimations/accelerated-css-animation-with-easing.html 2020-08-27 17:02:24 UTC (rev 266241) @@ -0,0 +1,61 @@ + + + +body { +background-color: green; +
[webkit-changes] [266280] trunk
Title: [266280] trunk Revision 266280 Author grao...@webkit.org Date 2020-08-28 09:47:59 -0700 (Fri, 28 Aug 2020) Log Message REGRESSION (r263506): scale transform transitions won't overshoot https://bugs.webkit.org/show_bug.cgi?id=215826 Reviewed by Simon Fraser. Source/WebCore: Test: webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html In r263506 we made a change where accelerated animations would set their animation-wide timing functions using PlatformCAAnimation::setTimingFunction() instead of setting it on individual keyframes. This change was required to support the unique ability of JS-originated animations to specify both an animation-wide timing function as well as per-keyframe timing functions. In the case of CSS Transitions, this meant that instead of setting a per-keyframe timing function, this change would set the animation-wide timing function since CSS Transitions should map the transition-timing-function property to the "easing" property of the Animation object exposed by the Web Animations API, not as the timing function of the single keyframe interval. However, this change surfaced a bug in Core Animation on macOS and iOS where a cubic-bezier() timing function with y values above 1 get clipped when applied to a CAKeyframeAnimation using the timingFunction property (singular) instead of the timingFunctions property (plural). To work around this issue, we set Animation::property() on the generated Animation object passed to GraphicsLayerCA to make it possible to detect when we're dealing with a CSS Transition and set the timing function on the keyframe interval rather than on the animation itself. Alas, this does not fix the case where a JS-originated animation will specify an animation-wide timing function with a cubic-bezier() timing function with y values above 1. There is no known workaround at this time for this case and this is covered by bug 215918. * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::backingAnimationForCompositedRenderer const): * platform/graphics/ca/GraphicsLayerCA.cpp: (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): LayoutTests: Add a new test that checks that a CSS Transition using a cubic-bezier() timing function with a y value beyond 1 does not get clipped. * platform/win/TestExpectations: * webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html: Added. * webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp Added Paths trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html Diff Modified: trunk/LayoutTests/ChangeLog (266279 => 266280) --- trunk/LayoutTests/ChangeLog 2020-08-28 16:08:38 UTC (rev 266279) +++ trunk/LayoutTests/ChangeLog 2020-08-28 16:47:59 UTC (rev 266280) @@ -1,3 +1,18 @@ +2020-08-28 Antoine Quint + +REGRESSION (r263506): scale transform transitions won't overshoot +https://bugs.webkit.org/show_bug.cgi?id=215826 + + +Reviewed by Simon Fraser. + +Add a new test that checks that a CSS Transition using a cubic-bezier() timing function with +a y value beyond 1 does not get clipped. + +* platform/win/TestExpectations: +* webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html: Added. +* webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html: Added. + 2020-08-28 Hector Lopez [ macOS iOS ] compositing/video/poster.html is a flaky failure Modified: trunk/LayoutTests/platform/win/TestExpectations (266279 => 266280) --- trunk/LayoutTests/platform/win/TestExpectations 2020-08-28 16:08:38 UTC (rev 266279) +++ trunk/LayoutTests/platform/win/TestExpectations 2020-08-28 16:47:59 UTC (rev 266280) @@ -4551,3 +4551,5 @@ webkit.org/b/215636 fast/text/emoji-gender.html [ ImageOnlyFailure ] webkit.org/b/215827 animations/steps-transform-rendering-updates.html [ Failure ] + +webkit.org/b/215930 webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html [ Skip ] Added: trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html (0 => 266280) --- trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html (rev 0) +++ trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1-expected.html 2020-08-28 16:47:59 UTC (rev 266280) @@ -0,0 +1,2 @@ + + Added: trunk/LayoutTests/webanimations/accelerated-css-transition-with-easing-y-axis-above-1.html (0 => 266280) --- trunk/LayoutTests/webanimation
[webkit-changes] [266526] trunk
Title: [266526] trunk Revision 266526 Author grao...@webkit.org Date 2020-09-03 09:31:05 -0700 (Thu, 03 Sep 2020) Log Message Consecutive requestAnimationFrame callbacks may be passed the same timestamp https://bugs.webkit.org/show_bug.cgi?id=216122 Reviewed by Simon Fraser. Source/WebCore: Test: fast/animation/request-animation-frame-unique-timestamp.html Ensure that the page only sees increasing timestamps in requestAnimationFrame() callbacks. * dom/ScriptedAnimationController.cpp: (WebCore::ScriptedAnimationController::shouldRescheduleRequestAnimationFrame const): LayoutTests: Add a test that two subsequent animation frames as identified via requestAnimationFrame() callbacks are provided increasing timestamps. Also removing flaky expectation for two WPT animations tests which pass reliably after this fix. * fast/animation/request-animation-frame-unique-timestamp-expected.txt: Added. * fast/animation/request-animation-frame-unique-timestamp.html: Added. * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/mac-wk2/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ScriptedAnimationController.cpp Added Paths trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp-expected.txt trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp.html Diff Modified: trunk/LayoutTests/ChangeLog (266525 => 266526) --- trunk/LayoutTests/ChangeLog 2020-09-03 16:28:55 UTC (rev 266525) +++ trunk/LayoutTests/ChangeLog 2020-09-03 16:31:05 UTC (rev 266526) @@ -1,3 +1,20 @@ +2020-09-03 Antoine Quint + +Consecutive requestAnimationFrame callbacks may be passed the same timestamp +https://bugs.webkit.org/show_bug.cgi?id=216122 + + +Reviewed by Simon Fraser. + +Add a test that two subsequent animation frames as identified via requestAnimationFrame() callbacks +are provided increasing timestamps. + +Also removing flaky expectation for two WPT animations tests which pass reliably after this fix. + +* fast/animation/request-animation-frame-unique-timestamp-expected.txt: Added. +* fast/animation/request-animation-frame-unique-timestamp.html: Added. +* platform/mac-wk2/TestExpectations: + 2020-09-03 Hector Lopez REGRESSION(r266466): [ iOS wk2 ] fast/encoding/charset-replacement.html is a constant failure Added: trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp-expected.txt (0 => 266526) --- trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp-expected.txt (rev 0) +++ trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp-expected.txt 2020-09-03 16:31:05 UTC (rev 266526) @@ -0,0 +1,3 @@ + +PASS Timestamps of requestAnimationFrame() callbacks increase. + Added: trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp.html (0 => 266526) --- trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp.html (rev 0) +++ trunk/LayoutTests/fast/animation/request-animation-frame-unique-timestamp.html 2020-09-03 16:31:05 UTC (rev 266526) @@ -0,0 +1,16 @@ + + + + + +promise_test(async t => { + let firstFrameTimestamp = await new Promise(requestAnimationFrame); + let secondFrameTimestamp = await new Promise(requestAnimationFrame); + assert_greater_than(secondFrameTimestamp, firstFrameTimestamp); +}, "Timestamps of requestAnimationFrame() callbacks increase."); + + + + Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (266525 => 266526) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2020-09-03 16:28:55 UTC (rev 266525) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2020-09-03 16:31:05 UTC (rev 266526) @@ -1251,9 +1251,6 @@ [ arm64 ] inspector/canvas/memory.html [ Failure ] [ arm64 ] media/video-canvas-createPattern.html [ Failure ] -# rdar://66798751 (REGRESSION (20A2321a-20A2327a): imported/w3c/web-platform-tests/css/css-animations/event-dispatch.tentative.html is a flaky failure) -[ arm64 ] imported/w3c/web-platform-tests/css/css-animations/event-dispatch.tentative.html [ Pass Failure ] - # rdar://66806059 (REGRESSION (20A2321a-20A2348b): 4 fast hidpi tests are a flaky image failure) [ arm64 ] fast/flexbox/hidpi-simple-line-layout-with-flexbox-and-transition.html [ ImageOnlyFailure ] [ arm64 ] fast/forms/hidpi-fieldset-on-subpixel-position-when-legend-is-present.html [ ImageOnlyFailure ] @@ -1263,9 +1260,6 @@ # rdar://66807554 [ arm64 ] imported/w3c/web-platform-tests/css/css-transitions/transition-base-response-002.html [ Failure ] -# rdar://66808228 (REGRESSION (20A2321a-20A2348b): imported/w3c/web-platform-tests/web-animations/interfaces/Animation/onremove.html is a flaky failure) -[ arm64 ] imported/w3c/web-platform-tests/web-animations/interfaces/Animation/onremove.html [ Failure ] - webkit.org/b/215581 imported/w3c/
[webkit-changes] [282751] trunk/Source/WebCore
Title: [282751] trunk/Source/WebCore Revision 282751 Author grao...@webkit.org Date 2021-09-20 09:26:27 -0700 (Mon, 20 Sep 2021) Log Message TimingFunction::transformTime() is poorly-named https://bugs.webkit.org/show_bug.cgi?id=230478 Reviewed by Simon Fraser. This function transforms an input _progress_ not a time, so we rename it to transformProgress() and name its first parameter accordingly. * animation/AnimationEffect.cpp: (WebCore::AnimationEffect::getComputedTiming const): * animation/KeyframeEffect.cpp: (WebCore::KeyframeEffect::setAnimatedPropertiesInStyle): * platform/ScrollAnimationSmooth.cpp: (WebCore::ScrollAnimationSmooth::animateScroll): * platform/animation/TimingFunction.cpp: (WebCore::TimingFunction::transformProgress const): (WebCore::TimingFunction::transformTime const): Deleted. * platform/animation/TimingFunction.h: * platform/graphics/nicosia/NicosiaAnimation.cpp: (Nicosia::Animation::apply): * platform/mac/ScrollbarsControllerMac.mm: (-[WebScrollbarPartAnimation setCurrentProgress:]): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/AnimationEffect.cpp trunk/Source/WebCore/animation/KeyframeEffect.cpp trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp trunk/Source/WebCore/platform/animation/TimingFunction.cpp trunk/Source/WebCore/platform/animation/TimingFunction.h trunk/Source/WebCore/platform/graphics/nicosia/NicosiaAnimation.cpp trunk/Source/WebCore/platform/mac/ScrollbarsControllerMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (282750 => 282751) --- trunk/Source/WebCore/ChangeLog 2021-09-20 16:19:04 UTC (rev 282750) +++ trunk/Source/WebCore/ChangeLog 2021-09-20 16:26:27 UTC (rev 282751) @@ -1,3 +1,28 @@ +2021-09-20 Antoine Quint + +TimingFunction::transformTime() is poorly-named +https://bugs.webkit.org/show_bug.cgi?id=230478 + +Reviewed by Simon Fraser. + +This function transforms an input _progress_ not a time, so we rename it to transformProgress() +and name its first parameter accordingly. + +* animation/AnimationEffect.cpp: +(WebCore::AnimationEffect::getComputedTiming const): +* animation/KeyframeEffect.cpp: +(WebCore::KeyframeEffect::setAnimatedPropertiesInStyle): +* platform/ScrollAnimationSmooth.cpp: +(WebCore::ScrollAnimationSmooth::animateScroll): +* platform/animation/TimingFunction.cpp: +(WebCore::TimingFunction::transformProgress const): +(WebCore::TimingFunction::transformTime const): Deleted. +* platform/animation/TimingFunction.h: +* platform/graphics/nicosia/NicosiaAnimation.cpp: +(Nicosia::Animation::apply): +* platform/mac/ScrollbarsControllerMac.mm: +(-[WebScrollbarPartAnimation setCurrentProgress:]): + 2021-09-20 Aditya Keerthi Implement input-security Modified: trunk/Source/WebCore/animation/AnimationEffect.cpp (282750 => 282751) --- trunk/Source/WebCore/animation/AnimationEffect.cpp 2021-09-20 16:19:04 UTC (rev 282750) +++ trunk/Source/WebCore/animation/AnimationEffect.cpp 2021-09-20 16:26:27 UTC (rev 282751) @@ -326,7 +326,7 @@ // 3. Return the result of evaluating the animation effect’s timing function passing directed progress as the //input progress value and before flag as the before flag. -return m_timingFunction->transformTime(*directedProgress, iterationDuration, before); +return m_timingFunction->transformProgress(*directedProgress, iterationDuration, before); } return *directedProgress; Modified: trunk/Source/WebCore/animation/KeyframeEffect.cpp (282750 => 282751) --- trunk/Source/WebCore/animation/KeyframeEffect.cpp 2021-09-20 16:19:04 UTC (rev 282750) +++ trunk/Source/WebCore/animation/KeyframeEffect.cpp 2021-09-20 16:26:27 UTC (rev 282751) @@ -1555,7 +1555,7 @@ if (auto duration = iterationDuration()) { auto rangeDuration = (endOffset - startOffset) * duration.seconds(); if (auto* timingFunction = timingFunctionForKeyframeAtIndex(startKeyframeIndex.value())) -transformedDistance = timingFunction->transformTime(intervalDistance, rangeDuration); +transformedDistance = timingFunction->transformProgress(intervalDistance, rangeDuration); } } Modified: trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp (282750 => 282751) --- trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp 2021-09-20 16:19:04 UTC (rev 282750) +++ trunk/Source/WebCore/platform/ScrollAnimationSmooth.cpp 2021-09-20 16:26:27 UTC (rev 282751) @@ -133,7 +133,7 @@ currentTime = std::min(currentTime, endTime); double fractionComplete = (currentTime - m_startTime) / m_duration; -double progress = m_easeInOutTimingFunction->transformTime(fractionComplete, m_duration.value()); +double progress = m_easeInOutTimingFunction->transformProgress(fr
[webkit-changes] [282768] trunk
Title: [282768] trunk Revision 282768 Author grao...@webkit.org Date 2021-09-20 12:23:54 -0700 (Mon, 20 Sep 2021) Log Message box-shadow and text-shadow do not yield float values while interpolating https://bugs.webkit.org/show_bug.cgi?id=230347 Reviewed by Simon Fraser. LayoutTests/imported/w3c: Add some new WPT tests for float and calc() values for box-shadow and text-shadow while interpolating and update output for still-failing composite operations tests. The new tests have already landed in WPT with https://github.com/web-platform-tests/wpt/pull/30823. * web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt: * web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt: * web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html: * web-platform-tests/css/css-backgrounds/box-shadow-calc-expected.html: Added. * web-platform-tests/css/css-backgrounds/box-shadow-calc.html: Added. * web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt: * web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt: * web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html: Source/WebCore: ShadowData members used integer values rather than floats and thus could not represent float values while interpolating. We now use float values. Test: imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc.html * animation/CSSPropertyAnimation.cpp: (WebCore::blendFunc): (WebCore::shadowForBlending): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForFilter): * display/css/DisplayBoxDecorationPainter.cpp: (WebCore::Display::BoxDecorationPainter::paintBoxShadow const): * editing/Editor.cpp: (WebCore::Editor::fontAttributesAtSelectionStart): * platform/LengthPoint.h: (WebCore::LengthPoint::isZero const): * rendering/LegacyEllipsisBox.cpp: (WebCore::LegacyEllipsisBox::paint): * rendering/RenderBoxModelObject.cpp: (WebCore::applyBoxShadowForBackground): (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const): (WebCore::RenderBoxModelObject::paintBoxShadow): * rendering/TextBoxPainter.cpp: (WebCore::TextBoxPainter::debugTextShadow const): * rendering/TextDecorationPainter.cpp: (WebCore::TextDecorationPainter::paintTextDecoration): * rendering/TextPainter.cpp: (WebCore::ShadowApplier::shadowIsCompletelyCoveredByText): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::setTextShadow): (WebCore::RenderStyle::shadowExtent): (WebCore::RenderStyle::shadowInsetExtent): (WebCore::RenderStyle::getShadowHorizontalExtent): (WebCore::RenderStyle::getShadowVerticalExtent): * rendering/style/ShadowData.cpp: (WebCore::ShadowData::ShadowData): (WebCore::calculateShadowExtent): * rendering/style/ShadowData.h: (WebCore::ShadowData::ShadowData): (WebCore::ShadowData::x const): (WebCore::ShadowData::y const): (WebCore::ShadowData::location const): (WebCore::ShadowData::radius const): (WebCore::ShadowData::paintingExtent const): (WebCore::ShadowData::spread const): * style/StyleBuilderCustom.h: (WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp trunk/Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/platform/LengthPoint.h trunk/Source/WebCore/rendering/LegacyEllipsisBox.cpp trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp trunk/Source/WebCore/rendering/TextBoxPainter.cpp trunk/Source/WebCore/rendering/TextDecorationPainter.cpp trunk/Source/WebCore/rendering/TextPainter.cpp trunk/Source/WebCore/rendering/style/RenderStyle.cpp trunk/Source/WebCore/rendering/style/ShadowData.cpp trunk/Source/WebCore/rendering/style/ShadowData.h trunk/Source/WebCore/style/StyleBuilderCustom.h Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc-expected.html trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282767 => 2
[webkit-changes] [282971] trunk/Source/WebCore
Title: [282971] trunk/Source/WebCore Revision 282971 Author grao...@webkit.org Date 2021-09-23 10:44:47 -0700 (Thu, 23 Sep 2021) Log Message [Media Controls] Allow for a single mute and volume button https://bugs.webkit.org/show_bug.cgi?id=230692 Reviewed by Dean Jackson. Up to now, the mute button in the controls bar would act as a toggle for the "muted" property on the media element. Hovering that button would make a slider appear that would allow the "volume" property of the media element to be changed as well. We now allow for a single button with a built-in range indicator to be used for mute and volume. Clicking on the button without moving will toggle the mute status, while moving the mouse up or down will adjust the volume and show a pill-link range indicator showing the current volume. This new control is a Button subclass called RangeButton. The new VolumeButton class extends it to provide the correct icon depending on the volume and muted state. The new MuteAndVolumeSupport class is used in conjunction with VolumeButton. To indicate that media controls want to use this new style, MediaControls subclasses can override the usesSingleMuteAndVolumeButton getter to return true. Currently it's false everywhere until we decide to use this style. * DerivedSources-input.xcfilelist: * DerivedSources.make: * Modules/modern-media-controls/controls/media-controls.js: (MediaControls.prototype.get usesSingleMuteAndVolumeButton): * Modules/modern-media-controls/controls/range-button.css: Added. (button.range > div.indicator): (button.range > div.indicator > div.fill): * Modules/modern-media-controls/controls/range-button.js: Added. (RangeButton.prototype.get value): (RangeButton.prototype.set value): (RangeButton.prototype.commitProperty): (RangeButton.prototype.handleEvent): (RangeButton.prototype._handlePointerdown): (RangeButton.prototype._handlePointermove): (RangeButton.prototype._handlePointerup): * Modules/modern-media-controls/controls/volume-button.js: Added. (VolumeButton): (VolumeButton.prototype.get volume): (VolumeButton.prototype.set volume): (VolumeButton.prototype.get muted): (VolumeButton.prototype.set muted): (VolumeButton.prototype.set usesLTRUserInterfaceLayoutDirection): (VolumeButton.prototype.layout): * Modules/modern-media-controls/js-files: * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype._supportingObjectClasses): * Modules/modern-media-controls/media/mute-and-volume-support.js: Added. (MuteAndVolumeSupport.prototype.get control): (MuteAndVolumeSupport.prototype.get mediaEvents): (MuteAndVolumeSupport.prototype.controlValueWillStartChanging): (MuteAndVolumeSupport.prototype.controlValueDidChange): (MuteAndVolumeSupport.prototype.controlValueDidStopChanging): (MuteAndVolumeSupport.prototype.buttonWasPressed): (MuteAndVolumeSupport.prototype.syncControl): (MuteAndVolumeSupport): * WebCore.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.js trunk/Source/WebCore/Modules/modern-media-controls/js-files trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Added Paths trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.css trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.js trunk/Source/WebCore/Modules/modern-media-controls/controls/volume-button.js trunk/Source/WebCore/Modules/modern-media-controls/media/mute-and-volume-support.js Diff Modified: trunk/Source/WebCore/ChangeLog (282970 => 282971) --- trunk/Source/WebCore/ChangeLog 2021-09-23 17:41:22 UTC (rev 282970) +++ trunk/Source/WebCore/ChangeLog 2021-09-23 17:44:47 UTC (rev 282971) @@ -1,3 +1,64 @@ +2021-09-23 Antoine Quint + +[Media Controls] Allow for a single mute and volume button +https://bugs.webkit.org/show_bug.cgi?id=230692 + + +Reviewed by Dean Jackson. + +Up to now, the mute button in the controls bar would act as a toggle for the "muted" property on the media element. +Hovering that button would make a slider appear that would allow the "volume" property of the media element to be +changed as well. + +We now allow for a single button with a built-in range indicator to be used for mute and volume. Clicking on the +button without moving will toggle the mute status, while moving the mouse up or down will adjust the volume +and show a pill-link range indicator showing the current volume. + +This new control is a Button subclass called RangeButton. The new VolumeButton class extends it to provide the +correct icon depending on the volume and muted state. The new MuteAndVolumeSupport class is used in conjunction +with VolumeButton. + +To indicate
[webkit-changes] [282975] trunk/Source/WebCore
Title: [282975] trunk/Source/WebCore Revision 282975 Author grao...@webkit.org Date 2021-09-23 11:29:43 -0700 (Thu, 23 Sep 2021) Log Message [Media Controls] Allow for a brightness control https://bugs.webkit.org/show_bug.cgi?id=230697 Reviewed by Dean Jackson. Add a new brightness button to control a new MediaControlsHost "brightness" property which is currently only a stub. * DerivedSources-input.xcfilelist: * DerivedSources.make: * Modules/mediacontrols/MediaControlsHost.h: * Modules/mediacontrols/MediaControlsHost.idl: * Modules/modern-media-controls/controls/brightness-button.js: Added. (BrightnessButton): * Modules/modern-media-controls/controls/icon-service.js: * Modules/modern-media-controls/controls/media-controls.js: * Modules/modern-media-controls/images/iOS/Brightness.svg: Added. * Modules/modern-media-controls/images/macOS/Brightness.svg: Added. * Modules/modern-media-controls/js-files: * Modules/modern-media-controls/media/brightness-support.js: Added. (BrightnessSupport.prototype.get control): (BrightnessSupport.prototype.controlValueWillStartChanging): (BrightnessSupport.prototype.controlValueDidChange): (BrightnessSupport.prototype.controlValueDidStopChanging): (BrightnessSupport): * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype._supportingObjectClasses): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.h trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.idl trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js trunk/Source/WebCore/Modules/modern-media-controls/controls/media-controls.js trunk/Source/WebCore/Modules/modern-media-controls/js-files trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/Source/WebCore/Modules/modern-media-controls/controls/brightness-button.js trunk/Source/WebCore/Modules/modern-media-controls/images/iOS/Brightness.svg trunk/Source/WebCore/Modules/modern-media-controls/images/macOS/Brightness.svg trunk/Source/WebCore/Modules/modern-media-controls/media/brightness-support.js Diff Modified: trunk/Source/WebCore/ChangeLog (282974 => 282975) --- trunk/Source/WebCore/ChangeLog 2021-09-23 18:22:02 UTC (rev 282974) +++ trunk/Source/WebCore/ChangeLog 2021-09-23 18:29:43 UTC (rev 282975) @@ -1,3 +1,34 @@ +2021-09-23 Antoine Quint + +[Media Controls] Allow for a brightness control +https://bugs.webkit.org/show_bug.cgi?id=230697 + + +Reviewed by Dean Jackson. + +Add a new brightness button to control a new MediaControlsHost "brightness" property +which is currently only a stub. + +* DerivedSources-input.xcfilelist: +* DerivedSources.make: +* Modules/mediacontrols/MediaControlsHost.h: +* Modules/mediacontrols/MediaControlsHost.idl: +* Modules/modern-media-controls/controls/brightness-button.js: Added. +(BrightnessButton): +* Modules/modern-media-controls/controls/icon-service.js: +* Modules/modern-media-controls/controls/media-controls.js: +* Modules/modern-media-controls/images/iOS/Brightness.svg: Added. +* Modules/modern-media-controls/images/macOS/Brightness.svg: Added. +* Modules/modern-media-controls/js-files: +* Modules/modern-media-controls/media/brightness-support.js: Added. +(BrightnessSupport.prototype.get control): +(BrightnessSupport.prototype.controlValueWillStartChanging): +(BrightnessSupport.prototype.controlValueDidChange): +(BrightnessSupport.prototype.controlValueDidStopChanging): +(BrightnessSupport): +* Modules/modern-media-controls/media/media-controller.js: +(MediaController.prototype._supportingObjectClasses): + 2021-09-23 Simon Fraser Unify more media-related WebCore source files Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (282974 => 282975) --- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-23 18:22:02 UTC (rev 282974) +++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-23 18:29:43 UTC (rev 282975) @@ -295,6 +295,8 @@ $(PROJECT_DIR)/Modules/modern-media-controls/controls/background-click-delegate-notifier.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/background-tint.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/background-tint.js +$(PROJECT_DIR)/Modules/modern-media-controls/controls/brightness-button.css +$(PROJECT_DIR)/Modules/modern-media-controls/controls/brightness-button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/button.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/buttons-container.css @@ -355,6 +357,7 @@ $(PROJECT_DIR)/Modules/modern-media-controls/main.js $(PROJECT_DIR)/Modu
[webkit-changes] [283050] trunk/Source/WebCore
Title: [283050] trunk/Source/WebCore Revision 283050 Author grao...@webkit.org Date 2021-09-24 11:44:03 -0700 (Fri, 24 Sep 2021) Log Message [Media Controls] Allow for a close button https://bugs.webkit.org/show_bug.cgi?id=230761 Reviewed by Dean Jackson. Add a new close button with an "X" icon which simple exits fullscreen. * DerivedSources-input.xcfilelist: * DerivedSources.make: * Modules/modern-media-controls/controls/close-button.js: Added. (CloseButton): * Modules/modern-media-controls/controls/icon-service.js: * Modules/modern-media-controls/images/iOS/X.svg: Added. * Modules/modern-media-controls/images/macOS/X.svg: Added. * Modules/modern-media-controls/media/close-support.js: Added. (CloseSupport.prototype.get control): (CloseSupport.prototype.buttonWasPressed): (CloseSupport): * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype._supportingObjectClasses): * WebCore.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Added Paths trunk/Source/WebCore/Modules/modern-media-controls/controls/close-button.js trunk/Source/WebCore/Modules/modern-media-controls/images/iOS/X.svg trunk/Source/WebCore/Modules/modern-media-controls/images/macOS/X.svg trunk/Source/WebCore/Modules/modern-media-controls/media/close-support.js Diff Modified: trunk/Source/WebCore/ChangeLog (283049 => 283050) --- trunk/Source/WebCore/ChangeLog 2021-09-24 18:04:35 UTC (rev 283049) +++ trunk/Source/WebCore/ChangeLog 2021-09-24 18:44:03 UTC (rev 283050) @@ -1,3 +1,27 @@ +2021-09-24 Antoine Quint + +[Media Controls] Allow for a close button +https://bugs.webkit.org/show_bug.cgi?id=230761 + +Reviewed by Dean Jackson. + +Add a new close button with an "X" icon which simple exits fullscreen. + +* DerivedSources-input.xcfilelist: +* DerivedSources.make: +* Modules/modern-media-controls/controls/close-button.js: Added. +(CloseButton): +* Modules/modern-media-controls/controls/icon-service.js: +* Modules/modern-media-controls/images/iOS/X.svg: Added. +* Modules/modern-media-controls/images/macOS/X.svg: Added. +* Modules/modern-media-controls/media/close-support.js: Added. +(CloseSupport.prototype.get control): +(CloseSupport.prototype.buttonWasPressed): +(CloseSupport): +* Modules/modern-media-controls/media/media-controller.js: +(MediaController.prototype._supportingObjectClasses): +* WebCore.xcodeproj/project.pbxproj: + 2021-09-24 Devin Rousso Add typechecking `is` overloads for `std::unique_ptr`, `WTF::UniqueRef`, and `WTF::WeakPtr` Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (283049 => 283050) --- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-24 18:04:35 UTC (rev 283049) +++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-24 18:44:03 UTC (rev 283050) @@ -301,6 +301,7 @@ $(PROJECT_DIR)/Modules/modern-media-controls/controls/button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/buttons-container.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/buttons-container.js +$(PROJECT_DIR)/Modules/modern-media-controls/controls/close-button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/controls-bar.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/controls-bar.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/forward-button.js @@ -358,6 +359,7 @@ $(PROJECT_DIR)/Modules/modern-media-controls/media/airplay-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/audio-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/brightness-support.js +$(PROJECT_DIR)/Modules/modern-media-controls/media/close-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/controls-visibility-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/fullscreen-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/media-controller-support.js Modified: trunk/Source/WebCore/DerivedSources.make (283049 => 283050) --- trunk/Source/WebCore/DerivedSources.make 2021-09-24 18:04:35 UTC (rev 283049) +++ trunk/Source/WebCore/DerivedSources.make 2021-09-24 18:44:03 UTC (rev 283050) @@ -1628,6 +1628,7 @@ $(WebCore)/Modules/modern-media-controls/controls/range-button.js \ $(WebCore)/Modules/modern-media-controls/controls/volume-button.js \ $(WebCore)/Modules/modern-media-controls/controls/brightness-button.js \ +$(WebCore)/Modules/modern-media-controls/controls/close-button.js \ $(WebCore)/Modules/modern-media-controls/controls/buttons-container.js \ $(WebCore)/Modules/modern-media-co
[webkit-changes] [283051] trunk/Source/WebCore
Title: [283051] trunk/Source/WebCore Revision 283051 Author grao...@webkit.org Date 2021-09-24 11:46:04 -0700 (Fri, 24 Sep 2021) Log Message [Media Controls] RangeButton doesn't show the fill indicator in fullscreen https://bugs.webkit.org/show_bug.cgi?id=230759 Reviewed by Dean Jackson. RangeButton cannot work in fullscreen since it only ever registers "pointermove" and "pointerup" events on window, which is not in the same display, rather than the controls element displayed in fullscreen. So we adopt the same approach used for Slider, but also improve by not looking for a specific MediaControls subclass, but rather by checking whether the traits indicate these are fullscreen controls. * Modules/modern-media-controls/controls/controls/range-button.js: (RangeButton.prototype.handleEvent): (RangeButton.prototype._pointerMoveAndEndTarget): (RangeButton.prototype._handlePointerdown): (RangeButton.prototype._handlePointerup): * Modules/modern-media-controls/controls/controls/slider.js: (Slider.prototype._interactionEndTarget): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.js trunk/Source/WebCore/Modules/modern-media-controls/controls/slider.js Diff Modified: trunk/Source/WebCore/ChangeLog (283050 => 283051) --- trunk/Source/WebCore/ChangeLog 2021-09-24 18:44:03 UTC (rev 283050) +++ trunk/Source/WebCore/ChangeLog 2021-09-24 18:46:04 UTC (rev 283051) @@ -1,5 +1,27 @@ 2021-09-24 Antoine Quint +[Media Controls] RangeButton doesn't show the fill indicator in fullscreen +https://bugs.webkit.org/show_bug.cgi?id=230759 + + +Reviewed by Dean Jackson. + +RangeButton cannot work in fullscreen since it only ever registers "pointermove" and "pointerup" +events on window, which is not in the same display, rather than the controls element displayed +in fullscreen. So we adopt the same approach used for Slider, but also improve by not looking +for a specific MediaControls subclass, but rather by checking whether the traits indicate +these are fullscreen controls. + +* Modules/modern-media-controls/controls/controls/range-button.js: +(RangeButton.prototype.handleEvent): +(RangeButton.prototype._pointerMoveAndEndTarget): +(RangeButton.prototype._handlePointerdown): +(RangeButton.prototype._handlePointerup): +* Modules/modern-media-controls/controls/controls/slider.js: +(Slider.prototype._interactionEndTarget): + +2021-09-24 Antoine Quint + [Media Controls] Allow for a close button https://bugs.webkit.org/show_bug.cgi?id=230761 Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.js (283050 => 283051) --- trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.js 2021-09-24 18:44:03 UTC (rev 283050) +++ trunk/Source/WebCore/Modules/modern-media-controls/controls/range-button.js 2021-09-24 18:46:04 UTC (rev 283051) @@ -72,11 +72,11 @@ handleEvent(event) { -if (event.currentTarget === this.element && event.type == "pointerdown") +if (event.currentTarget === this.element && event.type === "pointerdown") this._handlePointerdown(event); -else if (event.currentTarget === window && event.type === "pointermove") +else if (event.currentTarget === this._pointerMoveAndEndTarget() && event.type === "pointermove") this._handlePointermove(event); -else if (event.currentTarget === window && event.type === "pointerup") +else if (event.currentTarget === this._pointerMoveAndEndTarget() && event.type === "pointerup") this._handlePointerup(event); else super.handleEvent(event); @@ -84,10 +84,16 @@ // Private +_pointerMoveAndEndTarget() +{ +const mediaControls = this.parentOfType(MediaControls); +return (!mediaControls || !mediaControls.layoutTraits.isFullscreen) ? window : mediaControls.element; +} + _handlePointerdown(event) { -window.addEventListener("pointermove", this, true); -window.addEventListener("pointerup", this, true); +this._pointerMoveAndEndTarget().addEventListener("pointermove", this, true); +this._pointerMoveAndEndTarget().addEventListener("pointerup", this, true); this._initialPointerY = event.clientY; this._initialValue = this._value; @@ -123,8 +129,8 @@ _handlePointerup(event) { -window.removeEventListener("pointermove", this, true); -window.removeEventListener("pointerup", this, true); +this._pointerMoveAndEndTarget().removeEventListener("pointermove", this, true); +this._pointerMoveAndEndTarget().removeEventListener("pointerup", this, true); delete this._initialPointerY; delete this._initialValue; Modified: trunk/Source/WebCore/Modules/modern-media-co
[webkit-changes] [283064] trunk/Source/WebCore
Title: [283064] trunk/Source/WebCore Revision 283064 Author grao...@webkit.org Date 2021-09-24 15:35:51 -0700 (Fri, 24 Sep 2021) Log Message [Media Controls] Allow for a close button https://bugs.webkit.org/show_bug.cgi?id=230761 Reviewed by Dean Jackson. Add a new close button with an "X" icon which simple exits fullscreen. * DerivedSources-input.xcfilelist: * DerivedSources.make: * Modules/modern-media-controls/controls/close-button.js: Added. (CloseButton): * Modules/modern-media-controls/controls/icon-service.js: * Modules/modern-media-controls/images/iOS/X.svg: Added. * Modules/modern-media-controls/images/macOS/X.svg: Added. * Modules/modern-media-controls/js-files: * Modules/modern-media-controls/media/close-support.js: Added. (CloseSupport.prototype.get control): (CloseSupport.prototype.buttonWasPressed): (CloseSupport): * Modules/modern-media-controls/media/media-controller.js: (MediaController.prototype._supportingObjectClasses): * WebCore.xcodeproj/project.pbxproj: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources-input.xcfilelist trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/Modules/modern-media-controls/controls/icon-service.js trunk/Source/WebCore/Modules/modern-media-controls/js-files trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj Added Paths trunk/Source/WebCore/Modules/modern-media-controls/controls/close-button.js trunk/Source/WebCore/Modules/modern-media-controls/images/iOS/X.svg trunk/Source/WebCore/Modules/modern-media-controls/images/macOS/X.svg trunk/Source/WebCore/Modules/modern-media-controls/media/close-support.js Diff Modified: trunk/Source/WebCore/ChangeLog (283063 => 283064) --- trunk/Source/WebCore/ChangeLog 2021-09-24 22:35:01 UTC (rev 283063) +++ trunk/Source/WebCore/ChangeLog 2021-09-24 22:35:51 UTC (rev 283064) @@ -1,3 +1,29 @@ +2021-09-24 Antoine Quint + +[Media Controls] Allow for a close button +https://bugs.webkit.org/show_bug.cgi?id=230761 + + +Reviewed by Dean Jackson. + +Add a new close button with an "X" icon which simple exits fullscreen. + +* DerivedSources-input.xcfilelist: +* DerivedSources.make: +* Modules/modern-media-controls/controls/close-button.js: Added. +(CloseButton): +* Modules/modern-media-controls/controls/icon-service.js: +* Modules/modern-media-controls/images/iOS/X.svg: Added. +* Modules/modern-media-controls/images/macOS/X.svg: Added. +* Modules/modern-media-controls/js-files: +* Modules/modern-media-controls/media/close-support.js: Added. +(CloseSupport.prototype.get control): +(CloseSupport.prototype.buttonWasPressed): +(CloseSupport): +* Modules/modern-media-controls/media/media-controller.js: +(MediaController.prototype._supportingObjectClasses): +* WebCore.xcodeproj/project.pbxproj: + 2021-09-24 Nikos Mouchtaris Implement abs,sign calc functions Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (283063 => 283064) --- trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-24 22:35:01 UTC (rev 283063) +++ trunk/Source/WebCore/DerivedSources-input.xcfilelist 2021-09-24 22:35:51 UTC (rev 283064) @@ -301,6 +301,7 @@ $(PROJECT_DIR)/Modules/modern-media-controls/controls/button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/buttons-container.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/buttons-container.js +$(PROJECT_DIR)/Modules/modern-media-controls/controls/close-button.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/controls-bar.css $(PROJECT_DIR)/Modules/modern-media-controls/controls/controls-bar.js $(PROJECT_DIR)/Modules/modern-media-controls/controls/forward-button.js @@ -358,6 +359,7 @@ $(PROJECT_DIR)/Modules/modern-media-controls/media/airplay-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/audio-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/brightness-support.js +$(PROJECT_DIR)/Modules/modern-media-controls/media/close-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/controls-visibility-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/fullscreen-support.js $(PROJECT_DIR)/Modules/modern-media-controls/media/media-controller-support.js Modified: trunk/Source/WebCore/DerivedSources.make (283063 => 283064) --- trunk/Source/WebCore/DerivedSources.make 2021-09-24 22:35:01 UTC (rev 283063) +++ trunk/Source/WebCore/DerivedSources.make 2021-09-24 22:35:51 UTC (rev 283064) @@ -1628,6 +1628,7 @@ $(WebCore)/Modules/modern-media-controls/controls/range-button.js \ $(WebCore)/Modules/modern-media-controls/controls/volume-button.js \ $(WebCore)/Modules/modern-media-controls/controls/brightness-button.js \ +$(WebCore)/Modules/modern-media-controls/controls/close-button.js \ $(
[webkit-changes] [285256] trunk
Title: [285256] trunk Revision 285256 Author grao...@webkit.org Date 2021-11-04 01:57:49 -0700 (Thu, 04 Nov 2021) Log Message REGRESSION (r268932): CPU usage higher than expected with sibling elements running WebAnimations https://bugs.webkit.org/show_bug.cgi?id=228833 Reviewed by Antti Koivisto. Source/WebCore: Test: webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html Elements that have any type of animations, and not just CSS Transitions and CSS Animations, should not be eligible for style sharing. * style/StyleSharingResolver.cpp: (WebCore::Style::SharingResolver::canShareStyleWithElement const): LayoutTests: Add a new test that checks that accelerated animations on sibling elements do not yield style updates. * platform/win/TestExpectations: * webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt: Added. * webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/win/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/style/StyleSharingResolver.cpp Added Paths trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html Diff Modified: trunk/LayoutTests/ChangeLog (285255 => 285256) --- trunk/LayoutTests/ChangeLog 2021-11-04 08:51:14 UTC (rev 285255) +++ trunk/LayoutTests/ChangeLog 2021-11-04 08:57:49 UTC (rev 285256) @@ -1,3 +1,17 @@ +2021-11-03 Antoine Quint + +REGRESSION (r268932): CPU usage higher than expected with sibling elements running WebAnimations +https://bugs.webkit.org/show_bug.cgi?id=228833 + + +Reviewed by Antti Koivisto. + +Add a new test that checks that accelerated animations on sibling elements do not yield style updates. + +* platform/win/TestExpectations: +* webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt: Added. +* webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html: Added. + 2021-11-04 Martin Robinson implement transform: perspective(none) Modified: trunk/LayoutTests/platform/win/TestExpectations (285255 => 285256) --- trunk/LayoutTests/platform/win/TestExpectations 2021-11-04 08:51:14 UTC (rev 285255) +++ trunk/LayoutTests/platform/win/TestExpectations 2021-11-04 08:57:49 UTC (rev 285256) @@ -4750,3 +4750,5 @@ webkit.org/b/232319 fast/ruby/before-block-doesnt-crash.html [ Pass Failure ] webkit.org/b/232321 imported/mozilla/svg/viewBox-and-pattern-03.svg [ Pass Crash ] + +webkit.org/b/232703 webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html [ Failure ] Added: trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt (0 => 285256) --- trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt (rev 0) +++ trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated-expected.txt 2021-11-04 08:57:49 UTC (rev 285256) @@ -0,0 +1,3 @@ + +PASS There should not be style updates while accelerated JS-originated animations are running on sibling elements with the same CSS class. + Added: trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html (0 => 285256) --- trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html (rev 0) +++ trunk/LayoutTests/webanimations/no-style-updates-for-animated-sibling-elements-accelerated.html 2021-11-04 08:57:49 UTC (rev 285256) @@ -0,0 +1,43 @@ + + + + + +.animated { +width: 100px; +height: 100px; +position: absolute; +background-color: black; +} + + + + +