[webkit-changes] [229891] trunk

2018-03-23 Thread graouts
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

2018-03-26 Thread graouts
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

2018-03-26 Thread graouts
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

2018-03-26 Thread graouts
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

2018-03-27 Thread graouts
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

2018-03-28 Thread graouts
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

2018-03-28 Thread graouts
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

2018-03-28 Thread graouts
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

2018-03-28 Thread graouts
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

2018-03-29 Thread graouts
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

2018-03-30 Thread graouts
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

2018-04-09 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-12 Thread graouts
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

2018-04-13 Thread graouts
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

2018-04-15 Thread graouts
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

2018-04-16 Thread graouts
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

2018-04-17 Thread graouts
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

2018-04-21 Thread graouts
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

2018-04-21 Thread graouts
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

2018-06-06 Thread graouts
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

2018-06-07 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-11 Thread graouts
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

2018-06-15 Thread graouts
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

2018-06-18 Thread graouts
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

2018-06-19 Thread graouts
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

2018-06-19 Thread graouts
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

2018-06-19 Thread graouts
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

2018-06-20 Thread graouts
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

2018-06-20 Thread graouts
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

2018-06-21 Thread graouts
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

2018-06-25 Thread graouts
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

2018-06-25 Thread graouts
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

2018-06-25 Thread graouts
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

2018-06-28 Thread graouts
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

2018-06-28 Thread graouts
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

2018-06-29 Thread graouts
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

2018-06-29 Thread graouts
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

2018-06-30 Thread graouts
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

2018-06-30 Thread graouts
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

2018-07-02 Thread graouts
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

2018-07-02 Thread graouts
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

2018-07-03 Thread graouts
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

2018-07-03 Thread graouts
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

2018-07-04 Thread graouts
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

2018-07-05 Thread graouts
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

2018-07-06 Thread graouts
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

2018-07-06 Thread graouts
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

2018-07-06 Thread graouts
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

2018-07-06 Thread graouts
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

2018-07-09 Thread graouts
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

2018-07-09 Thread graouts
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

2018-07-09 Thread graouts
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

2018-07-10 Thread graouts
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

2018-07-11 Thread graouts
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

2018-07-11 Thread graouts
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

2018-07-11 Thread graouts
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

2018-07-13 Thread graouts
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

2019-03-13 Thread graouts
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

2019-03-18 Thread graouts
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

2019-03-20 Thread graouts
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

2019-03-20 Thread graouts
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

2019-03-21 Thread graouts
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

2019-03-26 Thread graouts
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

2019-03-26 Thread graouts
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

2019-03-29 Thread graouts
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

2017-03-22 Thread graouts
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

2017-03-24 Thread graouts
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

2017-03-24 Thread graouts
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

2017-03-27 Thread graouts
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

2017-03-31 Thread graouts
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

2020-08-27 Thread graouts
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

2020-08-28 Thread graouts
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

2020-09-03 Thread graouts
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

2021-09-20 Thread graouts
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

2021-09-20 Thread graouts
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

2021-09-23 Thread graouts
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

2021-09-23 Thread graouts
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

2021-09-24 Thread graouts
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

2021-09-24 Thread graouts
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

2021-09-24 Thread graouts
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

2021-11-04 Thread graouts
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;
+}
+
+
+
+
+