Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7e67352d773dac9253ee2516fe90b131bb411580
https://github.com/WebKit/WebKit/commit/7e67352d773dac9253ee2516fe90b131bb411580
Author: Nikolas Zimmermann <[email protected]>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp
M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h
Log Message:
-----------
[GTK][WPE] Skia Compositor: compositing debug borders are not painted properly
https://bugs.webkit.org/show_bug.cgi?id=316330
Reviewed by Carlos Garcia Campos.
Enabling "Show compositing borders" in Web Inspector had no visible effect on
the page in the Skia compositor: borders only showed in the Layers panel preview
(a separate inspector snapshot path).
SkiaCompositingLayer::paint() ran a follow-up tree walk in
PaintMode::DebugIndicators
to draw layer borders and repaint counters, but that walk only happened when the
scene root layer itself carried indicators (hasDebugIndicators()), which it
never
does, so the pass was always skipped. Even when forced to run, that design draws
only strokes after all content has been painted, so a border belonging to a
layer
hidden behind an opaque layer (e.g. a modal dialog) bleeds through on top of it.
Drop the separate DebugIndicators pass and instead draw the indicators inline in
the single Paint walk, at the tail of recursivePaint() - after the layer's own
content, filters and masks have been composited into the parent, but still in
tree
order. Layers painted on top then occlude the indicators of the layers they
cover,
while the indicators still sit above each layer's own effects.
paintDebugIndicators() now establishes the layer transform itself (it previously
relied on paintSelf() having concatenated it) and keeps paintSelf()'s visibility
guard so the set of layers that get a border is unchanged. PaintMode loses its
now
unused DebugIndicators value - the remaining single-value mode plumbing is kept
as
preparation for the planned SkNoDrawCanvas damage walk.
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:
(WebCore::SkiaCompositingLayer::paint):
(WebCore::SkiaCompositingLayer::paintSelf):
(WebCore::SkiaCompositingLayer::paintDebugIndicators):
(WebCore::SkiaCompositingLayer::recursivePaint):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h:
Canonical link: https://commits.webkit.org/314621@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications