Changeset 284437 in webkit
- Timestamp:
- Oct 18, 2021 11:45:59 PM (9 months ago)
- Location:
- trunk
- Files:
-
- 2 added
- 23 edited
-
LayoutTests/imported/w3c/ChangeLog (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc-expected.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc.html (added)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt (modified) (1 diff)
-
LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html (modified) (1 diff)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/animation/CSSPropertyAnimation.cpp (modified) (2 diffs)
-
Source/WebCore/css/CSSComputedStyleDeclaration.cpp (modified) (1 diff)
-
Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp (modified) (5 diffs)
-
Source/WebCore/editing/Editor.cpp (modified) (1 diff)
-
Source/WebCore/platform/LengthPoint.h (modified) (1 diff)
-
Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm (modified) (2 diffs)
-
Source/WebCore/rendering/LegacyEllipsisBox.cpp (modified) (1 diff)
-
Source/WebCore/rendering/RenderBoxModelObject.cpp (modified) (3 diffs)
-
Source/WebCore/rendering/TextBoxPainter.cpp (modified) (1 diff)
-
Source/WebCore/rendering/TextDecorationPainter.cpp (modified) (3 diffs)
-
Source/WebCore/rendering/TextPainter.cpp (modified) (3 diffs)
-
Source/WebCore/rendering/style/RenderStyle.cpp (modified) (5 diffs)
-
Source/WebCore/rendering/style/ShadowData.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/style/ShadowData.h (modified) (5 diffs)
-
Source/WebCore/style/StyleBuilderCustom.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/imported/w3c/ChangeLog
r284436 r284437 1 2021-10-18 Antoine Quint <graouts@webkit.org> 2 3 box-shadow and text-shadow do not yield float values while interpolating 4 https://bugs.webkit.org/show_bug.cgi?id=230347 5 <rdar://problem/83319111> 6 7 Reviewed by Simon Fraser. 8 9 Add some new WPT tests for float and calc() values for box-shadow and text-shadow while 10 interpolating and update output for still-failing composite operations tests. The new tests 11 have already landed in WPT with https://github.com/web-platform-tests/wpt/pull/30823. 12 13 * web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt: 14 * web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt: 15 * web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html: 16 * web-platform-tests/css/css-backgrounds/box-shadow-calc-expected.html: Added. 17 * web-platform-tests/css/css-backgrounds/box-shadow-calc.html: Added. 18 * web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt: 19 * web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt: 20 * web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html: 21 1 22 2021-10-18 Cameron McCormack <heycam@apple.com> 2 23 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-composition-expected.txt
r282826 r284437 25 25 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px inset " 26 26 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(100, 100, 100) 10px 20px 30px 40px inset] to add [rgb(200, 200, 200) 20px 40px 60px 80px, rgb(200, 200, 200) 20px 40px 60px 80px inset] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(250, 250, 250) 25px 50px 75px 100px, rgb(250, 250, 250) 25px 50px 75px 100px inset] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px inset " 27 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(130, 130, 130) 13px 26px 39px 52px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4. 69px - 9.39px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px 10.39px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "27 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(130, 130, 130) 13px 26px 39px 52px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.7px - 9.4px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.6px 5.2px 7.8px 10.4px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px " 28 28 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(100, 100, 100) 10px 20px 30px 40px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px " 29 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31 px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "29 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31.5px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px " 30 30 PASS Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px 80px] 31 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -5px -10px 0px -20px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88 px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px "32 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(127, 124, 121) 12.7px 25.4px 38.1px 50.8px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px -2.4px, rgba(0, 0, 0, 0) -6px -12px 0px -24px] assert_equals: expected "rgb ( 127 , 124 , 121 ) 12. 69px 25.39px 38px 50.8px , rgba ( 0 , 0 , 0 , 0 ) - 0.59px - 1.19px 0px - 2.39px , rgba ( 0 , 0 , 0 , 0 ) - 6px - 12px 0px - 24px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px "31 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from add [rgb(100, 100, 100) 10px 20px 30px 40px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -5px -10px 0px -20px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88.5px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px " 32 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(127, 124, 121) 12.7px 25.4px 38.1px 50.8px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px -2.4px, rgba(0, 0, 0, 0) -6px -12px 0px -24px] assert_equals: expected "rgb ( 127 , 124 , 121 ) 12.7px 25.4px 38.1px 50.8px , rgba ( 0 , 0 , 0 , 0 ) - 0.6px - 1.2px 0px - 2.4px , rgba ( 0 , 0 , 0 , 0 ) - 6px - 12px 0px - 24px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px " 33 33 PASS Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(100, 100, 100) 10px 20px 30px 40px] 34 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(55, 60, 65) 5.5px 11px 16.5px 22px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 55 , 60 , 65 ) 5.5px 11px 16 px 22px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px "34 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(55, 60, 65) 5.5px 11px 16.5px 22px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 55 , 60 , 65 ) 5.5px 11px 16.5px 22px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px " 35 35 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " 36 36 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px] from replace [rgb(100, 100, 100) 10px 20px 30px 40px] to add [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(0, 0, 0) -3.5px -7px 0px -14px, rgb(30, 60, 90) 3px 6px 9px 12px, rgb(255, 255, 255) 30px 60px 90px 120px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 3.5px - 7px 0px - 14px , rgb ( 30 , 60 , 90 ) 3px 6px 9px 12px , rgb ( 255 , 255 , 255 ) 30px 60px 90px 120px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px " 37 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(52, 104, 156) 5.2px 10.4px 15.6px 20.8px, rgb(130, 130, 130) 13px 26px 39px 52px, rgb(255, 255, 255) 26px 52px 78px 104px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4. 69px - 9.39px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px 10.39px , rgb ( 52 , 104 , 156 ) 5.19px 10.39px 15px 20.8px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px "37 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px -18.8px, rgb(26, 52, 78) 2.6px 5.2px 7.8px 10.4px, rgb(52, 104, 156) 5.2px 10.4px 15.6px 20.8px, rgb(130, 130, 130) 13px 26px 39px 52px, rgb(255, 255, 255) 26px 52px 78px 104px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.7px - 9.4px 0px - 18.8px , rgb ( 26 , 52 , 78 ) 2.6px 5.2px 7.8px 10.4px , rgb ( 52 , 104 , 156 ) 5.2px 10.4px 15.6px 20.8px , rgb ( 130 , 130 , 130 ) 13px 26px 39px 52px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px 28px , rgb ( 255 , 255 , 255 ) 26px 52px 78px 104px " 38 38 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px, rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px 4px , rgb ( 20 , 40 , 60 ) 2px 4px 6px 8px , rgb ( 40 , 80 , 120 ) 4px 8px 12px 16px , rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px 40px , rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " 39 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(40, 80, 120, 0.5) 2px 4px 6px 8px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31 px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 40 , 80 , 120 , 0.5 ) 2px 4px 6px 8px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px "39 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px 42px, rgba(20, 40, 60, 0.5) 1px 2px 3px 4px, rgba(40, 80, 120, 0.5) 2px 4px 6px 8px, rgba(100, 100, 100, 0.5) 5px 10px 15px 20px, rgba(200, 200, 200, 0.5) 10px 20px 30px 40px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31.5px 42px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px 4px , rgba ( 40 , 80 , 120 , 0.5 ) 2px 4px 6px 8px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px 20px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px 60px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px 40px " 40 40 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px 80px] assert_equals: expected "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px 80px , rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px 0px " 41 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -2px -4px 0px -8px, rgba(0, 0, 0, 0) -5px -10px 0px -20px, rgba(0, 0, 0, 0) -10px -20px 0px -40px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88 px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 2px - 4px 0px - 8px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px - 40px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px - 40px "41 FAIL Compositing: property <box-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px 4px, rgb(20, 40, 60) 2px 4px 6px 8px, rgb(40, 80, 120) 4px 8px 12px 16px] from add [rgb(100, 100, 100) 10px 20px 30px 40px, rgb(200, 200, 200) 20px 40px 60px 80px] to replace [rgb(200, 200, 200) 20px 40px 60px 80px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px 118px, rgba(0, 0, 0, 0) -1px -2px 0px -4px, rgba(0, 0, 0, 0) -2px -4px 0px -8px, rgba(0, 0, 0, 0) -5px -10px 0px -20px, rgba(0, 0, 0, 0) -10px -20px 0px -40px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88.5px 118px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px - 4px , rgba ( 0 , 0 , 0 , 0 ) - 2px - 4px 0px - 8px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px - 20px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px - 40px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px 100px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px - 40px " 42 42 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation-expected.txt
r282826 r284437 120 120 PASS Web Animations: property <box-shadow> from [15px 10px 5px 6px black] to [-15px -10px 25px -4px orange] at (1) should be [rgb(255, 165, 0) -15px -10px 25px -4px] 121 121 PASS Web Animations: property <box-shadow> from [15px 10px 5px 6px black] to [-15px -10px 25px -4px orange] at (1.5) should be [rgb(255, 248, 0) -30px -20px 35px -9px] 122 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px] 123 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 124 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px] 125 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px] 126 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px] 127 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px] 128 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px] 129 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 130 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px] 131 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px] 132 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px] 133 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px] 134 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px] 135 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 136 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px] 137 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px] 138 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px] 139 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px] 140 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px] 141 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 142 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px] 143 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px] 144 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1) should be [rgb(0, 0, 0) 1px 1px 1px 1px] 145 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [1px 1px 1px 1px black] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px] 146 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (-0.3) should be [rgb(0, 0, 0) -3.9px -3.9px 0px -3.9px] 147 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 148 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.3) should be [rgb(0, 0, 0) 3.9px 3.9px 3.9px 3.9px] 149 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.6) should be [rgb(0, 0, 0) 7.8px 7.8px 7.8px 7.8px] 150 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1) should be [rgb(0, 0, 0) 13px 13px 13px 13px] 151 PASS CSS Transitions: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1.5) should be [rgb(0, 0, 0) 19.5px 19.5px 19.5px 19.5px] 152 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (-0.3) should be [rgb(0, 0, 0) -3.9px -3.9px 0px -3.9px] 153 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 154 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.3) should be [rgb(0, 0, 0) 3.9px 3.9px 3.9px 3.9px] 155 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.6) should be [rgb(0, 0, 0) 7.8px 7.8px 7.8px 7.8px] 156 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1) should be [rgb(0, 0, 0) 13px 13px 13px 13px] 157 PASS CSS Transitions with transition: all: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1.5) should be [rgb(0, 0, 0) 19.5px 19.5px 19.5px 19.5px] 158 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (-0.3) should be [rgb(0, 0, 0) -3.9px -3.9px 0px -3.9px] 159 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 160 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.3) should be [rgb(0, 0, 0) 3.9px 3.9px 3.9px 3.9px] 161 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.6) should be [rgb(0, 0, 0) 7.8px 7.8px 7.8px 7.8px] 162 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1) should be [rgb(0, 0, 0) 13px 13px 13px 13px] 163 PASS CSS Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1.5) should be [rgb(0, 0, 0) 19.5px 19.5px 19.5px 19.5px] 164 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (-0.3) should be [rgb(0, 0, 0) -3.9px -3.9px 0px -3.9px] 165 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0) should be [rgb(0, 0, 0) 0px 0px 0px 0px] 166 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.3) should be [rgb(0, 0, 0) 3.9px 3.9px 3.9px 3.9px] 167 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (0.6) should be [rgb(0, 0, 0) 7.8px 7.8px 7.8px 7.8px] 168 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1) should be [rgb(0, 0, 0) 13px 13px 13px 13px] 169 PASS Web Animations: property <box-shadow> from [0px 0px 0px 0px black] to [calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black] at (1.5) should be [rgb(0, 0, 0) 19.5px 19.5px 19.5px 19.5px] 122 170 PASS CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px] to [orange -15px -10px 25px -4px] at (-0.3) should be [rgb(0, 0, 0) 24px 16px 0px 9px] 123 171 PASS CSS Transitions: property <box-shadow> from [black 15px 10px 5px 6px] to [orange -15px -10px 25px -4px] at (0) should be [rgb(0, 0, 0) 15px 10px 5px 6px] -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-backgrounds/animations/box-shadow-interpolation.html
r282826 r284437 95 95 ]); 96 96 97 test_interpolation({ 98 property: 'box-shadow', 99 from: '0px 0px 0px 0px black', 100 to: '1px 1px 1px 1px black', 101 }, [ 102 {at: -0.3, expect: 'rgb(0, 0, 0) -0.3px -0.3px 0px -0.3px'}, 103 {at: 0, expect: 'rgb(0, 0, 0) 0px 0px 0px 0px'}, 104 {at: 0.3, expect: 'rgb(0, 0, 0) 0.3px 0.3px 0.3px 0.3px'}, 105 {at: 0.6, expect: 'rgb(0, 0, 0) 0.6px 0.6px 0.6px 0.6px'}, 106 {at: 1, expect: 'rgb(0, 0, 0) 1px 1px 1px 1px'}, 107 {at: 1.5, expect: 'rgb(0, 0, 0) 1.5px 1.5px 1.5px 1.5px'}, 108 ]); 109 110 test_interpolation({ 111 property: 'box-shadow', 112 from: '0px 0px 0px 0px black', 113 to: 'calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) calc(1em + 10px) black', 114 }, [ 115 {at: -0.3, expect: 'rgb(0, 0, 0) -3.9px -3.9px 0px -3.9px'}, 116 {at: 0, expect: 'rgb(0, 0, 0) 0px 0px 0px 0px'}, 117 {at: 0.3, expect: 'rgb(0, 0, 0) 3.9px 3.9px 3.9px 3.9px'}, 118 {at: 0.6, expect: 'rgb(0, 0, 0) 7.8px 7.8px 7.8px 7.8px'}, 119 {at: 1, expect: 'rgb(0, 0, 0) 13px 13px 13px 13px'}, 120 {at: 1.5, expect: 'rgb(0, 0, 0) 19.5px 19.5px 19.5px 19.5px'}, 121 ]); 122 97 123 // Test with color as first value. 98 124 test_interpolation({ -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-composition-expected.txt
r282826 r284437 15 15 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(200, 200, 200) 20px 40px 60px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px , rgb ( 20 , 40 , 60 ) 2px 4px 6px , rgb ( 200 , 200 , 200 ) 20px 40px 60px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px " 16 16 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(250, 250, 250) 25px 50px 75px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px , rgb ( 20 , 40 , 60 ) 2px 4px 6px , rgb ( 250 , 250 , 250 ) 25px 50px 75px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px " 17 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px, rgb(26, 52, 78) 2.6px 5.2px 7.8px, rgb(130, 130, 130) 13px 26px 39px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4. 69px - 9.39px 0px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px , rgb ( 130 , 130 , 130 ) 13px 26px 39px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px "17 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px, rgb(26, 52, 78) 2.6px 5.2px 7.8px, rgb(130, 130, 130) 13px 26px 39px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.7px - 9.4px 0px , rgb ( 26 , 52 , 78 ) 2.6px 5.2px 7.8px , rgb ( 130 , 130 , 130 ) 13px 26px 39px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px " 18 18 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(100, 100, 100) 10px 20px 30px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px , rgb ( 20 , 40 , 60 ) 2px 4px 6px , rgb ( 100 , 100 , 100 ) 10px 20px 30px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px " 19 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(100, 100, 100, 0.5) 5px 10px 15px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31 px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px "19 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(100, 100, 100, 0.5) 5px 10px 15px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31.5px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px " 20 20 PASS Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px] 21 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px, rgba(0, 0, 0, 0) -1px -2px 0px, rgba(0, 0, 0, 0) -5px -10px 0px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88 px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px "22 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(127, 124, 121) 12.7px 25.4px 38.1px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px, rgba(0, 0, 0, 0) -6px -12px 0px] assert_equals: expected "rgb ( 127 , 124 , 121 ) 12. 69px 25.39px 38px , rgba ( 0 , 0 , 0 , 0 ) - 0.59px - 1.19px 0px , rgba ( 0 , 0 , 0 , 0 ) - 6px - 12px 0px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px "21 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from add [rgb(100, 100, 100) 10px 20px 30px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px, rgba(0, 0, 0, 0) -1px -2px 0px, rgba(0, 0, 0, 0) -5px -10px 0px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88.5px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px " 22 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(127, 124, 121) 12.7px 25.4px 38.1px, rgba(0, 0, 0, 0) -0.6px -1.2px 0px, rgba(0, 0, 0, 0) -6px -12px 0px] assert_equals: expected "rgb ( 127 , 124 , 121 ) 12.7px 25.4px 38.1px , rgba ( 0 , 0 , 0 , 0 ) - 0.6px - 1.2px 0px , rgba ( 0 , 0 , 0 , 0 ) - 6px - 12px 0px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px " 23 23 PASS Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (0) should be [rgb(100, 100, 100) 10px 20px 30px] 24 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(55, 60, 65) 5.5px 11px 16.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(200, 200, 200, 0.5) 10px 20px 30px] assert_equals: expected "rgb ( 55 , 60 , 65 ) 5.5px 11px 16 px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px "24 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(55, 60, 65) 5.5px 11px 16.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(200, 200, 200, 0.5) 10px 20px 30px] assert_equals: expected "rgb ( 55 , 60 , 65 ) 5.5px 11px 16.5px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px " 25 25 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (1) should be [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(200, 200, 200) 20px 40px 60px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px , rgb ( 20 , 40 , 60 ) 2px 4px 6px , rgb ( 200 , 200 , 200 ) 20px 40px 60px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px " 26 26 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px] from replace [rgb(100, 100, 100) 10px 20px 30px] to add [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(0, 0, 0) -3.5px -7px 0px, rgb(30, 60, 90) 3px 6px 9px, rgb(255, 255, 255) 30px 60px 90px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 3.5px - 7px 0px , rgb ( 30 , 60 , 90 ) 3px 6px 9px , rgb ( 255 , 255 , 255 ) 30px 60px 90px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px " 27 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px, rgb(26, 52, 78) 2.6px 5.2px 7.8px, rgb(52, 104, 156) 5.2px 10.4px 15.6px, rgb(130, 130, 130) 13px 26px 39px, rgb(255, 255, 255) 26px 52px 78px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4. 69px - 9.39px 0px , rgb ( 26 , 52 , 78 ) 2.59px 5.19px 7px , rgb ( 52 , 104 , 156 ) 5.19px 10.39px 15px , rgb ( 130 , 130 , 130 ) 13px 26px 39px , rgb ( 255 , 255 , 255 ) 26px 52px 78px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px , rgb ( 255 , 255 , 255 ) 26px 52px 78px "27 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (-0.3) should be [rgb(0, 0, 0) -4.7px -9.4px 0px, rgb(26, 52, 78) 2.6px 5.2px 7.8px, rgb(52, 104, 156) 5.2px 10.4px 15.6px, rgb(130, 130, 130) 13px 26px 39px, rgb(255, 255, 255) 26px 52px 78px] assert_equals: expected "rgb ( 0 , 0 , 0 ) - 4.7px - 9.4px 0px , rgb ( 26 , 52 , 78 ) 2.6px 5.2px 7.8px , rgb ( 52 , 104 , 156 ) 5.2px 10.4px 15.6px , rgb ( 130 , 130 , 130 ) 13px 26px 39px , rgb ( 255 , 255 , 255 ) 26px 52px 78px " but got "rgb ( 70 , 70 , 70 ) 7px 14px 21px , rgb ( 255 , 255 , 255 ) 26px 52px 78px " 28 28 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0) should be [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px, rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] assert_equals: expected "rgb ( 10 , 20 , 30 ) 1px 2px 3px , rgb ( 20 , 40 , 60 ) 2px 4px 6px , rgb ( 40 , 80 , 120 ) 4px 8px 12px , rgb ( 100 , 100 , 100 ) 10px 20px 30px , rgb ( 200 , 200 , 200 ) 20px 40px 60px " but got "rgb ( 100 , 100 , 100 ) 10px 20px 30px , rgb ( 200 , 200 , 200 ) 20px 40px 60px " 29 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(40, 80, 120, 0.5) 2px 4px 6px, rgba(100, 100, 100, 0.5) 5px 10px 15px, rgba(200, 200, 200, 0.5) 10px 20px 30px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31 px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 40 , 80 , 120 , 0.5 ) 2px 4px 6px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px "29 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (0.5) should be [rgb(105, 110, 115) 10.5px 21px 31.5px, rgba(20, 40, 60, 0.5) 1px 2px 3px, rgba(40, 80, 120, 0.5) 2px 4px 6px, rgba(100, 100, 100, 0.5) 5px 10px 15px, rgba(200, 200, 200, 0.5) 10px 20px 30px] assert_equals: expected "rgb ( 105 , 110 , 115 ) 10.5px 21px 31.5px , rgba ( 20 , 40 , 60 , 0.5 ) 1px 2px 3px , rgba ( 40 , 80 , 120 , 0.5 ) 2px 4px 6px , rgba ( 100 , 100 , 100 , 0.5 ) 5px 10px 15px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px " but got "rgb ( 150 , 150 , 150 ) 15px 30px 45px , rgba ( 200 , 200 , 200 , 0.5 ) 10px 20px 30px " 30 30 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1) should be [rgb(200, 200, 200) 20px 40px 60px] assert_equals: expected "rgb ( 200 , 200 , 200 ) 20px 40px 60px " but got "rgb ( 200 , 200 , 200 ) 20px 40px 60px , rgba ( 0 , 0 , 0 , 0 ) 0px 0px 0px " 31 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px, rgba(0, 0, 0, 0) -1px -2px 0px, rgba(0, 0, 0, 0) -2px -4px 0px, rgba(0, 0, 0, 0) -5px -10px 0px, rgba(0, 0, 0, 0) -10px -20px 0px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88 px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px , rgba ( 0 , 0 , 0 , 0 ) - 2px - 4px 0px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px "31 FAIL Compositing: property <text-shadow> underlying [rgb(10, 20, 30) 1px 2px 3px, rgb(20, 40, 60) 2px 4px 6px, rgb(40, 80, 120) 4px 8px 12px] from add [rgb(100, 100, 100) 10px 20px 30px, rgb(200, 200, 200) 20px 40px 60px] to replace [rgb(200, 200, 200) 20px 40px 60px] at (1.5) should be [rgb(255, 255, 255) 29.5px 59px 88.5px, rgba(0, 0, 0, 0) -1px -2px 0px, rgba(0, 0, 0, 0) -2px -4px 0px, rgba(0, 0, 0, 0) -5px -10px 0px, rgba(0, 0, 0, 0) -10px -20px 0px] assert_equals: expected "rgb ( 255 , 255 , 255 ) 29.5px 59px 88.5px , rgba ( 0 , 0 , 0 , 0 ) - 1px - 2px 0px , rgba ( 0 , 0 , 0 , 0 ) - 2px - 4px 0px , rgba ( 0 , 0 , 0 , 0 ) - 5px - 10px 0px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px " but got "rgb ( 250 , 250 , 250 ) 25px 50px 75px , rgba ( 0 , 0 , 0 , 0 ) - 10px - 20px 0px " 32 32 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation-expected.txt
r282826 r284437 144 144 PASS Web Animations: property <text-shadow> from [black 10px 10px 10px] to [currentColor 10px 10px 10px] at (1) should be [rgb(0, 128, 0) 10px 10px 10px] 145 145 PASS Web Animations: property <text-shadow> from [black 10px 10px 10px] to [currentColor 10px 10px 10px] at (1.5) should be [rgb(0, 192, 0) 10px 10px 10px] 146 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px] 147 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 148 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px] 149 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px] 150 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1) should be [rgb(0, 0, 0) 1px 1px 1px] 151 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px] 152 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px] 153 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 154 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px] 155 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px] 156 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1) should be [rgb(0, 0, 0) 1px 1px 1px] 157 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px] 158 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px] 159 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 160 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px] 161 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px] 162 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1) should be [rgb(0, 0, 0) 1px 1px 1px] 163 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px] 164 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (-0.3) should be [rgb(0, 0, 0) -0.3px -0.3px 0px] 165 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 166 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.3) should be [rgb(0, 0, 0) 0.3px 0.3px 0.3px] 167 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (0.6) should be [rgb(0, 0, 0) 0.6px 0.6px 0.6px] 168 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1) should be [rgb(0, 0, 0) 1px 1px 1px] 169 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black 1px 1px 1px] at (1.5) should be [rgb(0, 0, 0) 1.5px 1.5px 1.5px] 170 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (-0.3) should be [rgb(0, 0, 0) -27px -27px 0px] 171 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 172 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.3) should be [rgb(0, 0, 0) 27px 27px 27px] 173 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.6) should be [rgb(0, 0, 0) 54px 54px 54px] 174 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1) should be [rgb(0, 0, 0) 90px 90px 90px] 175 PASS CSS Transitions: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1.5) should be [rgb(0, 0, 0) 135px 135px 135px] 176 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (-0.3) should be [rgb(0, 0, 0) -27px -27px 0px] 177 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 178 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.3) should be [rgb(0, 0, 0) 27px 27px 27px] 179 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.6) should be [rgb(0, 0, 0) 54px 54px 54px] 180 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1) should be [rgb(0, 0, 0) 90px 90px 90px] 181 PASS CSS Transitions with transition: all: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1.5) should be [rgb(0, 0, 0) 135px 135px 135px] 182 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (-0.3) should be [rgb(0, 0, 0) -27px -27px 0px] 183 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 184 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.3) should be [rgb(0, 0, 0) 27px 27px 27px] 185 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.6) should be [rgb(0, 0, 0) 54px 54px 54px] 186 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1) should be [rgb(0, 0, 0) 90px 90px 90px] 187 PASS CSS Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1.5) should be [rgb(0, 0, 0) 135px 135px 135px] 188 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (-0.3) should be [rgb(0, 0, 0) -27px -27px 0px] 189 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0) should be [rgb(0, 0, 0) 0px 0px 0px] 190 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.3) should be [rgb(0, 0, 0) 27px 27px 27px] 191 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (0.6) should be [rgb(0, 0, 0) 54px 54px 54px] 192 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1) should be [rgb(0, 0, 0) 90px 90px 90px] 193 PASS Web Animations: property <text-shadow> from [black 0px 0px 0px] to [black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)] at (1.5) should be [rgb(0, 0, 0) 135px 135px 135px] 146 194 -
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-transitions/animations/text-shadow-interpolation.html
r282826 r284437 107 107 {at: 1.5, expect: 'rgb(0, 192, 0) 10px 10px 10px'}, 108 108 ]); 109 110 test_interpolation({ 111 property: 'text-shadow', 112 from: 'black 0px 0px 0px', 113 to: 'black 1px 1px 1px', 114 }, [ 115 {at: -0.3, expect: 'rgb(0, 0, 0) -0.3px -0.3px 0px'}, 116 {at: 0, expect: 'rgb(0, 0, 0) 0px 0px 0px'}, 117 {at: 0.3, expect: 'rgb(0, 0, 0) 0.3px 0.3px 0.3px'}, 118 {at: 0.6, expect: 'rgb(0, 0, 0) 0.6px 0.6px 0.6px'}, 119 {at: 1, expect: 'rgb(0, 0, 0) 1px 1px 1px'}, 120 {at: 1.5, expect: 'rgb(0, 0, 0) 1.5px 1.5px 1.5px'}, 121 ]); 122 123 test_interpolation({ 124 property: 'text-shadow', 125 from: 'black 0px 0px 0px', 126 to: 'black calc(1em + 10px) calc(1em + 10px) calc(1em + 10px)', 127 }, [ 128 {at: -0.3, expect: 'rgb(0, 0, 0) -27px -27px 0px'}, 129 {at: 0, expect: 'rgb(0, 0, 0) 0px 0px 0px'}, 130 {at: 0.3, expect: 'rgb(0, 0, 0) 27px 27px 27px'}, 131 {at: 0.6, expect: 'rgb(0, 0, 0) 54px 54px 54px'}, 132 {at: 1, expect: 'rgb(0, 0, 0) 90px 90px 90px'}, 133 {at: 1.5, expect: 'rgb(0, 0, 0) 135px 135px 135px'}, 134 ]); 109 135 </script> 110 136 </body> -
trunk/Source/WebCore/ChangeLog
r284436 r284437 1 2021-10-18 Antoine Quint <graouts@webkit.org> 2 3 box-shadow and text-shadow do not yield float values while interpolating 4 https://bugs.webkit.org/show_bug.cgi?id=230347 5 <rdar://problem/83319111> 6 7 Reviewed by Simon Fraser. 8 9 ShadowData members used integer values rather than floats and thus could not represent 10 float values while interpolating. We now use float values. 11 12 Test: imported/w3c/web-platform-tests/css/css-backgrounds/box-shadow-calc.html 13 14 * animation/CSSPropertyAnimation.cpp: 15 (WebCore::blendFunc): 16 (WebCore::shadowForBlending): 17 * css/CSSComputedStyleDeclaration.cpp: 18 (WebCore::ComputedStyleExtractor::valueForFilter): 19 * display/css/DisplayBoxDecorationPainter.cpp: 20 (WebCore::Display::BoxDecorationPainter::paintBoxShadow const): 21 * editing/Editor.cpp: 22 (WebCore::Editor::fontAttributesAtSelectionStart): 23 * platform/LengthPoint.h: 24 (WebCore::LengthPoint::isZero const): 25 * platform/mac/WebCoreNSFontManagerExtras.mm: 26 (WebCore::computedFontAttributeChanges): 27 * rendering/LegacyEllipsisBox.cpp: 28 (WebCore::LegacyEllipsisBox::paint): 29 * rendering/RenderBoxModelObject.cpp: 30 (WebCore::applyBoxShadowForBackground): 31 (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const): 32 (WebCore::RenderBoxModelObject::paintBoxShadow): 33 * rendering/TextBoxPainter.cpp: 34 (WebCore::TextBoxPainter::debugTextShadow const): 35 * rendering/TextDecorationPainter.cpp: 36 (WebCore::TextDecorationPainter::paintTextDecoration): 37 * rendering/TextPainter.cpp: 38 (WebCore::ShadowApplier::shadowIsCompletelyCoveredByText): 39 * rendering/style/RenderStyle.cpp: 40 (WebCore::RenderStyle::setTextShadow): 41 (WebCore::RenderStyle::shadowExtent): 42 (WebCore::RenderStyle::shadowInsetExtent): 43 (WebCore::RenderStyle::getShadowHorizontalExtent): 44 (WebCore::RenderStyle::getShadowVerticalExtent): 45 * rendering/style/ShadowData.cpp: 46 (WebCore::ShadowData::ShadowData): 47 (WebCore::calculateShadowExtent): 48 * rendering/style/ShadowData.h: 49 (WebCore::ShadowData::ShadowData): 50 (WebCore::ShadowData::x const): 51 (WebCore::ShadowData::y const): 52 (WebCore::ShadowData::location const): 53 (WebCore::ShadowData::radius const): 54 (WebCore::ShadowData::paintingExtent const): 55 (WebCore::ShadowData::spread const): 56 * style/StyleBuilderCustom.h: 57 (WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue): 58 1 59 2021-10-18 Cameron McCormack <heycam@apple.com> 2 60 -
trunk/Source/WebCore/animation/CSSPropertyAnimation.cpp
r284361 r284437 149 149 150 150 return makeUnique<ShadowData>(blend(from->location(), to->location(), context), 151 std::max(0, blend(from->radius(), to->radius(), context)),151 blend(from->radius(), to->radius(), context, ValueRange::NonNegative), 152 152 blend(from->spread(), to->spread(), context), 153 153 blendFunc(from->style(), to->style(), context), … … 1213 1213 static inline const ShadowData* shadowForBlending(const ShadowData* srcShadow, const ShadowData* otherShadow) 1214 1214 { 1215 static NeverDestroyed<ShadowData> defaultShadowData(L ayoutPoint(), 0, 0, ShadowStyle::Normal, false, Color::transparentBlack);1216 static NeverDestroyed<ShadowData> defaultInsetShadowData(L ayoutPoint(), 0, 0, ShadowStyle::Inset, false, Color::transparentBlack);1217 static NeverDestroyed<ShadowData> defaultWebKitBoxShadowData(L ayoutPoint(), 0, 0, ShadowStyle::Normal, true, Color::transparentBlack);1218 static NeverDestroyed<ShadowData> defaultInsetWebKitBoxShadowData(L ayoutPoint(), 0, 0, ShadowStyle::Inset, true, Color::transparentBlack);1215 static NeverDestroyed<ShadowData> defaultShadowData(LengthPoint(Length(LengthType::Fixed), Length(LengthType::Fixed)), Length(LengthType::Fixed), Length(LengthType::Fixed), ShadowStyle::Normal, false, Color::transparentBlack); 1216 static NeverDestroyed<ShadowData> defaultInsetShadowData(LengthPoint(Length(LengthType::Fixed), Length(LengthType::Fixed)), Length(LengthType::Fixed), Length(LengthType::Fixed), ShadowStyle::Inset, false, Color::transparentBlack); 1217 static NeverDestroyed<ShadowData> defaultWebKitBoxShadowData(LengthPoint(Length(LengthType::Fixed), Length(LengthType::Fixed)), Length(LengthType::Fixed), Length(LengthType::Fixed), ShadowStyle::Normal, true, Color::transparentBlack); 1218 static NeverDestroyed<ShadowData> defaultInsetWebKitBoxShadowData(LengthPoint(Length(LengthType::Fixed), Length(LengthType::Fixed)), Length(LengthType::Fixed), Length(LengthType::Fixed), ShadowStyle::Inset, true, Color::transparentBlack); 1219 1219 1220 1220 if (srcShadow) -
trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
r284361 r284437 800 800 filterValue = CSSFunctionValue::create(CSSValueDropShadow); 801 801 // We want our computed style to look like that of a text shadow (has neither spread nor inset style). 802 ShadowData shadowData = ShadowData( dropShadowOperation.location(), dropShadowOperation.stdDeviation(), 0, ShadowStyle::Normal, false, dropShadowOperation.color());802 ShadowData shadowData = ShadowData({ Length(dropShadowOperation.location().x(), LengthType::Fixed), Length(dropShadowOperation.location().y(), LengthType::Fixed) }, Length(dropShadowOperation.stdDeviation(), LengthType::Fixed), Length(0, LengthType::Fixed), ShadowStyle::Normal, false, dropShadowOperation.color()); 803 803 filterValue->append(valueForShadow(&shadowData, CSSPropertyTextShadow, style, adjust)); 804 804 break; -
trunk/Source/WebCore/display/css/DisplayBoxDecorationPainter.cpp
r282826 r284437 1269 1269 auto paintNormalShadow = [&](const ShadowData& shadow) { 1270 1270 // FIXME: Snapping here isn't ideal. It would be better to compute a rect which is border rect + offset + spread, and snap that at tree building time. 1271 auto shadowOffset = roundSizeToDevicePixels({ shadow.x() , shadow.y() }, paintingContext.deviceScaleFactor);1271 auto shadowOffset = roundSizeToDevicePixels({ shadow.x().value(), shadow.y().value() }, paintingContext.deviceScaleFactor); 1272 1272 float shadowPaintingExtent = ceilToDevicePixel(shadow.paintingExtent(), paintingContext.deviceScaleFactor); 1273 float shadowSpread = roundToDevicePixel(shadow.spread() , paintingContext.deviceScaleFactor);1274 intshadowRadius = shadow.radius();1273 float shadowSpread = roundToDevicePixel(shadow.spread().value(), paintingContext.deviceScaleFactor); 1274 auto shadowRadius = shadow.radius(); 1275 1275 1276 1276 auto fillRect = borderRect; … … 1299 1299 auto adjustedShadowOffset = shadowRectOrigin - adjustedFillRect.rect().location(); 1300 1300 1301 paintingContext.context.setShadow(adjustedShadowOffset, shadowRadius , shadow.color(), shadow.isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default);1301 paintingContext.context.setShadow(adjustedShadowOffset, shadowRadius.value(), shadow.color(), shadow.isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default); 1302 1302 1303 1303 if (hasBorderRadius) { … … 1340 1340 1341 1341 auto paintInsetShadow = [&](const ShadowData& shadow) { 1342 auto shadowOffset = roundSizeToDevicePixels({ shadow.x() , shadow.y() }, paintingContext.deviceScaleFactor);1342 auto shadowOffset = roundSizeToDevicePixels({ shadow.x().value(), shadow.y().value() }, paintingContext.deviceScaleFactor); 1343 1343 float shadowPaintingExtent = ceilToDevicePixel(shadow.paintingExtent(), paintingContext.deviceScaleFactor); 1344 float shadowSpread = roundToDevicePixel(shadow.spread() , paintingContext.deviceScaleFactor);1345 intshadowRadius = shadow.radius();1344 float shadowSpread = roundToDevicePixel(shadow.spread().value(), paintingContext.deviceScaleFactor); 1345 auto shadowRadius = shadow.radius(); 1346 1346 1347 1347 auto holeRect = borderRect.rect(); … … 1410 1410 shadowOffset -= extraOffset; 1411 1411 1412 paintingContext.context.setShadow(shadowOffset, shadowRadius , shadow.color(), shadow.isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default);1412 paintingContext.context.setShadow(shadowOffset, shadowRadius.value(), shadow.color(), shadow.isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default); 1413 1413 paintingContext.context.fillRectWithRoundedHole(shadowCastingRect, roundedHoleRect, fillColor); 1414 1414 }; … … 1419 1419 continue; 1420 1420 1421 LayoutSize shadowOffset(shadow->x() , shadow->y());1422 if (shadowOffset.isZero() && !shadow->radius() && !shadow->spread())1421 LayoutSize shadowOffset(shadow->x().value(), shadow->y().value()); 1422 if (shadowOffset.isZero() && shadow->radius().isZero() && shadow->spread().isZero()) 1423 1423 continue; 1424 1424 -
trunk/Source/WebCore/editing/Editor.cpp
r284095 r284437 4037 4037 4038 4038 if (auto* shadowData = style->textShadow()) 4039 attributes.fontShadow = { shadowData->color(), { s tatic_cast<float>(shadowData->x()), static_cast<float>(shadowData->y()) }, static_cast<double>(shadowData->radius()) };4039 attributes.fontShadow = { shadowData->color(), { shadowData->x().value(), shadowData->y().value() }, shadowData->radius().value() }; 4040 4040 4041 4041 switch (style->verticalAlign()) { -
trunk/Source/WebCore/platform/LengthPoint.h
r282826 r284437 60 60 const Length& y() const { return m_y; } 61 61 62 bool isZero() const { return m_x.isZero() && m_y.isZero(); } 63 62 64 private: 63 65 // FIXME: it would be nice to pack the two Lengths together better somehow (to avoid padding between them). -
trunk/Source/WebCore/platform/mac/WebCoreNSFontManagerExtras.mm
r236854 r284437 31 31 #import "ColorMac.h" 32 32 #import "FontAttributeChanges.h" 33 #import "LayoutUnit.h" 33 34 #import <AppKit/NSFontManager.h> 34 35 … … 137 138 NSShadow *convertedShadow = [convertedAttributesA objectForKey:NSShadowAttributeName]; 138 139 if (convertedShadow) { 139 FloatSize offset { static_cast<float>(convertedShadow.shadowOffset.width), static_cast<float>(convertedShadow.shadowOffset.height) };140 FloatSize offset { LayoutUnit::fromFloatRound(static_cast<float>(convertedShadow.shadowOffset.width)).toFloat(), LayoutUnit::fromFloatRound(static_cast<float>(convertedShadow.shadowOffset.height)).toFloat() }; 140 141 changes.setShadow({ colorFromNSColor(convertedShadow.shadowColor ?: NSColor.blackColor), offset, convertedShadow.shadowBlurRadius }); 141 142 } else if (![convertedAttributesB objectForKey:NSShadowAttributeName]) -
trunk/Source/WebCore/rendering/LegacyEllipsisBox.cpp
r282826 r284437 56 56 if (lineStyle.textShadow()) { 57 57 Color shadowColor = lineStyle.colorByApplyingColorFilter(lineStyle.textShadow()->color()); 58 context.setShadow(LayoutSize(lineStyle.textShadow()->x() , lineStyle.textShadow()->y()), lineStyle.textShadow()->radius(), shadowColor);58 context.setShadow(LayoutSize(lineStyle.textShadow()->x().value(), lineStyle.textShadow()->y().value()), lineStyle.textShadow()->radius().value(), shadowColor); 59 59 setShadow = true; 60 60 } -
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp
r284380 r284437 704 704 boxShadow = boxShadow->next(); 705 705 706 FloatSize shadowOffset(boxShadow->x() , boxShadow->y());707 context.setShadow(shadowOffset, boxShadow->radius() , style.colorByApplyingColorFilter(boxShadow->color()), boxShadow->isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default);706 FloatSize shadowOffset(boxShadow->x().value(), boxShadow->y().value()); 707 context.setShadow(shadowOffset, boxShadow->radius().value(), style.colorByApplyingColorFilter(boxShadow->color()), boxShadow->isWebkitBoxShadow() ? ShadowRadiusMode::Legacy : ShadowRadiusMode::Default); 708 708 } 709 709 … … 2355 2355 hasOneNormalBoxShadow = true; 2356 2356 2357 if ( currentShadow->spread())2357 if (!currentShadow->spread().isZero()) 2358 2358 return false; 2359 2359 } … … 2430 2430 continue; 2431 2431 2432 LayoutSize shadowOffset(shadow->x() , shadow->y());2432 LayoutSize shadowOffset(shadow->x().value(), shadow->y().value()); 2433 2433 LayoutUnit shadowPaintingExtent = shadow->paintingExtent(); 2434 LayoutUnit shadowSpread = shadow->spread();2435 int shadowRadius = shadow->radius();2434 LayoutUnit shadowSpread = LayoutUnit(shadow->spread().value()); 2435 auto shadowRadius = shadow->radius().value(); 2436 2436 2437 2437 if (shadowOffset.isZero() && !shadowRadius && !shadowSpread) -
trunk/Source/WebCore/rendering/TextBoxPainter.cpp
r284334 r284437 624 624 return nullptr; 625 625 626 static NeverDestroyed<ShadowData> debugTextShadow( IntPoint(0, 0), 10, 20, ShadowStyle::Normal, true, SRGBA<uint8_t> { 150, 0, 0, 190 });626 static NeverDestroyed<ShadowData> debugTextShadow(LengthPoint(Length(LengthType::Fixed), Length(LengthType::Fixed)), Length(10, LengthType::Fixed), Length(20, LengthType::Fixed), ShadowStyle::Normal, true, SRGBA<uint8_t> { 150, 0, 0, 190 }); 627 627 return &debugTextShadow.get(); 628 628 } -
trunk/Source/WebCore/rendering/TextDecorationPainter.cpp
r283464 r284437 247 247 && (!m_decorations.contains(TextDecoration::LineThrough) || m_styles.linethroughColor.isOpaque()); 248 248 249 int extraOffset = 0;249 float extraOffset = 0; 250 250 bool clipping = !areLinesOpaque && m_shadow && m_shadow->next(); 251 251 if (clipping) { … … 255 255 FloatRect shadowRect(localOrigin, FloatSize(m_width, fontMetrics.ascent() + 2)); 256 256 shadowRect.inflate(shadowExtent); 257 int shadowX = m_isHorizontal ? shadow->x() : shadow->y();258 int shadowY = m_isHorizontal ? shadow->y() : -shadow->x();257 float shadowX = LayoutUnit(m_isHorizontal ? shadow->x().value() : shadow->y().value()); 258 float shadowY = LayoutUnit(m_isHorizontal ? shadow->y().value() : -shadow->x().value()); 259 259 shadowRect.move(shadowX, shadowY); 260 260 clipRect.unite(shadowRect); 261 extraOffset = std::max(extraOffset, std::max(0 , shadowY) + shadowExtent);261 extraOffset = std::max(extraOffset, std::max(0.f, shadowY) + shadowExtent); 262 262 } 263 263 m_context.save(); … … 275 275 extraOffset = 0; 276 276 } 277 int shadowX = m_isHorizontal ? shadow->x() : shadow->y();278 int shadowY = m_isHorizontal ? shadow->y() : -shadow->x();277 float shadowX = LayoutUnit(m_isHorizontal ? shadow->x().value() : shadow->y().value()); 278 float shadowY = LayoutUnit(m_isHorizontal ? shadow->y().value() : -shadow->x().value()); 279 279 280 280 Color shadowColor = shadow->color(); 281 281 if (m_shadowColorFilter) 282 282 m_shadowColorFilter->transformColor(shadowColor); 283 m_context.setShadow(FloatSize(shadowX, shadowY - extraOffset), shadow->radius() , shadowColor);283 m_context.setShadow(FloatSize(shadowX, shadowY - extraOffset), shadow->radius().value(), shadowColor); 284 284 shadow = shadow->next(); 285 285 } -
trunk/Source/WebCore/rendering/TextPainter.cpp
r282961 r284437 51 51 } 52 52 53 int shadowX = orientation == FontOrientation::Horizontal ? shadow->x() : shadow->y();54 int shadowY = orientation == FontOrientation::Horizontal ? shadow->y() : -shadow->x();53 float shadowX = orientation == FontOrientation::Horizontal ? shadow->x().value() : shadow->y().value(); 54 float shadowY = orientation == FontOrientation::Horizontal ? shadow->y().value() : -shadow->x().value(); 55 55 FloatSize shadowOffset(shadowX, shadowY); 56 intshadowRadius = shadow->radius();56 auto shadowRadius = shadow->radius(); 57 57 Color shadowColor = shadow->color(); 58 58 if (colorFilter) … … 70 70 71 71 m_didSaveContext = true; 72 m_extraOffset = FloatSize(0, 2 * shadowRect.height() + std::max(0.0f, shadowOffset.height()) + shadowRadius );72 m_extraOffset = FloatSize(0, 2 * shadowRect.height() + std::max(0.0f, shadowOffset.height()) + shadowRadius.value()); 73 73 shadowOffset -= m_extraOffset; 74 74 } 75 75 76 76 if (!m_avoidDrawingShadow) 77 context.setShadow(shadowOffset, shadowRadius , shadowColor);77 context.setShadow(shadowOffset, shadowRadius.value(), shadowColor); 78 78 } 79 79 … … 85 85 inline bool ShadowApplier::shadowIsCompletelyCoveredByText(bool textIsOpaque) 86 86 { 87 return textIsOpaque && m_shadow && m_shadow->location().isZero() && !m_shadow->radius();87 return textIsOpaque && m_shadow && m_shadow->location().isZero() && m_shadow->radius().isZero(); 88 88 } 89 89 -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r284225 r284437 1461 1461 void RenderStyle::setTextShadow(std::unique_ptr<ShadowData> shadowData, bool add) 1462 1462 { 1463 ASSERT(!shadowData || ( !shadowData->spread() && shadowData->style() == ShadowStyle::Normal));1463 ASSERT(!shadowData || (shadowData->spread().isZero() && shadowData->style() == ShadowStyle::Normal)); 1464 1464 1465 1465 auto& rareData = m_rareInheritedData.access(); … … 1969 1969 continue; 1970 1970 1971 auto extentAndSpread = shadow->paintingExtent() + shadow->spread();1972 top = std::min<LayoutUnit>(top, shadow->y() - extentAndSpread);1973 right = std::max<LayoutUnit>(right, shadow->x() + extentAndSpread);1974 bottom = std::max<LayoutUnit>(bottom, shadow->y() + extentAndSpread);1975 left = std::min<LayoutUnit>(left, shadow->x() - extentAndSpread);1971 auto extentAndSpread = shadow->paintingExtent() + LayoutUnit(shadow->spread().value()); 1972 top = std::min<LayoutUnit>(top, LayoutUnit(shadow->y().value()) - extentAndSpread); 1973 right = std::max<LayoutUnit>(right, LayoutUnit(shadow->x().value()) + extentAndSpread); 1974 bottom = std::max<LayoutUnit>(bottom, LayoutUnit(shadow->y().value()) + extentAndSpread); 1975 left = std::min<LayoutUnit>(left, LayoutUnit(shadow->x().value()) - extentAndSpread); 1976 1976 } 1977 1977 … … 1990 1990 continue; 1991 1991 1992 auto extentAndSpread = shadow->paintingExtent() + shadow->spread();1993 top = std::max<LayoutUnit>(top, shadow->y() + extentAndSpread);1994 right = std::min<LayoutUnit>(right, shadow->x() - extentAndSpread);1995 bottom = std::min<LayoutUnit>(bottom, shadow->y() - extentAndSpread);1996 left = std::max<LayoutUnit>(left, shadow->x() + extentAndSpread);1992 auto extentAndSpread = shadow->paintingExtent() + LayoutUnit(shadow->spread().value()); 1993 top = std::max<LayoutUnit>(top, LayoutUnit(shadow->y().value()) + extentAndSpread); 1994 right = std::min<LayoutUnit>(right, LayoutUnit(shadow->x().value()) - extentAndSpread); 1995 bottom = std::min<LayoutUnit>(bottom, LayoutUnit(shadow->y().value()) - extentAndSpread); 1996 left = std::max<LayoutUnit>(left, LayoutUnit(shadow->x().value()) + extentAndSpread); 1997 1997 } 1998 1998 … … 2009 2009 continue; 2010 2010 2011 auto extentAndSpread = shadow->paintingExtent() + shadow->spread();2012 left = std::min<LayoutUnit>(left, shadow->x() - extentAndSpread);2013 right = std::max<LayoutUnit>(right, shadow->x() + extentAndSpread);2011 auto extentAndSpread = shadow->paintingExtent() + LayoutUnit(shadow->spread().value()); 2012 left = std::min<LayoutUnit>(left, LayoutUnit(shadow->x().value()) - extentAndSpread); 2013 right = std::max<LayoutUnit>(right, LayoutUnit(shadow->x().value()) + extentAndSpread); 2014 2014 } 2015 2015 } … … 2024 2024 continue; 2025 2025 2026 auto extentAndSpread = shadow->paintingExtent() + shadow->spread();2027 top = std::min<LayoutUnit>(top, shadow->y() - extentAndSpread);2028 bottom = std::max<LayoutUnit>(bottom, shadow->y() + extentAndSpread);2026 auto extentAndSpread = shadow->paintingExtent() + LayoutUnit(shadow->spread().value()); 2027 top = std::min<LayoutUnit>(top, LayoutUnit(shadow->y().intValue()) - extentAndSpread); 2028 bottom = std::max<LayoutUnit>(bottom, LayoutUnit(shadow->y().intValue()) + extentAndSpread); 2029 2029 } 2030 2030 } -
trunk/Source/WebCore/rendering/style/ShadowData.cpp
r282826 r284437 29 29 30 30 ShadowData::ShadowData(const ShadowData& o) 31 : m_location(o.m_location )31 : m_location(o.m_location.x(), o.m_location.y()) 32 32 , m_spread(o.m_spread) 33 33 , m_radius(o.m_radius) … … 62 62 { 63 63 do { 64 LayoutUnit extentAndSpread = shadow->paintingExtent() + shadow->spread() + additionalOutlineSize;64 LayoutUnit extentAndSpread = shadow->paintingExtent() + LayoutUnit(shadow->spread().value()) + additionalOutlineSize; 65 65 if (shadow->style() == ShadowStyle::Normal) { 66 shadowLeft = std::min( shadow->x() - extentAndSpread, shadowLeft);67 shadowRight = std::max( shadow->x() + extentAndSpread, shadowRight);68 shadowTop = std::min( shadow->y() - extentAndSpread, shadowTop);69 shadowBottom = std::max( shadow->y() + extentAndSpread, shadowBottom);66 shadowLeft = std::min(LayoutUnit(shadow->x().value()) - extentAndSpread, shadowLeft); 67 shadowRight = std::max(LayoutUnit(shadow->x().value()) + extentAndSpread, shadowRight); 68 shadowTop = std::min(LayoutUnit(shadow->y().value()) - extentAndSpread, shadowTop); 69 shadowBottom = std::max(LayoutUnit(shadow->y().value()) + extentAndSpread, shadowBottom); 70 70 } 71 71 -
trunk/Source/WebCore/rendering/style/ShadowData.h
r282826 r284437 28 28 #include "FloatRect.h" 29 29 #include "LayoutRect.h" 30 #include "Length.h" 31 #include "LengthPoint.h" 30 32 31 33 namespace WebCore { … … 40 42 ShadowData() = default; 41 43 42 ShadowData(const L ayoutPoint& location, int radius, LayoutUnitspread, ShadowStyle style, bool isWebkitBoxShadow, const Color& color)43 : m_location(location )44 ShadowData(const LengthPoint& location, Length radius, Length spread, ShadowStyle style, bool isWebkitBoxShadow, const Color& color) 45 : m_location(location.x(), location.y()) 44 46 , m_spread(spread) 45 47 , m_radius(radius) … … 61 63 } 62 64 63 LayoutUnitx() const { return m_location.x(); }64 LayoutUnity() const { return m_location.y(); }65 LayoutPointlocation() const { return m_location; }66 intradius() const { return m_radius; }65 const Length& x() const { return m_location.x(); } 66 const Length& y() const { return m_location.y(); } 67 const LengthPoint& location() const { return m_location; } 68 const Length& radius() const { return m_radius; } 67 69 LayoutUnit paintingExtent() const 68 70 { … … 71 73 // undetectable at around 1.4x the radius. 72 74 const float radiusExtentMultiplier = 1.4; 73 return LayoutUnit(ceilf(m_radius * radiusExtentMultiplier));75 return LayoutUnit(ceilf(m_radius.value() * radiusExtentMultiplier)); 74 76 } 75 LayoutUnitspread() const { return m_spread; }77 const Length& spread() const { return m_spread; } 76 78 ShadowStyle style() const { return m_style; } 77 79 … … 88 90 89 91 private: 90 L ayoutPoint m_location;91 L ayoutUnitm_spread;92 int m_radius { 0 }; // This is the "blur radius", or twice the standard deviation of the Gaussian blur.92 LengthPoint m_location; 93 Length m_spread; 94 Length m_radius; // This is the "blur radius", or twice the standard deviation of the Gaussian blur. 93 95 Color m_color; 94 96 ShadowStyle m_style { ShadowStyle::Normal }; -
trunk/Source/WebCore/style/StyleBuilderCustom.h
r284225 r284437 946 946 auto& shadowValue = downcast<CSSShadowValue>(item.get()); 947 947 auto conversionData = builderState.cssToLengthConversionData(); 948 auto x = shadowValue.x->computeLength<L ayoutUnit>(conversionData);949 auto y = shadowValue.y->computeLength<L ayoutUnit>(conversionData);950 int blur = shadowValue.blur ? shadowValue.blur->computeLength<int>(conversionData) : 0;951 auto spread = shadowValue.spread ? shadowValue.spread->computeLength<L ayoutUnit>(conversionData) : LayoutUnit(0);948 auto x = shadowValue.x->computeLength<Length>(conversionData); 949 auto y = shadowValue.y->computeLength<Length>(conversionData); 950 auto blur = shadowValue.blur ? shadowValue.blur->computeLength<Length>(conversionData) : Length(0, LengthType::Fixed); 951 auto spread = shadowValue.spread ? shadowValue.spread->computeLength<Length>(conversionData) : Length(0, LengthType::Fixed); 952 952 ShadowStyle shadowStyle = shadowValue.style && shadowValue.style->valueID() == CSSValueInset ? ShadowStyle::Inset : ShadowStyle::Normal; 953 953 Color color; … … 957 957 color = builderState.style().color(); 958 958 959 auto shadowData = makeUnique<ShadowData>(L ayoutPoint(x, y), blur, spread, shadowStyle, property == CSSPropertyWebkitBoxShadow, color.isValid() ? color : Color::transparentBlack);959 auto shadowData = makeUnique<ShadowData>(LengthPoint(x, y), blur, spread, shadowStyle, property == CSSPropertyWebkitBoxShadow, color.isValid() ? color : Color::transparentBlack); 960 960 if (property == CSSPropertyTextShadow) 961 961 builderState.style().setTextShadow(WTFMove(shadowData), !isFirstEntry); // add to the list if this is not the first entry
Note: See TracChangeset
for help on using the changeset viewer.