Changeset 267528 in webkit
- Timestamp:
- Sep 24, 2020, 6:21:13 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/css/currentColor-background-paint-expected.html (added)
-
LayoutTests/fast/css/currentColor-background-paint.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/style/RenderStyle.cpp (modified) (2 diffs)
-
Source/WebCore/rendering/style/StyleBackgroundData.cpp (modified) (1 diff)
-
Source/WebCore/rendering/style/StyleBackgroundData.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r267526 r267528 1 2020-09-24 Antti Koivisto <antti@apple.com> 2 3 currentColor isn't recalculated when a text node doesn't exist 4 https://bugs.webkit.org/show_bug.cgi?id=216780 5 <rdar://problem/69320933> 6 7 Reviewed by Antoine Quint. 8 9 * fast/css/currentColor-background-paint-expected.html: Added. 10 * fast/css/currentColor-background-paint.html: Added. 11 1 12 2020-09-24 Commit Queue <commit-queue@webkit.org> 2 13 -
trunk/Source/WebCore/ChangeLog
r267527 r267528 1 2020-09-24 Antti Koivisto <antti@apple.com> 2 3 currentColor isn't recalculated when a text node doesn't exist 4 https://bugs.webkit.org/show_bug.cgi?id=216780 5 <rdar://problem/69320933> 6 7 Reviewed by Antoine Quint. 8 9 We fail to repaint with the new background color when 'background-color' property has value 'currentColor' and the current color changes. 10 11 Test case by Cory LaViska. 12 13 Test: fast/css/currentColor-background-paint.html 14 15 * rendering/style/RenderStyle.cpp: 16 (WebCore::RenderStyle::changeRequiresRepaint const): 17 * rendering/style/StyleBackgroundData.cpp: 18 (WebCore::StyleBackgroundData::isEquivalentForPainting const): 19 * rendering/style/StyleBackgroundData.h: 20 1 21 2020-09-24 Cathie Chen <cathiechen@igalia.com> 2 22 -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r266717 r267528 1116 1116 return false; 1117 1117 1118 bool currentColorDiffers = m_inheritedData->color != other.m_inheritedData->color; 1119 1118 1120 if (m_inheritedFlags.visibility != other.m_inheritedFlags.visibility 1119 1121 || m_inheritedFlags.printColorAdjust != other.m_inheritedFlags.printColorAdjust … … 1121 1123 || m_inheritedFlags.insideDefaultButton != other.m_inheritedFlags.insideDefaultButton 1122 1124 || m_surroundData->border != other.m_surroundData->border 1123 || !m_backgroundData->isEquivalentForPainting(*other.m_backgroundData ))1125 || !m_backgroundData->isEquivalentForPainting(*other.m_backgroundData, currentColorDiffers)) 1124 1126 return true; 1125 1127 -
trunk/Source/WebCore/rendering/style/StyleBackgroundData.cpp
r266344 r267528 52 52 } 53 53 54 bool StyleBackgroundData::isEquivalentForPainting(const StyleBackgroundData& other ) const54 bool StyleBackgroundData::isEquivalentForPainting(const StyleBackgroundData& other, bool currentColorDiffers) const 55 55 { 56 56 if (background != other.background || color != other.color) 57 57 return false; 58 if (currentColorDiffers && color == RenderStyle::currentColor()) 59 return false; 58 60 if (!outline.isVisible() && !other.outline.isVisible()) 59 61 return true; 62 if (currentColorDiffers && outline.color() == RenderStyle::currentColor()) 63 return false; 60 64 return outline == other.outline; 61 65 } -
trunk/Source/WebCore/rendering/style/StyleBackgroundData.h
r266344 r267528 42 42 bool operator!=(const StyleBackgroundData& other) const { return !(*this == other); } 43 43 44 bool isEquivalentForPainting(const StyleBackgroundData& ) const;44 bool isEquivalentForPainting(const StyleBackgroundData&, bool currentColorDiffers) const; 45 45 46 46 DataRef<FillLayer> background;
Note:
See TracChangeset
for help on using the changeset viewer.