Title: [285926] trunk/Source/WebCore
- Revision
- 285926
- Author
- [email protected]
- Date
- 2021-11-17 06:23:40 -0800 (Wed, 17 Nov 2021)
Log Message
[LFC][IFC] LineBuilder should drive the trailing whitespace collapsing/trimming
https://bugs.webkit.org/show_bug.cgi?id=233233
Reviewed by Antti Koivisto.
This is in preparation for adding min/max intrinsic handling to trailing whitespace content.
* layout/formattingContexts/inline/InlineLine.cpp:
(WebCore::Layout::Line::visuallyCollapseHangingOverflowingWhitespace): Use spec term.
(WebCore::Layout::Line::removeTrimmableContent): Deleted.
(WebCore::Layout::Line::visuallyCollapseHangingOverflow): Deleted.
* layout/formattingContexts/inline/InlineLine.h:
* layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::close):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (285925 => 285926)
--- trunk/Source/WebCore/ChangeLog 2021-11-17 14:19:54 UTC (rev 285925)
+++ trunk/Source/WebCore/ChangeLog 2021-11-17 14:23:40 UTC (rev 285926)
@@ -1,5 +1,22 @@
2021-11-17 Alan Bujtas <[email protected]>
+ [LFC][IFC] LineBuilder should drive the trailing whitespace collapsing/trimming
+ https://bugs.webkit.org/show_bug.cgi?id=233233
+
+ Reviewed by Antti Koivisto.
+
+ This is in preparation for adding min/max intrinsic handling to trailing whitespace content.
+
+ * layout/formattingContexts/inline/InlineLine.cpp:
+ (WebCore::Layout::Line::visuallyCollapseHangingOverflowingWhitespace): Use spec term.
+ (WebCore::Layout::Line::removeTrimmableContent): Deleted.
+ (WebCore::Layout::Line::visuallyCollapseHangingOverflow): Deleted.
+ * layout/formattingContexts/inline/InlineLine.h:
+ * layout/formattingContexts/inline/InlineLineBuilder.cpp:
+ (WebCore::Layout::LineBuilder::close):
+
+2021-11-17 Alan Bujtas <[email protected]>
+
[IFC][Integration] Clear the preferredLogicalWidths dirty bits after calling LineLayout::computeIntrinsicWidthConstraints
https://bugs.webkit.org/show_bug.cgi?id=233201
Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp (285925 => 285926)
--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2021-11-17 14:19:54 UTC (rev 285925)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp 2021-11-17 14:23:40 UTC (rev 285926)
@@ -90,12 +90,6 @@
m_trailingSoftHyphenWidth = { };
}
-void Line::removeTrimmableContent(InlineLayoutUnit horizontalAvailableSpace)
-{
- removeTrailingTrimmableContent();
- visuallyCollapseHangingOverflow(horizontalAvailableSpace);
-}
-
void Line::applyRunExpansion(InlineLayoutUnit horizontalAvailableSpace)
{
ASSERT(formattingContext().root().style().textAlign() == TextAlignMode::Justify);
@@ -202,7 +196,7 @@
m_contentLogicalWidth -= m_trimmableTrailingContent.remove();
}
-void Line::visuallyCollapseHangingOverflow(InlineLayoutUnit horizontalAvailableSpace)
+void Line::visuallyCollapseHangingOverflowingGlyphs(InlineLayoutUnit horizontalAvailableSpace)
{
ASSERT(m_trimmableTrailingContent.isEmpty());
// If white-space is set to pre-wrap, the UA must
Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h (285925 => 285926)
--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h 2021-11-17 14:19:54 UTC (rev 285925)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h 2021-11-17 14:23:40 UTC (rev 285926)
@@ -63,7 +63,8 @@
std::optional<InlineLayoutUnit> trailingSoftHyphenWidth() const { return m_trailingSoftHyphenWidth; }
void addTrailingHyphen(InlineLayoutUnit hyphenLogicalWidth);
- void removeTrimmableContent(InlineLayoutUnit horizontalAvailableSpace);
+ void removeTrailingTrimmableContent();
+ void visuallyCollapseHangingOverflowingGlyphs(InlineLayoutUnit horizontalAvailableSpace);
void applyRunExpansion(InlineLayoutUnit horizontalAvailableSpace);
struct Run {
@@ -178,8 +179,6 @@
InlineLayoutUnit addBorderAndPaddingEndForInlineBoxDecorationClone(const InlineItem& inlineBoxStartItem);
InlineLayoutUnit removeBorderAndPaddingEndForInlineBoxDecorationClone(const InlineItem& inlineBoxEndItem);
- void removeTrailingTrimmableContent();
- void visuallyCollapseHangingOverflow(InlineLayoutUnit horizontalAvailableSpace);
void resetTrailingContent();
Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp (285925 => 285926)
--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp 2021-11-17 14:19:54 UTC (rev 285925)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp 2021-11-17 14:23:40 UTC (rev 285926)
@@ -457,7 +457,8 @@
return lineRange;
}
auto horizontalAvailableSpace = m_lineLogicalRect.width();
- m_line.removeTrimmableContent(horizontalAvailableSpace);
+ m_line.removeTrailingTrimmableContent();
+ m_line.visuallyCollapseHangingOverflowingGlyphs(horizontalAvailableSpace);
auto horizontalAlignment = root().style().textAlign();
auto runsExpandHorizontally = horizontalAlignment == TextAlignMode::Justify && !isLastLineWithInlineContent(lineRange, needsLayoutRange.end, committedContent.partialTrailingContentLength);
if (runsExpandHorizontally)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes