Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: c63ae7fbbf2143360f49a4c955d422a7e619dfed https://github.com/WebKit/WebKit/commit/c63ae7fbbf2143360f49a4c955d422a7e619dfed Author: Alan Baradlay <za...@apple.com> Date: 2023-06-22 (Thu, 22 Jun 2023)
Changed paths: A LayoutTests/fast/inline/inline-with-out-of-flow-box-and-new-sibling-expected.html A LayoutTests/fast/inline/inline-with-out-of-flow-box-and-new-sibling.html M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp Log Message: ----------- Back button fails to render in region selecting pane https://bugs.webkit.org/show_bug.cgi?id=258376 <rdar://109448172> Reviewed by Antti Koivisto. 262470@main starts eagerly setting out-of-flow renderers' final position with the static position delta to fix bugs caused by failed invalidation where we do not manage to mark the ancestor chain dirty and layout never reaches the containing block to compute final position. (In short; we check how much the static position changes through inline layout and use that to compute/set the position of the renderer which in normal cases will be overwritten when layout reaches the containing block. see commit message for details) However in case of non-statically positioned boxes (e.g. left: 0px), 1. the change in the static position does not really affect the final position 2, and moving the renderer by the static position delta may misplace it as the logic is based on the renderer's current position which may or may not be the previous static position (e.g. it's a non-static value (e.g. 0px). Normally such misplaced renderers get "fixed" when the containing block computes the final position, however when the containing block is not dirty (there are valid cases for that) we never recover from this incorrect position. * LayoutTests/fast/block/positioning/static_out_of_flow_inside_layout_boundary.html: * LayoutTests/fast/inline/inline-with-out-of-flow-box-and-new-sibling-expected.html: Added. * LayoutTests/fast/inline/inline-with-out-of-flow-box-and-new-sibling.html: Added. * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::updateRenderTreePositions): Canonical link: https://commits.webkit.org/265404@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes