[webkit-changes] [WebKit/WebKit] 460831: [IFC] Make list marker handling logical coordinate...
Alan Baradlay
noreply at github.com
Wed Dec 28 15:23:39 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 46083178178c8f6c54e1136813c1ea81b1a3c301
https://github.com/WebKit/WebKit/commit/46083178178c8f6c54e1136813c1ea81b1a3c301
Author: Alan Baradlay <zalan at apple.com>
Date: 2022-12-28 (Wed, 28 Dec 2022)
Changed paths:
M LayoutTests/platform/ios/css1/box_properties/padding_right-expected.txt
M LayoutTests/platform/ios/fast/lists/001-expected.txt
M LayoutTests/platform/ios/fast/lists/002-expected.txt
M LayoutTests/platform/ios/fast/lists/002-vertical-expected.txt
M LayoutTests/platform/mac/css1/box_properties/margin_right-expected.txt
M LayoutTests/platform/mac/css1/box_properties/padding_right-expected.txt
M LayoutTests/platform/mac/fast/lists/001-expected.txt
M LayoutTests/platform/mac/fast/lists/002-expected.txt
M LayoutTests/platform/mac/fast/lists/002-vertical-expected.txt
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h
M Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp
M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp
Log Message:
-----------
[IFC] Make list marker handling logical coordinate space based
https://bugs.webkit.org/show_bug.cgi?id=249899
Reviewed by Antti Koivisto.
This is in preparation for supporting nested list markers with intrusive floats.
(Nested list markers -> when multiple of them are collapsed to the same line)
In this patch we start resolving list marker positions at line box construction time in logical space
where resolving position means computing the correct (negative) margin start for the marker (negative margin pulls the list marker to logical left direction while
keeping the rest of the line content intact).
This simplifies position logic (no need to take vertical/rtl direction into account) and also helps when dealing with intrusive floats.
* LayoutTests/platform/ios/css1/box_properties/padding_right-expected.txt:
* LayoutTests/platform/ios/fast/lists/001-expected.txt:
* LayoutTests/platform/ios/fast/lists/002-expected.txt:
* LayoutTests/platform/ios/fast/lists/002-vertical-expected.txt:
* LayoutTests/platform/mac/css1/box_properties/margin_right-expected.txt:
* LayoutTests/platform/mac/css1/box_properties/padding_right-expected.txt:
* LayoutTests/platform/mac/fast/lists/001-expected.txt:
* LayoutTests/platform/mac/fast/lists/002-expected.txt:
* LayoutTests/platform/mac/fast/lists/002-vertical-expected.txt:
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.cpp:
(WebCore::Layout::InlineFormattingGeometry::adjustMarginStartForListMarker const):
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingGeometry.h:
* Source/WebCore/layout/formattingContexts/inline/InlineLineBoxBuilder.cpp:
(WebCore::Layout::LineBoxBuilder::constructInlineLevelBoxes):
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::outsideListMarkerVisualPosition const): Deleted.
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::updateListMarkerDimensions):
Canonical link: https://commits.webkit.org/258349@main
More information about the webkit-changes
mailing list