Summary: | Ensure that the top layer is always anchored to the RenderView | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> | ||||||||||||||||||||
Component: | Layout and Rendering | Assignee: | Tim Nguyen (:ntim) <ntim> | ||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||
Severity: | Normal | CC: | bfulgham, cdumez, changseok, commit-queue, esprehn+autocc, ews-watchlist, fred.wang, glenn, gyuyoung.kim, kondapallykalyan, mrobinson, ntim, pdr, 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=235063 | ||||||||||||||||||||||
Bug Depends on: | 231332, 234984 | ||||||||||||||||||||||
Bug Blocks: | 84635 | ||||||||||||||||||||||
Attachments: |
|
Description
zalan
2021-10-06 08:32:06 PDT
Created attachment 440374 [details]
Patch
Committed r283634 (242585@main): <https://commits.webkit.org/242585@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 440374 [details]. Re-opened since this is blocked by bug 231332 Created attachment 441416 [details]
Patch
Created attachment 441487 [details]
Patch
Created attachment 441604 [details]
Testcase that fails with top layer reparenting patch
This is now being tracked by rdar://84618684. Created attachment 443512 [details]
Patch
Created attachment 446043 [details]
Patch
Created attachment 446044 [details]
Patch
Created attachment 447750 [details]
Patch
Created attachment 448465 [details]
Patch
Comment on attachment 448465 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=448465&action=review Thanks for taking another look at this! > Source/WebCore/rendering/RenderObject.cpp:666 > + auto containingBlockForRenderer = [](const auto& renderer) -> RenderBlock* { > + if (isInTopLayerOrBackdrop(renderer.style(), renderer.element())) > + return &renderer.view(); > if (renderer.isAbsolutelyPositioned()) > return renderer.containingBlockForAbsolutePosition(); > if (renderer.isFixedPositioned()) containingBlockForAbsolutePosition/containingBlockForFixedPosition is also used in LogicalSelectionOffsetCaches.cpp / LogicalSelectionOffsetCaches.h Should we adapt those instead? (In reply to Tim Nguyen (:ntim) from comment #14) > Comment on attachment 448465 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=448465&action=review > > Thanks for taking another look at this! > > > Source/WebCore/rendering/RenderObject.cpp:666 > > + auto containingBlockForRenderer = [](const auto& renderer) -> RenderBlock* { > > + if (isInTopLayerOrBackdrop(renderer.style(), renderer.element())) > > + return &renderer.view(); > > if (renderer.isAbsolutelyPositioned()) > > return renderer.containingBlockForAbsolutePosition(); > > if (renderer.isFixedPositioned()) > > containingBlockForAbsolutePosition/containingBlockForFixedPosition is also > used in LogicalSelectionOffsetCaches.cpp / LogicalSelectionOffsetCaches.h > > Should we adapt those instead? will do a bit of a cleanup there. Committed r287683 (245779@main): <https://commits.webkit.org/245779@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 448465 [details]. |