Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 5b298bedb216083ca2c89eff8d0347fd2c2dcf03 https://github.com/WebKit/WebKit/commit/5b298bedb216083ca2c89eff8d0347fd2c2dcf03 Author: Antti Koivisto <an...@apple.com> Date: 2023-12-10 (Sun, 10 Dec 2023)
Changed paths: M LayoutTests/compositing/repaint/move-backing-sharing-layer-expected.txt M LayoutTests/fast/repaint/absolute-position-change-containing-block-expected.txt M LayoutTests/fast/repaint/incorrect-repaint-when-container-changes-from-overflow-visible-to-hidden-expected.txt M LayoutTests/platform/ios-wk2/compositing/repaint/move-backing-sharing-layer-expected.txt M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h M Source/WebCore/rendering/RenderBlockFlow.cpp M Source/WebCore/rendering/RenderBlockFlow.h Log Message: ----------- [IFC] Optimize out-of-flow positioned boxes in inline layout https://bugs.webkit.org/show_bug.cgi?id=266065 rdar://problem/119461223 Reviewed by Alan Baradlay. We have nothing but out-of-flow boxes so we don't need to run the actual line layout. Instead, we can just set the static positions to the point where all these boxes would end up. This is a common case when using transforms to animate positioned boxes. * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp: (WebCore::LayoutIntegration::LineLayout::shouldSwitchToLegacyOnInvalidation const): Deleted. No need to switch to legacy in this case anymore. * Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.h: * Source/WebCore/rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::invalidateLineLayoutPath): (WebCore::hasSimpleStaticPositionForOutOfFlowChildren): (WebCore::RenderBlockFlow::layoutModernLines): Bail out before creating LineLayout. (WebCore::RenderBlockFlow::setStaticPositionsForSimpleOutOfFlowContent): We only need to reset the static positions in this case. * Source/WebCore/rendering/RenderBlockFlow.h: Canonical link: https://commits.webkit.org/271848@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes