Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f2468d106a0c88d7db9288acd26f4b5bbe44d07b
      
https://github.com/WebKit/WebKit/commit/f2468d106a0c88d7db9288acd26f4b5bbe44d07b
  Author: Simon Fraser <[email protected]>
  Date:   2026-09-22 (Tue, 22 Sep 2026)

  Changed paths:
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/rendering/InlineBoxPainter.cpp
    M Source/WebCore/rendering/PaintInfo.h
    M Source/WebCore/rendering/PaintInfoInlines.h
    M Source/WebCore/rendering/PaintPhase.h
    M Source/WebCore/rendering/RegionContext.h
    M Source/WebCore/rendering/RenderBlock.cpp
    M Source/WebCore/rendering/RenderElement.cpp
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayer.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderReplaced.cpp
    M Source/WebCore/rendering/RenderView.h
    M Source/WebCore/rendering/TextBoxPainter.cpp

  Log Message:
  -----------
  [AXCustomColorMode] Add paint phases that allow us to compute what paints 
behind something
https://bugs.webkit.org/show_bug.cgi?id=324749
rdar://188026244

Reviewed by Lily Spiniolas.

Computing colors for AXCustomColorMode requires that we know what paints behind 
something,
which is not trivial to compute because of CSS positioning etc. This change 
implements
a two-phase paint pass, using the "fake paint" mechanism, where the first pass 
(AXCustomColorCollectBackgrounds)
accumulates a vector of areas covered by background colors, and the second pass 
(AXCustomColorComputeBackdrops)
computes the backdrops.

These are tracked in AXCustomColorBackdropContext (which is implemented 
elsewhere).

* Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateAXCustomColorModeTextBackdrops):
* Source/WebCore/dom/Document.h:
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::paint):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::willPaintContents):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::doAfterUpdateRendering):
* Source/WebCore/rendering/InlineBoxPainter.cpp:
(WebCore::InlineBoxPainter::paint):
* Source/WebCore/rendering/PaintInfo.h:
* Source/WebCore/rendering/PaintInfoInlines.h:
(WebCore::PaintInfo::axCustomColorBackdropContext):
* Source/WebCore/rendering/PaintPhase.h:
* Source/WebCore/rendering/RegionContext.h:
(WebCore::RegionContext::isAXCustomColorBackdropContext const):
* Source/WebCore/rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintObject):
* Source/WebCore/rendering/RenderElement.cpp:
(WebCore::RenderElement::paintAsInlineBlock):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::collectAXCustomColorBackdropsForFragments):
* Source/WebCore/rendering/RenderLayer.h:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::setContentsNeedDisplay):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
* Source/WebCore/rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::paint):
(WebCore::RenderReplaced::shouldPaint):
* Source/WebCore/rendering/RenderView.h:
* Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::m_haveSelection):
(WebCore::TextBoxPainter::paint):

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



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

Reply via email to