Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6c806ad34ab954d5aed34bd53ef509d2d3598c49
      
https://github.com/WebKit/WebKit/commit/6c806ad34ab954d5aed34bd53ef509d2d3598c49
  Author: Kiet Ho <[email protected]>
  Date:   2026-10-08 (Thu, 08 Oct 2026)

  Changed paths:
    M Source/WebCore/page/FrameSnapshotting.cpp
    M Source/WebCore/rendering/RenderElementStyleInlines.h
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerModelObject.cpp
    M Source/WebCore/rendering/svg/SVGRenderSupport.cpp
    M Source/WebCore/rendering/svg/SVGRenderingContext.cpp
    M Source/WebCore/style/computed/StyleComputedStyle.cpp
    M Source/WebCore/style/computed/StyleComputedStyle.h
    M Source/WebCore/style/computed/StyleComputedStyleBase+SettersInlines.h
    M Source/WebCore/style/computed/StyleComputedStyleBase.h
    M 
Source/WebCore/style/computed/StyleComputedStyleProperties+SettersCustomInlines.h
    M Source/WebCore/style/computed/data/StyleNonInheritedRareData.cpp
    M Source/WebCore/style/computed/data/StyleNonInheritedRareData.h

  Log Message:
  -----------
  Allow overriding mix-blend-mode in ComputedStyle
rdar://188964338
https://bugs.webkit.org/show_bug.cgi?id=326031

Reviewed by Simon Fraser.

This patch adds the ability to override mix-blend-mode in ComputedStyle,
such that the used value can be different from the computed value. The
overriden value is stored in overrideBlendMode in NonInheritedRareData,
and can be set using setOverrideBlendMode. The used value is exposed
through ComputedStyle::usedBlendMode, and rendering code were changed
to use this instead of ComputedStyle::blendMode.

Tested by existing test suite.

* Source/WebCore/page/FrameSnapshotting.cpp:
(WebCore::styleContainsComplexBackground):
* Source/WebCore/rendering/RenderElementStyleInlines.h:
(WebCore::RenderElement::hasBlendMode const):
(WebCore::RenderElement::createsGroupForStyleExcludingClipPathAndMask):
* Source/WebCore/rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateBlendMode):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateBlendMode):
* Source/WebCore/rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::styleDidChange):
* Source/WebCore/rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::styleChanged):
(WebCore::SVGRenderSupport::isolatesBlending):
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending):
* Source/WebCore/rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):
* Source/WebCore/style/computed/StyleComputedStyle.cpp:
(WebCore::Style::ComputedStyle::usedBlendMode const):
* Source/WebCore/style/computed/StyleComputedStyle.h:
* Source/WebCore/style/computed/StyleComputedStyleBase+SettersInlines.h:
(WebCore::Style::ComputedStyleBase::setOverrideBlendMode):
* Source/WebCore/style/computed/StyleComputedStyleBase.h:
* 
Source/WebCore/style/computed/StyleComputedStyleProperties+SettersCustomInlines.h:
(WebCore::Style::ComputedStyleProperties::setBlendMode):
* Source/WebCore/style/computed/data/StyleNonInheritedRareData.cpp:
(WebCore::Style::NonInheritedRareData::NonInheritedRareData):
(WebCore::Style::NonInheritedRareData::operator== const):
(WebCore::Style::NonInheritedRareData::dumpDifferences const):
* Source/WebCore/style/computed/data/StyleNonInheritedRareData.h:

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



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

Reply via email to