⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 285926 in webkit


Ignore:
Timestamp:
Nov 17, 2021, 6:23:40 AM (5 years ago)
Author:
Alan Bujtas
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):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r285925 r285926  
     12021-11-17  Alan Bujtas  <zalan@apple.com>
     2
     3        [LFC][IFC] LineBuilder should drive the trailing whitespace collapsing/trimming
     4        https://bugs.webkit.org/show_bug.cgi?id=233233
     5
     6        Reviewed by Antti Koivisto.
     7
     8        This is in preparation for adding min/max intrinsic handling to trailing whitespace content.
     9
     10        * layout/formattingContexts/inline/InlineLine.cpp:
     11        (WebCore::Layout::Line::visuallyCollapseHangingOverflowingWhitespace): Use spec term.
     12        (WebCore::Layout::Line::removeTrimmableContent): Deleted.
     13        (WebCore::Layout::Line::visuallyCollapseHangingOverflow): Deleted.
     14        * layout/formattingContexts/inline/InlineLine.h:
     15        * layout/formattingContexts/inline/InlineLineBuilder.cpp:
     16        (WebCore::Layout::LineBuilder::close):
     17
    1182021-11-17  Alan Bujtas  <zalan@apple.com>
    219
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.cpp

    r285863 r285926  
    9191}
    9292
    93 void Line::removeTrimmableContent(InlineLayoutUnit horizontalAvailableSpace)
    94 {
    95     removeTrailingTrimmableContent();
    96     visuallyCollapseHangingOverflow(horizontalAvailableSpace);
    97 }
    98 
    9993void Line::applyRunExpansion(InlineLayoutUnit horizontalAvailableSpace)
    10094{
     
    203197}
    204198
    205 void Line::visuallyCollapseHangingOverflow(InlineLayoutUnit horizontalAvailableSpace)
     199void Line::visuallyCollapseHangingOverflowingGlyphs(InlineLayoutUnit horizontalAvailableSpace)
    206200{
    207201    ASSERT(m_trimmableTrailingContent.isEmpty());
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineLine.h

    r285160 r285926  
    6464    void addTrailingHyphen(InlineLayoutUnit hyphenLogicalWidth);
    6565
    66     void removeTrimmableContent(InlineLayoutUnit horizontalAvailableSpace);
     66    void removeTrailingTrimmableContent();
     67    void visuallyCollapseHangingOverflowingGlyphs(InlineLayoutUnit horizontalAvailableSpace);
    6768    void applyRunExpansion(InlineLayoutUnit horizontalAvailableSpace);
    6869
     
    179180    InlineLayoutUnit addBorderAndPaddingEndForInlineBoxDecorationClone(const InlineItem& inlineBoxStartItem);
    180181    InlineLayoutUnit removeBorderAndPaddingEndForInlineBoxDecorationClone(const InlineItem& inlineBoxEndItem);
    181     void removeTrailingTrimmableContent();
    182     void visuallyCollapseHangingOverflow(InlineLayoutUnit horizontalAvailableSpace);
    183182
    184183    void resetTrailingContent();
  • trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp

    r285860 r285926  
    458458    }
    459459    auto horizontalAvailableSpace = m_lineLogicalRect.width();
    460     m_line.removeTrimmableContent(horizontalAvailableSpace);
     460    m_line.removeTrailingTrimmableContent();
     461    m_line.visuallyCollapseHangingOverflowingGlyphs(horizontalAvailableSpace);
    461462    auto horizontalAlignment = root().style().textAlign();
    462463    auto runsExpandHorizontally = horizontalAlignment == TextAlignMode::Justify && !isLastLineWithInlineContent(lineRange, needsLayoutRange.end, committedContent.partialTrailingContentLength);
Note: See TracChangeset for help on using the changeset viewer.