Bug 235240

Summary: Make a consistent way to compute applied opacity
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: andresg_22, bfulgham, ntim, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   

Description Simon Fraser (smfr) 2022-01-14 10:46:12 PST
Walking the renderer parent chain is wrong with top layer (dialog, ::backdrop).
Comment 1 Radar WebKit Bug Importer 2022-01-14 10:46:24 PST
<rdar://problem/87607943>
Comment 2 Simon Fraser (smfr) 2022-01-14 10:48:29 PST
HTMLPlugInElement::isReplacementObscured() and ContentChangeObserver::isVisuallyHidden() do the same thing.
Comment 3 Simon Fraser (smfr) 2022-01-14 10:53:06 PST
And RenderLayer::isTransparentRespectingParentFrames()
Comment 4 Simon Fraser (smfr) 2022-01-19 11:20:38 PST
HTMLPlugInElement::isReplacementObscured() and RenderLayer::isTransparentRespectingParentFrames() use the layer parent() chain so bug 235194 fixes them. ContentChangeObserver::isVisuallyHidden() is wrong.
Comment 5 Tim Nguyen (:ntim) 2022-01-19 12:25:40 PST
Would walking up the stacking context chain be a fix here?
Comment 6 Simon Fraser (smfr) 2022-01-19 13:02:33 PST
Walking paintOrderParent(), yes.
Comment 7 Tim Nguyen (:ntim) 2022-02-27 01:57:30 PST
AXObjectCache::isNodeVisible() was the example mentioned in the original bug title.