Changeset 275607 in webkit
- Timestamp:
- Apr 7, 2021 8:54:58 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r275606 r275607 1 2021-04-07 Zalan Bujtas <zalan@apple.com> 2 3 REGRESSION (r270849): Button content fails to render on apple.com "Blood Oxygen"/"ECG" 4 https://bugs.webkit.org/show_bug.cgi?id=224261 5 6 Reviewed by Simon Fraser. 7 8 * fast/text/text-repaint-when-pointer-event-property-changes-expected.html: Added. 9 * fast/text/text-repaint-when-pointer-event-property-changes.html: Added. 10 1 11 2021-04-07 Rob Buis <rbuis@igalia.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r275606 r275607 1 2021-04-07 Zalan Bujtas <zalan@apple.com> 2 3 REGRESSION (r270849): Button content fails to render on apple.com "Blood Oxygen"/"ECG" 4 https://bugs.webkit.org/show_bug.cgi?id=224261 5 6 Reviewed by Simon Fraser. 7 8 1. The changeRequiresRecompositeLayer check in RenderStyle::diff should come after 9 changeRequiresRepaintIfTextOrBorderOrOutline since RepaintIfTextOrBorderOrOutline is at 10 a higher priority in StyleDifference. 11 2. Ensure that we trigger setNeedsCompositingConfigurationUpdate on diff >= StyleDifference::RecompositeLayer. 12 13 Test: fast/text/text-repaint-when-pointer-event-property-changes.html 14 15 * rendering/RenderLayerCompositor.cpp: 16 (WebCore::RenderLayerCompositor::layerStyleChanged): 17 * rendering/style/RenderStyle.cpp: 18 (WebCore::RenderStyle::diff const): 19 1 20 2021-04-07 Rob Buis <rbuis@igalia.com> 2 21 -
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
r274929 r275607 1688 1688 } 1689 1689 1690 if (diff == StyleDifference::RecompositeLayer && layer.isComposited()) { 1691 if (oldStyle && oldStyle->pointerEvents() != newStyle.pointerEvents()) 1692 layer.setNeedsCompositingConfigurationUpdate(); 1693 else if (is<RenderWidget>(layer.renderer())) { 1694 // This is necessary to get iframe layers hooked up in response to scheduleInvalidateStyleAndLayerComposition(). 1695 layer.setNeedsCompositingConfigurationUpdate(); 1696 } 1697 } 1698 1699 if (diff >= StyleDifference::RecompositeLayer && oldStyle && recompositeChangeRequiresGeometryUpdate(*oldStyle, newStyle)) { 1700 // FIXME: transform changes really need to trigger layout. See RenderElement::adjustStyleDifference(). 1701 layer.setNeedsPostLayoutCompositingUpdate(); 1702 layer.setNeedsCompositingGeometryUpdate(); 1690 if (diff >= StyleDifference::RecompositeLayer) { 1691 if (layer.isComposited()) { 1692 if (is<RenderWidget>(layer.renderer()) || (oldStyle && oldStyle->pointerEvents() != newStyle.pointerEvents())) { 1693 // For RenderWidgets this is necessary to get iframe layers hooked up in response to scheduleInvalidateStyleAndLayerComposition(). 1694 layer.setNeedsCompositingConfigurationUpdate(); 1695 } 1696 } 1697 if (oldStyle && recompositeChangeRequiresGeometryUpdate(*oldStyle, newStyle)) { 1698 // FIXME: transform changes really need to trigger layout. See RenderElement::adjustStyleDifference(). 1699 layer.setNeedsPostLayoutCompositingUpdate(); 1700 layer.setNeedsCompositingGeometryUpdate(); 1701 } 1703 1702 } 1704 1703 } -
trunk/Source/WebCore/rendering/style/RenderStyle.cpp
r275377 r275607 1216 1216 return StyleDifference::Repaint; 1217 1217 1218 if (changeRequiresRepaintIfTextOrBorderOrOutline(other, changedContextSensitiveProperties)) 1219 return StyleDifference::RepaintIfTextOrBorderOrOutline; 1220 1221 // FIXME: RecompositeLayer should also behave as a priority bit (e.g when the style change requires layout, we know that 1222 // the content also needs repaint and it will eventually get repainted, 1223 // but a repaint type of change (e.g. color change) does not necessarily trigger recomposition). 1218 1224 if (changeRequiresRecompositeLayer(other, changedContextSensitiveProperties)) 1219 1225 return StyleDifference::RecompositeLayer; 1220 1221 if (changeRequiresRepaintIfTextOrBorderOrOutline(other, changedContextSensitiveProperties))1222 return StyleDifference::RepaintIfTextOrBorderOrOutline;1223 1226 1224 1227 // Cursors are not checked, since they will be set appropriately in response to mouse events,
Note: See TracChangeset
for help on using the changeset viewer.