Bug 260537

Summary: Use PaintBehavior::DontShowVisitedLinks to prevent :visited link style in subtrees that use mix-blend-mode
Product: WebKit Reporter: Said Abou-Hallawa <sabouhallawa>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: bfulgham, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=225446
https://bugs.webkit.org/show_bug.cgi?id=257822

Description Said Abou-Hallawa 2023-08-22 12:53:17 PDT
This is a follow-up for bug 257822. Setting a state on the RenderStyle to fix the blend mode bug 225446 was not the right approach. Instead we should add the flag PaintBehavior::DontShowVisitedLinks if the blendMode() is not equal to BlendMode::Normal.
Comment 1 Radar WebKit Bug Importer 2023-08-22 12:54:09 PDT
<rdar://problem/114277041>
Comment 2 Said Abou-Hallawa 2023-08-22 15:55:47 PDT
I think this bug is invalid. Having the blendMode() of an element not equal to BlendMode::Normal should affect that element and all its descents. And this is why we set the blendMode in m_nonInheritedData but we set isInSubtreeWithBlendMode in m_rareInheritedData. 

So there will be no easy way to check the blendMode() of the parent elements all the way up till the root and check any of them is not equal to BlendMode::Normal to add PaintBehavior::DontShowVisitedLinks to the drawing paintBehavior in this case.