RESOLVED FIXED 229317
Ancestors with opacity should not affect top layer elements
https://bugs.webkit.org/show_bug.cgi?id=229317
Summary Ancestors with opacity should not affect top layer elements
Tim Nguyen (:ntim)
Reported 2021-08-19 17:56:03 PDT
From: https://fullscreen.spec.whatwg.org/#new-stacking-layer Ancestor elements with overflow, opacity, masks, etc. cannot affect it.
Attachments
Patch (4.91 KB, patch)
2021-08-20 00:00 PDT, Tim Nguyen (:ntim)
no flags
Tim Nguyen (:ntim)
Comment 1 2021-08-19 18:00:32 PDT
This needs a test too, unfortunately there's no WPT for this.
Radar WebKit Bug Importer
Comment 2 2021-08-19 23:23:53 PDT
Tim Nguyen (:ntim)
Comment 3 2021-08-19 23:56:31 PDT
Tim Nguyen (:ntim)
Comment 4 2021-08-20 00:00:53 PDT
EWS Watchlist
Comment 5 2021-08-20 00:01:55 PDT
This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess
EWS
Comment 6 2021-08-20 01:04:02 PDT
Committed r281299 (240723@main): <https://commits.webkit.org/240723@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 435945 [details].
Simon Fraser (smfr)
Comment 7 2021-08-20 11:43:49 PDT
Comment on attachment 435945 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=435945&action=review > Source/WebCore/rendering/RenderLayerBacking.cpp:2435 > + // Top layer elements should not be affected by parent elements opacity > + if (m_owningLayer.establishesTopLayer()) > + return finalOpacity; This seems like the wrong way to fix this. Here we're in compositing code, but don't we want to reset opacity in style? If for some reason we end up not using compositing for top layers, we'll get bad rendering.
Tim Nguyen (:ntim)
Comment 8 2021-08-20 13:51:25 PDT
(In reply to Simon Fraser (smfr) from comment #7) > Comment on attachment 435945 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=435945&action=review > > > Source/WebCore/rendering/RenderLayerBacking.cpp:2435 > > + // Top layer elements should not be affected by parent elements opacity > > + if (m_owningLayer.establishesTopLayer()) > > + return finalOpacity; > > This seems like the wrong way to fix this. Here we're in compositing code, > but don't we want to reset opacity in style? If for some reason we end up > not using compositing for top layers, we'll get bad rendering. I filed https://bugs.webkit.org/show_bug.cgi?id=229350
Note You need to log in before you can comment on or make changes to this bug.