Commit 6276f31
committed
[Web Animations] Implied keyframes should not account for animations on siblings
https://bugs.webkit.org/show_bug.cgi?id=188050
<rdar://problem/71330806>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
Record 212 new PASS results thanks to no longer using shared style from a sibling when animating
elements with implied keyframes.
* web-platform-tests/css/css-align/animation/column-gap-interpolation-expected.txt:
* web-platform-tests/css/css-align/animation/row-gap-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-color-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-image-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-position-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-position-origin-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-position-x-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-position-y-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/background-size-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-color-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-image-outset-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-image-slice-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-image-width-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-radius-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt:
* web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt:
* web-platform-tests/css/css-box/animation/margin-interpolation-expected.txt:
* web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt:
* web-platform-tests/css/css-color/animation/color-interpolation-expected.txt:
* web-platform-tests/css/css-color/animation/opacity-interpolation-expected.txt:
* web-platform-tests/css/css-flexbox/animation/flex-basis-interpolation-expected.txt:
* web-platform-tests/css/css-flexbox/animation/flex-grow-interpolation-expected.txt:
* web-platform-tests/css/css-flexbox/animation/flex-shrink-interpolation-expected.txt:
* web-platform-tests/css/css-flexbox/animation/order-interpolation-expected.txt:
* web-platform-tests/css/css-fonts/animations/font-size-interpolation-001-expected.txt:
* web-platform-tests/css/css-fonts/animations/font-stretch-interpolation-expected.txt:
* web-platform-tests/css/css-fonts/animations/font-variation-settings-interpolation-expected.txt:
* web-platform-tests/css/css-lists/animations/list-style-image-interpolation-expected.txt:
* web-platform-tests/css/css-multicol/animation/column-count-interpolation-expected.txt:
* web-platform-tests/css/css-multicol/animation/column-rule-color-interpolation-expected.txt:
* web-platform-tests/css/css-multicol/animation/column-width-interpolation-expected.txt:
* web-platform-tests/css/css-position/animations/bottom-interpolation-expected.txt:
* web-platform-tests/css/css-position/animations/left-interpolation-expected.txt:
* web-platform-tests/css/css-position/animations/right-interpolation-expected.txt:
* web-platform-tests/css/css-position/animations/top-interpolation-expected.txt:
* web-platform-tests/css/css-shapes/animation/shape-image-threshold-interpolation-expected.txt:
* web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt:
* web-platform-tests/css/css-shapes/animation/shape-outside-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/height-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/max-height-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/max-width-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt:
* web-platform-tests/css/css-sizing/animation/width-interpolation-expected.txt:
* web-platform-tests/css/css-text/animations/letter-spacing-interpolation-expected.txt:
* web-platform-tests/css/css-text/animations/text-indent-interpolation-expected.txt:
* web-platform-tests/css/css-text/animations/word-spacing-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/animation/perspective-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/animation/rotate-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/animation/scale-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/animation/transform-interpolation-006-expected.txt:
* web-platform-tests/css/css-transforms/animation/transform-origin-interpolation-expected.txt:
* web-platform-tests/css/css-transforms/animation/translate-interpolation-expected.txt:
* web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt:
* web-platform-tests/css/css-transitions/animations/z-index-interpolation-expected.txt:
* web-platform-tests/css/css-ui/animation/caret-color-interpolation-expected.txt:
* web-platform-tests/css/css-ui/animation/outline-color-interpolation-expected.txt:
* web-platform-tests/css/css-ui/animation/outline-offset-interpolation-expected.txt:
* web-platform-tests/css/css-ui/animation/outline-width-interpolation-expected.txt:
Source/WebCore:
Sibling nodes can share styles, but we need to opt out of this behavior for elements targeted by keyframe effects
that rely on implied keyframes as, otherwise, we end up using another element's style to resolve animations with
implied keyframes.
* animation/KeyframeEffect.cpp:
(WebCore::KeyframeEffect::hasImplicitKeyframes const):
* animation/KeyframeEffect.h:
* animation/KeyframeEffectStack.cpp:
(WebCore::KeyframeEffectStack::hasEffectWithImplicitKeyframes const):
* animation/KeyframeEffectStack.h:
* style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::resolve):
* style/StyleSharingResolver.h:
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::styleForStyleable):
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::styleForElement): Deleted.
* style/StyleTreeResolver.h:
LayoutTests:
Record new PASS results thanks to no longer using shared style from a sibling when animating
elements with implied keyframes.
* platform/ios/compositing/backing/animate-into-view-expected.txt
* platform/ios/compositing/backing/animate-into-view-with-descendant-expected.txt
* platform/ios/imported/w3c/web-platform-tests/css/css-backgrounds/animations/border-width-interpolation-expected.txt
* platform/mac-wk1/imported/w3c/web-platform-tests/css/css-color/animation/opacity-interpolation-expected.txt
Canonical link: https://commits.webkit.org/https://commits.webkit.org/232478@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270837 268f45cc-cd09-0410-ab3c-d52691b4dbfc1 parent d5c1fa8 commit 6276f31
74 files changed
Lines changed: 396 additions & 246 deletions
File tree
- LayoutTests
- imported/w3c
- web-platform-tests/css
- css-align/animation
- css-backgrounds/animations
- css-box/animation
- css-color/animation
- css-flexbox/animation
- css-fonts/animations
- css-lists/animations
- css-multicol/animation
- css-position/animations
- css-shapes/animation
- css-sizing/animation
- css-text/animations
- css-transforms/animation
- css-transitions/animations
- css-ui/animation
- platform
- ios
- compositing/backing
- imported/w3c/web-platform-tests/css/css-backgrounds/animations
- mac-wk1/imported/w3c/web-platform-tests/css/css-color/animation
- Source/WebCore
- animation
- style
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
1 | 17 | | |
2 | 18 | | |
3 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
1 | 72 | | |
2 | 73 | | |
3 | 74 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
Lines changed: 5 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | | - | |
20 | | - | |
| 19 | + | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
0 commit comments