Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6811e00c4dcf82c76b4630e16a27355b40daf2f2
      
https://github.com/WebKit/WebKit/commit/6811e00c4dcf82c76b4630e16a27355b40daf2f2
  Author: Nikolas Zimmermann <[email protected]>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp
    M Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h

  Log Message:
  -----------
  [Skia] Parameterize SkiaCompositingLayer paint walk by mode
https://bugs.webkit.org/show_bug.cgi?id=315561

Reviewed by Carlos Garcia Campos.

Make recursivePaint addressable by mode so any given walk runs in exactly
one mode at a time. Add a private PaintMode on PaintContext with two
values: Paint (content + damage) and DebugIndicators (overlay only).

The public paint() signature is unchanged. Internally it now drives two
walks: a Paint walk for the prior all-in-one behavior minus debug
indicators, and - if the root layer carries indicators - a follow-up
DebugIndicators walk that recurses against the root canvas in tree
order. In DebugIndicators mode paintWithIntermediateSurface() and
paintSelfAndChildrenWithFilterAndMask() short-circuit: no GPU surfaces,
no mask rasterization, no filter application. This places indicators
above filters, masks, and intermediate surfaces of the content walk.

m_layerDamage is only consumed by the Paint walk - the DebugIndicators
walk has nothing to do with damage state and leaves it alone.

This sets up a follow-up that derives the next frame's damaged region
by walking the same paint recursion against an SkNoDrawCanvas. No
observable behavior change in this commit.

* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.cpp:
(WebCore::SkiaCompositingLayer::paint):
(WebCore::SkiaCompositingLayer::paintSelf):
(WebCore::SkiaCompositingLayer::paintContents):
(WebCore::SkiaCompositingLayer::collectFrameDamage):
(WebCore::SkiaCompositingLayer::paintDebugIndicators):
(WebCore::SkiaCompositingLayer::paintWithIntermediateSurface):
(WebCore::SkiaCompositingLayer::paintWithMaskAndBackdrop):
(WebCore::SkiaCompositingLayer::paintWithFilterAndMask):
* Source/WebCore/platform/graphics/skia/SkiaCompositingLayer.h:

Canonical link: https://commits.webkit.org/314181@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to