Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: d183e4fe4bcd3f33ca348129099c1d60e6361965 https://github.com/WebKit/WebKit/commit/d183e4fe4bcd3f33ca348129099c1d60e6361965 Author: Simon Fraser <simon.fra...@apple.com> Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths: A LayoutTests/compositing/overflow/outline-paint-phases-expected.html A LayoutTests/compositing/overflow/outline-paint-phases.html M Source/WebCore/rendering/RenderLayer.cpp M Source/WebCore/rendering/RenderLayer.h M Source/WebCore/rendering/RenderLayerBacking.cpp Log Message: ----------- REGRESSION (286055@main): Relative-positioned input elements in scroll areas don't render outlines https://bugs.webkit.org/show_bug.cgi?id=286002 rdar://142995142 Reviewed by Alan Baradlay. 286055@main changed the paint phases in overflow scroll in such a way that we never painted outlines in RenderLayers where the `PaintingOverflowContents` flag was true. This flag is set for a layer with overflow scrolling, and all its descendent layers. The `shouldPaintOutline()` lambda returns false if `PaintingOverflowContents` is set, with the intention of avoid the double-painting of outlines on both the outer primary layer of a scroller, and its inner scrolled contents layer. However, we need to ensure that we do paint outlines on child RenderLayers. To fix this, introduce a `PaintingOverflowContentsRoot` flag that is set only when painting from the scrolled contents GraphicsLayer, and then cleared when RenderLayer painting traverses to descendants. * LayoutTests/compositing/overflow/outline-paint-phases-expected.html: Added. * LayoutTests/compositing/overflow/outline-paint-phases.html: Added. * Source/WebCore/rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintSVGResourceLayer): (WebCore::RenderLayer::paintLayerContentsAndReflection): (WebCore::RenderLayer::paintLayerContents): (WebCore::RenderLayer::paintOutlineForFragments): (WebCore::RenderLayer::calculateClipRects const): * Source/WebCore/rendering/RenderLayer.h: * Source/WebCore/rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintFlagsForLayer const): Canonical link: https://commits.webkit.org/289154@main To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes