Changeset 273001 in webkit
- Timestamp:
- Feb 17, 2021 8:50:30 AM (17 months ago)
- Location:
- trunk
- Files:
-
- 17 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt (modified) (12 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt (modified) (12 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt (modified) (4 diffs)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt (modified) (4 diffs)
-
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt (modified) (1 diff)
-
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/animation/CSSPropertyAnimation.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r272993 r273001 1 2021-02-17 Antoine Quint <graouts@webkit.org> 2 3 CSS properties that disallow negative values should not animate to negative values 4 https://bugs.webkit.org/show_bug.cgi?id=222034 5 6 Reviewed by Antti Koivisto. 7 8 Mark WPT output changes for a couple tests with platform-specific results. 9 10 * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt: 11 * platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt: 12 1 13 2021-02-17 Andres Gonzalez <andresg_22@apple.com> 2 14 -
trunk/LayoutTests/imported/w3c/ChangeLog
r272983 r273001 1 2021-02-17 Antoine Quint <graouts@webkit.org> 2 3 CSS properties that disallow negative values should not animate to negative values 4 https://bugs.webkit.org/show_bug.cgi?id=222034 5 6 Reviewed by Antti Koivisto. 7 8 Mark WPT progressions. 9 10 * web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt: 11 * web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt: 12 * web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt: 13 * web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt: 14 * web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt: 15 * web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt: 16 * web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt: 17 * web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt: 18 * web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt: 19 * web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt: 20 * web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt: 21 1 22 2021-02-16 Manuel Rego Casasnovas <rego@igalia.com> 2 23 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "160.75px " but got "100px " 13 13 FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "176.89px " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-interpolation-expected.txt
r272904 r273001 24 24 PASS Web Animations: property <padding> from neutral to [20px] at (1) should be [20px] 25 25 PASS Web Animations: property <padding> from neutral to [20px] at (1.5) should be [25px] 26 FAIL CSS Transitions: property <padding> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 26 PASS CSS Transitions: property <padding> from [initial] to [20px] at (-0.3) should be [0px] 27 27 PASS CSS Transitions: property <padding> from [initial] to [20px] at (0) should be [0px] 28 28 PASS CSS Transitions: property <padding> from [initial] to [20px] at (0.3) should be [6px] … … 30 30 PASS CSS Transitions: property <padding> from [initial] to [20px] at (1) should be [20px] 31 31 PASS CSS Transitions: property <padding> from [initial] to [20px] at (1.5) should be [30px] 32 FAIL CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 32 PASS CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (-0.3) should be [0px] 33 33 PASS CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (0) should be [0px] 34 34 PASS CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (0.3) should be [6px] … … 36 36 PASS CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (1) should be [20px] 37 37 PASS CSS Transitions with transition: all: property <padding> from [initial] to [20px] at (1.5) should be [30px] 38 FAIL CSS Animations: property <padding> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 38 PASS CSS Animations: property <padding> from [initial] to [20px] at (-0.3) should be [0px] 39 39 PASS CSS Animations: property <padding> from [initial] to [20px] at (0) should be [0px] 40 40 PASS CSS Animations: property <padding> from [initial] to [20px] at (0.3) should be [6px] … … 42 42 PASS CSS Animations: property <padding> from [initial] to [20px] at (1) should be [20px] 43 43 PASS CSS Animations: property <padding> from [initial] to [20px] at (1.5) should be [30px] 44 FAIL Web Animations: property <padding> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 44 PASS Web Animations: property <padding> from [initial] to [20px] at (-0.3) should be [0px] 45 45 PASS Web Animations: property <padding> from [initial] to [20px] at (0) should be [0px] 46 46 PASS Web Animations: property <padding> from [initial] to [20px] at (0.3) should be [6px] … … 72 72 PASS Web Animations: property <padding> from [inherit] to [20px] at (1) should be [20px] 73 73 PASS Web Animations: property <padding> from [inherit] to [20px] at (1.5) should be [15px] 74 FAIL CSS Transitions: property <padding> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 74 PASS CSS Transitions: property <padding> from [unset] to [20px] at (-0.3) should be [0px] 75 75 PASS CSS Transitions: property <padding> from [unset] to [20px] at (0) should be [0px] 76 76 PASS CSS Transitions: property <padding> from [unset] to [20px] at (0.3) should be [6px] … … 78 78 PASS CSS Transitions: property <padding> from [unset] to [20px] at (1) should be [20px] 79 79 PASS CSS Transitions: property <padding> from [unset] to [20px] at (1.5) should be [30px] 80 FAIL CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 80 PASS CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (-0.3) should be [0px] 81 81 PASS CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (0) should be [0px] 82 82 PASS CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (0.3) should be [6px] … … 84 84 PASS CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (1) should be [20px] 85 85 PASS CSS Transitions with transition: all: property <padding> from [unset] to [20px] at (1.5) should be [30px] 86 FAIL CSS Animations: property <padding> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 86 PASS CSS Animations: property <padding> from [unset] to [20px] at (-0.3) should be [0px] 87 87 PASS CSS Animations: property <padding> from [unset] to [20px] at (0) should be [0px] 88 88 PASS CSS Animations: property <padding> from [unset] to [20px] at (0.3) should be [6px] … … 90 90 PASS CSS Animations: property <padding> from [unset] to [20px] at (1) should be [20px] 91 91 PASS CSS Animations: property <padding> from [unset] to [20px] at (1.5) should be [30px] 92 FAIL Web Animations: property <padding> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 92 PASS Web Animations: property <padding> from [unset] to [20px] at (-0.3) should be [0px] 93 93 PASS Web Animations: property <padding> from [unset] to [20px] at (0) should be [0px] 94 94 PASS Web Animations: property <padding> from [unset] to [20px] at (0.3) should be [6px] … … 96 96 PASS Web Animations: property <padding> from [unset] to [20px] at (1) should be [20px] 97 97 PASS Web Animations: property <padding> from [unset] to [20px] at (1.5) should be [30px] 98 FAIL CSS Transitions: property <padding> from [0px] to [10px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 3px " 98 PASS CSS Transitions: property <padding> from [0px] to [10px] at (-0.3) should be [0px] 99 99 PASS CSS Transitions: property <padding> from [0px] to [10px] at (0) should be [0px] 100 100 PASS CSS Transitions: property <padding> from [0px] to [10px] at (0.3) should be [3px] … … 102 102 PASS CSS Transitions: property <padding> from [0px] to [10px] at (1) should be [10px] 103 103 PASS CSS Transitions: property <padding> from [0px] to [10px] at (1.5) should be [15px] 104 FAIL CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 3px " 104 PASS CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (-0.3) should be [0px] 105 105 PASS CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (0) should be [0px] 106 106 PASS CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (0.3) should be [3px] … … 108 108 PASS CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (1) should be [10px] 109 109 PASS CSS Transitions with transition: all: property <padding> from [0px] to [10px] at (1.5) should be [15px] 110 FAIL CSS Animations: property <padding> from [0px] to [10px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 3px " 110 PASS CSS Animations: property <padding> from [0px] to [10px] at (-0.3) should be [0px] 111 111 PASS CSS Animations: property <padding> from [0px] to [10px] at (0) should be [0px] 112 112 PASS CSS Animations: property <padding> from [0px] to [10px] at (0.3) should be [3px] … … 114 114 PASS CSS Animations: property <padding> from [0px] to [10px] at (1) should be [10px] 115 115 PASS CSS Animations: property <padding> from [0px] to [10px] at (1.5) should be [15px] 116 FAIL Web Animations: property <padding> from [0px] to [10px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 3px " 116 PASS Web Animations: property <padding> from [0px] to [10px] at (-0.3) should be [0px] 117 117 PASS Web Animations: property <padding> from [0px] to [10px] at (0) should be [0px] 118 118 PASS Web Animations: property <padding> from [0px] to [10px] at (0.3) should be [3px] -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-left-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-left> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px " 13 13 FAIL Compositing: property <padding-left> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-right-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-right> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px " 13 13 FAIL Compositing: property <padding-right> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "160.75px " but got "100px " 13 13 FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "176.89px " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <shape-margin> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px " 13 13 FAIL Compositing: property <shape-margin> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-shapes/animation/shape-margin-interpolation-expected.txt
r272904 r273001 24 24 PASS Web Animations: property <shape-margin> from neutral to [20px] at (1) should be [20px] 25 25 PASS Web Animations: property <shape-margin> from neutral to [20px] at (1.5) should be [25px] 26 FAIL CSS Transitions: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 26 PASS CSS Transitions: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] 27 27 PASS CSS Transitions: property <shape-margin> from [initial] to [20px] at (0) should be [0px] 28 28 PASS CSS Transitions: property <shape-margin> from [initial] to [20px] at (0.3) should be [6px] … … 30 30 PASS CSS Transitions: property <shape-margin> from [initial] to [20px] at (1) should be [20px] 31 31 PASS CSS Transitions: property <shape-margin> from [initial] to [20px] at (1.5) should be [30px] 32 FAIL CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 32 PASS CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] 33 33 PASS CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (0) should be [0px] 34 34 PASS CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (0.3) should be [6px] … … 36 36 PASS CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (1) should be [20px] 37 37 PASS CSS Transitions with transition: all: property <shape-margin> from [initial] to [20px] at (1.5) should be [30px] 38 FAIL CSS Animations: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 38 PASS CSS Animations: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] 39 39 PASS CSS Animations: property <shape-margin> from [initial] to [20px] at (0) should be [0px] 40 40 PASS CSS Animations: property <shape-margin> from [initial] to [20px] at (0.3) should be [6px] … … 42 42 PASS CSS Animations: property <shape-margin> from [initial] to [20px] at (1) should be [20px] 43 43 PASS CSS Animations: property <shape-margin> from [initial] to [20px] at (1.5) should be [30px] 44 FAIL Web Animations: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 44 PASS Web Animations: property <shape-margin> from [initial] to [20px] at (-0.3) should be [0px] 45 45 PASS Web Animations: property <shape-margin> from [initial] to [20px] at (0) should be [0px] 46 46 PASS Web Animations: property <shape-margin> from [initial] to [20px] at (0.3) should be [6px] … … 72 72 PASS Web Animations: property <shape-margin> from [inherit] to [20px] at (1) should be [20px] 73 73 PASS Web Animations: property <shape-margin> from [inherit] to [20px] at (1.5) should be [15px] 74 FAIL CSS Transitions: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 74 PASS CSS Transitions: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] 75 75 PASS CSS Transitions: property <shape-margin> from [unset] to [20px] at (0) should be [0px] 76 76 PASS CSS Transitions: property <shape-margin> from [unset] to [20px] at (0.3) should be [6px] … … 78 78 PASS CSS Transitions: property <shape-margin> from [unset] to [20px] at (1) should be [20px] 79 79 PASS CSS Transitions: property <shape-margin> from [unset] to [20px] at (1.5) should be [30px] 80 FAIL CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 80 PASS CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] 81 81 PASS CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (0) should be [0px] 82 82 PASS CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (0.3) should be [6px] … … 84 84 PASS CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (1) should be [20px] 85 85 PASS CSS Transitions with transition: all: property <shape-margin> from [unset] to [20px] at (1.5) should be [30px] 86 FAIL CSS Animations: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 86 PASS CSS Animations: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] 87 87 PASS CSS Animations: property <shape-margin> from [unset] to [20px] at (0) should be [0px] 88 88 PASS CSS Animations: property <shape-margin> from [unset] to [20px] at (0.3) should be [6px] … … 90 90 PASS CSS Animations: property <shape-margin> from [unset] to [20px] at (1) should be [20px] 91 91 PASS CSS Animations: property <shape-margin> from [unset] to [20px] at (1.5) should be [30px] 92 FAIL Web Animations: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 6px " 92 PASS Web Animations: property <shape-margin> from [unset] to [20px] at (-0.3) should be [0px] 93 93 PASS Web Animations: property <shape-margin> from [unset] to [20px] at (0) should be [0px] 94 94 PASS Web Animations: property <shape-margin> from [unset] to [20px] at (0.3) should be [6px] … … 96 96 PASS Web Animations: property <shape-margin> from [unset] to [20px] at (1) should be [20px] 97 97 PASS Web Animations: property <shape-margin> from [unset] to [20px] at (1.5) should be [30px] 98 FAIL CSS Transitions: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 98 PASS CSS Transitions: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] 99 99 PASS CSS Transitions: property <shape-margin> from [0px] to [100px] at (0) should be [0px] 100 100 PASS CSS Transitions: property <shape-margin> from [0px] to [100px] at (0.3) should be [30px] … … 102 102 PASS CSS Transitions: property <shape-margin> from [0px] to [100px] at (1) should be [100px] 103 103 PASS CSS Transitions: property <shape-margin> from [0px] to [100px] at (1.5) should be [150px] 104 FAIL CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 104 PASS CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] 105 105 PASS CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (0) should be [0px] 106 106 PASS CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (0.3) should be [30px] … … 108 108 PASS CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (1) should be [100px] 109 109 PASS CSS Transitions with transition: all: property <shape-margin> from [0px] to [100px] at (1.5) should be [150px] 110 FAIL CSS Animations: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 110 PASS CSS Animations: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] 111 111 PASS CSS Animations: property <shape-margin> from [0px] to [100px] at (0) should be [0px] 112 112 PASS CSS Animations: property <shape-margin> from [0px] to [100px] at (0.3) should be [30px] … … 114 114 PASS CSS Animations: property <shape-margin> from [0px] to [100px] at (1) should be [100px] 115 115 PASS CSS Animations: property <shape-margin> from [0px] to [100px] at (1.5) should be [150px] 116 FAIL Web Animations: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 116 PASS Web Animations: property <shape-margin> from [0px] to [100px] at (-0.3) should be [0px] 117 117 PASS Web Animations: property <shape-margin> from [0px] to [100px] at (0) should be [0px] 118 118 PASS Web Animations: property <shape-margin> from [0px] to [100px] at (0.3) should be [30px] -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <min-height> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px " 13 13 FAIL Compositing: property <min-height> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-height-interpolation-expected.txt
r272904 r273001 104 104 PASS Web Animations: property <min-height> from [unset] to [20px] at (1) should be [20px] 105 105 PASS Web Animations: property <min-height> from [unset] to [20px] at (1.5) should be [20px] 106 FAIL CSS Transitions: property <min-height> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 106 PASS CSS Transitions: property <min-height> from [0px] to [100px] at (-0.5) should be [0] 107 107 PASS CSS Transitions: property <min-height> from [0px] to [100px] at (0) should be [0] 108 108 PASS CSS Transitions: property <min-height> from [0px] to [100px] at (0.3) should be [30px] … … 110 110 PASS CSS Transitions: property <min-height> from [0px] to [100px] at (1) should be [100px] 111 111 PASS CSS Transitions: property <min-height> from [0px] to [100px] at (1.5) should be [150px] 112 FAIL CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 112 PASS CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (-0.5) should be [0] 113 113 PASS CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (0) should be [0] 114 114 PASS CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (0.3) should be [30px] … … 116 116 PASS CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (1) should be [100px] 117 117 PASS CSS Transitions with transition: all: property <min-height> from [0px] to [100px] at (1.5) should be [150px] 118 FAIL CSS Animations: property <min-height> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 118 PASS CSS Animations: property <min-height> from [0px] to [100px] at (-0.5) should be [0] 119 119 PASS CSS Animations: property <min-height> from [0px] to [100px] at (0) should be [0] 120 120 PASS CSS Animations: property <min-height> from [0px] to [100px] at (0.3) should be [30px] … … 122 122 PASS CSS Animations: property <min-height> from [0px] to [100px] at (1) should be [100px] 123 123 PASS CSS Animations: property <min-height> from [0px] to [100px] at (1.5) should be [150px] 124 FAIL Web Animations: property <min-height> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 124 PASS Web Animations: property <min-height> from [0px] to [100px] at (-0.5) should be [0] 125 125 PASS Web Animations: property <min-height> from [0px] to [100px] at (0) should be [0] 126 126 PASS Web Animations: property <min-height> from [0px] to [100px] at (0.3) should be [30px] -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-composition-expected.txt
r267650 r273001 9 9 FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <min-width> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "calc ( 4 % + 130px ) " but got "100px " 13 13 FAIL Compositing: property <min-width> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "calc ( 10 % + 100px ) " but got "100px " -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-sizing/animation/min-width-interpolation-expected.txt
r272904 r273001 104 104 PASS Web Animations: property <min-width> from [unset] to [20px] at (1) should be [20px] 105 105 PASS Web Animations: property <min-width> from [unset] to [20px] at (1.5) should be [20px] 106 FAIL CSS Transitions: property <min-width> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 106 PASS CSS Transitions: property <min-width> from [0px] to [100px] at (-0.5) should be [0] 107 107 PASS CSS Transitions: property <min-width> from [0px] to [100px] at (0) should be [0] 108 108 PASS CSS Transitions: property <min-width> from [0px] to [100px] at (0.3) should be [30px] … … 110 110 PASS CSS Transitions: property <min-width> from [0px] to [100px] at (1) should be [100px] 111 111 PASS CSS Transitions: property <min-width> from [0px] to [100px] at (1.5) should be [150px] 112 FAIL CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 112 PASS CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (-0.5) should be [0] 113 113 PASS CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (0) should be [0] 114 114 PASS CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (0.3) should be [30px] … … 116 116 PASS CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (1) should be [100px] 117 117 PASS CSS Transitions with transition: all: property <min-width> from [0px] to [100px] at (1.5) should be [150px] 118 FAIL CSS Animations: property <min-width> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 118 PASS CSS Animations: property <min-width> from [0px] to [100px] at (-0.5) should be [0] 119 119 PASS CSS Animations: property <min-width> from [0px] to [100px] at (0) should be [0] 120 120 PASS CSS Animations: property <min-width> from [0px] to [100px] at (0.3) should be [30px] … … 122 122 PASS CSS Animations: property <min-width> from [0px] to [100px] at (1) should be [100px] 123 123 PASS CSS Animations: property <min-width> from [0px] to [100px] at (1.5) should be [150px] 124 FAIL Web Animations: property <min-width> from [0px] to [100px] at (-0.5) should be [0] assert_equals: expected "0px " but got "- 50px " 124 PASS Web Animations: property <min-width> from [0px] to [100px] at (-0.5) should be [0] 125 125 PASS Web Animations: property <min-width> from [0px] to [100px] at (0) should be [0] 126 126 PASS Web Animations: property <min-width> from [0px] to [100px] at (0.3) should be [30px] -
trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-bottom-composition-expected.txt
r267658 r273001 9 9 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-bottom> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px " 13 13 FAIL Compositing: property <padding-bottom> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px " -
trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-box/animation/padding-top-composition-expected.txt
r267658 r273001 9 9 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (0.5) should be [106px] assert_equals: expected "106px " but got "6px " 10 10 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got " - 2px "11 FAIL Compositing: property <padding-top> underlying [100px] from add [10px] to add [2px] at (1.5) should be [98px] assert_equals: expected "98px " but got "0px " 12 12 FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (-0.3) should be [calc(130px + 4%)] assert_equals: expected "161.36px " but got "100px " 13 13 FAIL Compositing: property <padding-top> underlying [10%] from add [100px] to add [20%] at (0) should be [calc(100px + 10%)] assert_equals: expected "178.39px " but got "100px " -
trunk/Source/WebCore/ChangeLog
r272999 r273001 1 2021-02-17 Antoine Quint <graouts@webkit.org> 2 3 CSS properties that disallow negative values should not animate to negative values 4 https://bugs.webkit.org/show_bug.cgi?id=222034 5 6 Reviewed by Antti Koivisto. 7 8 Some CSS properties disallow negative values, but the blending code used for animations allows them. 9 We now add a new animation wrapper for those values, NonNegativeLengthPropertyWrapper, which will clamp 10 the blended value to 0 if negative. This new wrapper is used for the padding properties, width, height, 11 min-width, min-height and shape-margin. 12 13 * animation/CSSPropertyAnimation.cpp: 14 (WebCore::NonNegativeLengthPropertyWrapper::NonNegativeLengthPropertyWrapper): 15 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): 16 1 17 2021-02-17 Per Arne <pvollan@apple.com> 2 18 -
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp
r272805 r273001 700 700 }; 701 701 702 class NonNegativeLengthPropertyWrapper : public PropertyWrapperGetter<const Length&> { 703 WTF_MAKE_FAST_ALLOCATED; 704 public: 705 NonNegativeLengthPropertyWrapper(CSSPropertyID prop, const Length& (RenderStyle::*getter)() const, void (RenderStyle::*setter)(Length&&)) 706 : PropertyWrapperGetter<const Length&>(prop, getter) 707 , m_setter(setter) 708 { 709 } 710 711 bool canInterpolate(const RenderStyle* a, const RenderStyle* b) const override 712 { 713 return !(a->*PropertyWrapperGetter<const Length&>::m_getter)().isAuto() && !(b->*PropertyWrapperGetter<const Length&>::m_getter)().isAuto(); 714 } 715 716 void blend(const CSSPropertyBlendingClient* anim, RenderStyle* dst, const RenderStyle* a, const RenderStyle* b, double progress) const override 717 { 718 auto blended = blendFunc(anim, (a->*PropertyWrapperGetter<const Length&>::m_getter)(), (b->*PropertyWrapperGetter<const Length&>::m_getter)(), progress); 719 if (blended.isNegative()) 720 (dst->*m_setter)(Length(0, LengthType::Fixed)); 721 else 722 (dst->*m_setter)(WTFMove(blended)); 723 } 724 725 protected: 726 void (RenderStyle::*m_setter)(Length&&); 727 }; 728 702 729 template <typename T> 703 730 class LengthVariantPropertyWrapper : public PropertyWrapperGetter<const T&> { … … 1746 1773 new LengthPropertyWrapper(CSSPropertyBottom, &RenderStyle::bottom, &RenderStyle::setBottom), 1747 1774 1748 new LengthPropertyWrapper(CSSPropertyWidth, &RenderStyle::width, &RenderStyle::setWidth),1749 new LengthPropertyWrapper(CSSPropertyMinWidth, &RenderStyle::minWidth, &RenderStyle::setMinWidth),1775 new NonNegativeLengthPropertyWrapper(CSSPropertyWidth, &RenderStyle::width, &RenderStyle::setWidth), 1776 new NonNegativeLengthPropertyWrapper(CSSPropertyMinWidth, &RenderStyle::minWidth, &RenderStyle::setMinWidth), 1750 1777 new LengthPropertyWrapper(CSSPropertyMaxWidth, &RenderStyle::maxWidth, &RenderStyle::setMaxWidth), 1751 1778 1752 new LengthPropertyWrapper(CSSPropertyHeight, &RenderStyle::height, &RenderStyle::setHeight),1753 new LengthPropertyWrapper(CSSPropertyMinHeight, &RenderStyle::minHeight, &RenderStyle::setMinHeight),1779 new NonNegativeLengthPropertyWrapper(CSSPropertyHeight, &RenderStyle::height, &RenderStyle::setHeight), 1780 new NonNegativeLengthPropertyWrapper(CSSPropertyMinHeight, &RenderStyle::minHeight, &RenderStyle::setMinHeight), 1754 1781 new LengthPropertyWrapper(CSSPropertyMaxHeight, &RenderStyle::maxHeight, &RenderStyle::setMaxHeight), 1755 1782 … … 1764 1791 new LengthPropertyWrapper(CSSPropertyMarginTop, &RenderStyle::marginTop, &RenderStyle::setMarginTop), 1765 1792 new LengthPropertyWrapper(CSSPropertyMarginBottom, &RenderStyle::marginBottom, &RenderStyle::setMarginBottom), 1766 new LengthPropertyWrapper(CSSPropertyPaddingLeft, &RenderStyle::paddingLeft, &RenderStyle::setPaddingLeft),1767 new LengthPropertyWrapper(CSSPropertyPaddingRight, &RenderStyle::paddingRight, &RenderStyle::setPaddingRight),1768 new LengthPropertyWrapper(CSSPropertyPaddingTop, &RenderStyle::paddingTop, &RenderStyle::setPaddingTop),1769 new LengthPropertyWrapper(CSSPropertyPaddingBottom, &RenderStyle::paddingBottom, &RenderStyle::setPaddingBottom),1793 new NonNegativeLengthPropertyWrapper(CSSPropertyPaddingLeft, &RenderStyle::paddingLeft, &RenderStyle::setPaddingLeft), 1794 new NonNegativeLengthPropertyWrapper(CSSPropertyPaddingRight, &RenderStyle::paddingRight, &RenderStyle::setPaddingRight), 1795 new NonNegativeLengthPropertyWrapper(CSSPropertyPaddingTop, &RenderStyle::paddingTop, &RenderStyle::setPaddingTop), 1796 new NonNegativeLengthPropertyWrapper(CSSPropertyPaddingBottom, &RenderStyle::paddingBottom, &RenderStyle::setPaddingBottom), 1770 1797 1771 1798 new PropertyWrapperVisitedAffectedColor(CSSPropertyCaretColor, &RenderStyle::caretColor, &RenderStyle::setCaretColor, &RenderStyle::visitedLinkCaretColor, &RenderStyle::setVisitedLinkCaretColor), … … 1845 1872 1846 1873 new PropertyWrapperShape(CSSPropertyShapeOutside, &RenderStyle::shapeOutside, &RenderStyle::setShapeOutside), 1847 new LengthPropertyWrapper(CSSPropertyShapeMargin, &RenderStyle::shapeMargin, &RenderStyle::setShapeMargin),1874 new NonNegativeLengthPropertyWrapper(CSSPropertyShapeMargin, &RenderStyle::shapeMargin, &RenderStyle::setShapeMargin), 1848 1875 new PropertyWrapper<float>(CSSPropertyShapeImageThreshold, &RenderStyle::shapeImageThreshold, &RenderStyle::setShapeImageThreshold), 1849 1876
Note: See TracChangeset
for help on using the changeset viewer.