Changeset 274198 in webkit
- Timestamp:
- Mar 9, 2021 10:20:46 PM (17 months ago)
- Location:
- trunk
- Files:
-
- 5 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/animation/flex-basis-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/animation/flex-basis-interpolation-expected.txt (modified) (10 diffs)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/animation/CSSPropertyAnimation.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r274167 r274198 1 2021-03-09 Antoine Quint <graouts@webkit.org> 2 3 Correctly blend the flex-basis CSS property 4 https://bugs.webkit.org/show_bug.cgi?id=222981 5 6 Reviewed by Dean Jackson. 7 8 Add an extra 14 PASS results. We now pass all the flex-basis interpolation tests. 9 10 * web-platform-tests/css/css-flexbox/animation/flex-basis-composition-expected.txt: 11 * web-platform-tests/css/css-flexbox/animation/flex-basis-interpolation-expected.txt: 12 1 13 2021-03-09 Chris Dumez <cdumez@apple.com> 2 14 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-flexbox/animation/flex-basis-composition-expected.txt
r274038 r274198 9 9 FAIL Compositing: property <flex-basis> 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 <flex-basis> underlying [100px] from add [10px] to add [2px] at (1) should be [102px] assert_equals: expected "102px " but got "2px " 11 FAIL Compositing: property <flex-basis> 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 <flex-basis> 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 <flex-basis> 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 <flex-basis> 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-flexbox/animation/flex-basis-interpolation-expected.txt
r272904 r274198 31 31 PASS CSS Transitions: property <flex-basis> from [initial] to [2%] at (1) should be [2%] 32 32 PASS CSS Transitions: property <flex-basis> from [initial] to [2%] at (1.5) should be [2%] 33 FAIL CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (-0.3) should be [2%] assert_equals: expected "2 % " but got "auto " 34 FAIL CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0) should be [2%] assert_equals: expected "2 % " but got "auto " 35 FAIL CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0.3) should be [2%] assert_equals: expected "2 % " but got "auto " 33 PASS CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (-0.3) should be [2%] 34 PASS CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0) should be [2%] 35 PASS CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0.3) should be [2%] 36 36 PASS CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0.5) should be [2%] 37 37 PASS CSS Transitions with transition: all: property <flex-basis> from [initial] to [2%] at (0.6) should be [2%] … … 83 83 PASS CSS Transitions: property <flex-basis> from [unset] to [2%] at (1) should be [2%] 84 84 PASS CSS Transitions: property <flex-basis> from [unset] to [2%] at (1.5) should be [2%] 85 FAIL CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (-0.3) should be [2%] assert_equals: expected "2 % " but got "auto " 86 FAIL CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0) should be [2%] assert_equals: expected "2 % " but got "auto " 87 FAIL CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0.3) should be [2%] assert_equals: expected "2 % " but got "auto " 85 PASS CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (-0.3) should be [2%] 86 PASS CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0) should be [2%] 87 PASS CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0.3) should be [2%] 88 88 PASS CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0.5) should be [2%] 89 89 PASS CSS Transitions with transition: all: property <flex-basis> from [unset] to [2%] at (0.6) should be [2%] … … 104 104 PASS Web Animations: property <flex-basis> from [unset] to [2%] at (1) should be [2%] 105 105 PASS Web Animations: property <flex-basis> from [unset] to [2%] at (1.5) should be [2%] 106 FAIL CSS Transitions: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 106 PASS CSS Transitions: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] 107 107 PASS CSS Transitions: property <flex-basis> from [0px] to [100px] at (0) should be [0px] 108 108 PASS CSS Transitions: property <flex-basis> from [0px] to [100px] at (0.4) should be [40px] … … 110 110 PASS CSS Transitions: property <flex-basis> from [0px] to [100px] at (1) should be [100px] 111 111 PASS CSS Transitions: property <flex-basis> from [0px] to [100px] at (1.5) should be [150px] 112 FAIL CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 112 PASS CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] 113 113 PASS CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (0) should be [0px] 114 114 PASS CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (0.4) should be [40px] … … 116 116 PASS CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (1) should be [100px] 117 117 PASS CSS Transitions with transition: all: property <flex-basis> from [0px] to [100px] at (1.5) should be [150px] 118 FAIL CSS Animations: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 118 PASS CSS Animations: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] 119 119 PASS CSS Animations: property <flex-basis> from [0px] to [100px] at (0) should be [0px] 120 120 PASS CSS Animations: property <flex-basis> from [0px] to [100px] at (0.4) should be [40px] … … 122 122 PASS CSS Animations: property <flex-basis> from [0px] to [100px] at (1) should be [100px] 123 123 PASS CSS Animations: property <flex-basis> from [0px] to [100px] at (1.5) should be [150px] 124 FAIL Web Animations: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] assert_equals: expected "0px " but got "- 30px " 124 PASS Web Animations: property <flex-basis> from [0px] to [100px] at (-0.3) should be [0px] 125 125 PASS Web Animations: property <flex-basis> from [0px] to [100px] at (0) should be [0px] 126 126 PASS Web Animations: property <flex-basis> from [0px] to [100px] at (0.4) should be [40px] … … 128 128 PASS Web Animations: property <flex-basis> from [0px] to [100px] at (1) should be [100px] 129 129 PASS Web Animations: property <flex-basis> from [0px] to [100px] at (1.5) should be [150px] 130 FAIL CSS Transitions: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] assert_equals: expected "0 % " but got "- 30 % " 130 PASS CSS Transitions: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] 131 131 PASS CSS Transitions: property <flex-basis> from [0%] to [100%] at (0) should be [0%] 132 132 PASS CSS Transitions: property <flex-basis> from [0%] to [100%] at (0.4) should be [40%] … … 134 134 PASS CSS Transitions: property <flex-basis> from [0%] to [100%] at (1) should be [100%] 135 135 PASS CSS Transitions: property <flex-basis> from [0%] to [100%] at (1.5) should be [150%] 136 FAIL CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] assert_equals: expected "0 % " but got "- 30 % " 136 PASS CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] 137 137 PASS CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (0) should be [0%] 138 138 PASS CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (0.4) should be [40%] … … 140 140 PASS CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (1) should be [100%] 141 141 PASS CSS Transitions with transition: all: property <flex-basis> from [0%] to [100%] at (1.5) should be [150%] 142 FAIL CSS Animations: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] assert_equals: expected "0 % " but got "- 30 % " 142 PASS CSS Animations: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] 143 143 PASS CSS Animations: property <flex-basis> from [0%] to [100%] at (0) should be [0%] 144 144 PASS CSS Animations: property <flex-basis> from [0%] to [100%] at (0.4) should be [40%] … … 146 146 PASS CSS Animations: property <flex-basis> from [0%] to [100%] at (1) should be [100%] 147 147 PASS CSS Animations: property <flex-basis> from [0%] to [100%] at (1.5) should be [150%] 148 FAIL Web Animations: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] assert_equals: expected "0 % " but got "- 30 % " 148 PASS Web Animations: property <flex-basis> from [0%] to [100%] at (-0.3) should be [0%] 149 149 PASS Web Animations: property <flex-basis> from [0%] to [100%] at (0) should be [0%] 150 150 PASS Web Animations: property <flex-basis> from [0%] to [100%] at (0.4) should be [40%] -
trunk/Source/WebCore/ChangeLog
r274197 r274198 1 2021-03-09 Antoine Quint <graouts@webkit.org> 2 3 Correctly blend the flex-basis CSS property 4 https://bugs.webkit.org/show_bug.cgi?id=222981 5 6 Reviewed by Dean Jackson. 7 8 To correctly support blending of flex-basis we must ensure that negative values aren't 9 allowed but also ensure that "flex" doesn't interpolate if flex-basis can't either. 10 11 * animation/CSSPropertyAnimation.cpp: 12 (WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): 13 1 14 2021-03-09 Alex Christensen <achristensen@webkit.org> 2 15 -
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp
r274147 r274198 1573 1573 } 1574 1574 1575 bool canInterpolate(const RenderStyle* a, const RenderStyle* b) const override 1576 { 1577 return a->flexGrow() != b->flexGrow() && a->flexShrink() != b->flexShrink() && canInterpolateLengths(a->flexBasis(), b->flexBasis(), false); 1578 } 1579 1575 1580 void blend(const CSSPropertyBlendingClient* anim, RenderStyle* dst, const RenderStyle* a, const RenderStyle* b, double progress) const override 1576 1581 { … … 1969 1974 new PropertyWrapperVisitedAffectedColor(CSSPropertyTextDecorationColor, &RenderStyle::textDecorationColor, &RenderStyle::setTextDecorationColor, &RenderStyle::visitedLinkTextDecorationColor, &RenderStyle::setVisitedLinkTextDecorationColor), 1970 1975 1971 new LengthPropertyWrapper(CSSPropertyFlexBasis, &RenderStyle::flexBasis, &RenderStyle::setFlexBasis ),1976 new LengthPropertyWrapper(CSSPropertyFlexBasis, &RenderStyle::flexBasis, &RenderStyle::setFlexBasis, { LengthPropertyWrapper::Flags::NegativeLengthsAreInvalid }), 1972 1977 new NonNegativeFloatPropertyWrapper(CSSPropertyFlexGrow, &RenderStyle::flexGrow, &RenderStyle::setFlexGrow), 1973 1978 new NonNegativeFloatPropertyWrapper(CSSPropertyFlexShrink, &RenderStyle::flexShrink, &RenderStyle::setFlexShrink),
Note: See TracChangeset
for help on using the changeset viewer.