Add animation and transition support for pseudo-elements

This change extends the DocumentAnimationSet to hold animations for
pseudo-elements. Since pseudo-elements in Servo are not in the DOM like
in Gecko, they need to be handled a bit carefully in stylo.  When a
pseudo-element has an animation, recascade the style. Finally, this
change passes the pseudo-element string properly to animation events.

Fixes: #10316
This commit is contained in:
Martin Robinson 2020-06-15 11:51:23 +02:00
parent ba5568a0a6
commit f3e373bc62
19 changed files with 359 additions and 138 deletions

View file

@ -1,5 +0,0 @@
[animationevent-pseudoelement.html]
expected: TIMEOUT
[AnimationEvent should have the correct pseudoElement memeber]
expected: TIMEOUT

View file

@ -1,8 +0,0 @@
[events-006.html]
expected: TIMEOUT
[transition padding-left on ::after]
expected: NOTRUN
[transition padding-left on ::before]
expected: TIMEOUT

View file

@ -1,5 +0,0 @@
[non-rendered-element-002.html]
expected: TIMEOUT
[Transitions on ::before/::after pseudo-elements are canceled when the content property is cleared]
expected: TIMEOUT

View file

@ -1,13 +0,0 @@
[pseudo-elements-001.html]
[transition padding-left on :before / values]
expected: FAIL
[transition padding-left on :after, changing content / values]
expected: FAIL
[transition padding-left on :before, changing content / values]
expected: FAIL
[transition padding-left on :after / values]
expected: FAIL

View file

@ -1,6 +0,0 @@
[animationevent-pseudoelement.html]
bug: https://github.com/servo/servo/issues/10316
expected: TIMEOUT
[AnimationEvent should have the correct pseudoElement memeber]
expected: TIMEOUT

View file

@ -1,9 +0,0 @@
[events-006.html]
bug: https://github.com/servo/servo/issues/10316
expected: TIMEOUT
[transition padding-left on ::after]
expected: NOTRUN
[transition padding-left on ::before]
expected: TIMEOUT

View file

@ -1,8 +1,4 @@
[non-rendered-element-002.html]
expected: TIMEOUT
[Transitions on ::before/::after pseudo-elements are canceled when the content property is cleared]
expected: TIMEOUT
[Transitions on ::marker pseudo-elements are canceled when the parent display type is no longer list-item]
expected: NOTRUN

View file

@ -2,12 +2,6 @@
[transition padding-left on :before / values]
expected: FAIL
[transition padding-left on :after, changing content / values]
expected: FAIL
[transition padding-left on :before, changing content / values]
expected: FAIL
[transition padding-left on :after / values]
expected: FAIL