[webkit-changes] [WebKit/WebKit] 4f0b33: [css-line-clamp] Start using block-ellipsis string...
Alan Baradlay
noreply at github.com
Fri Aug 30 08:46:43 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4f0b33767232df45035b1bba7f0dc95c75089b04
https://github.com/WebKit/WebKit/commit/4f0b33767232df45035b1bba7f0dc95c75089b04
Author: Alan Baradlay <zalan at apple.com>
Date: 2024-08-30 (Fri, 30 Aug 2024)
Changed paths:
M Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLayoutState.h
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.h
M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp
M Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h
M Source/WebCore/layout/integration/inline/InlineIteratorLineBoxModernPath.h
Log Message:
-----------
[css-line-clamp] Start using block-ellipsis string for ellipsis content
https://bugs.webkit.org/show_bug.cgi?id=278863
Reviewed by Antti Koivisto.
1. Ellipsis content is either '...' (overflow in inline direction and legacy line clamp)
or supplied by 'block-ellipsis' css property (could be none, meaning no change to rendering other than truncation in block direction)
2. InlineDisplay::Line now has Ellipsis struct containing all ellipsis related content.
* Source/WebCore/layout/formattingContexts/inline/InlineFormattingContext.cpp:
(WebCore::Layout::InlineFormattingContext::lineLayout):
(WebCore::Layout::InlineFormattingContext::createDisplayContentForInlineContent):
* Source/WebCore/layout/formattingContexts/inline/InlineLayoutState.h:
(WebCore::Layout::InlineLayoutState::setLegacyClampedLineIndex):
(WebCore::Layout::InlineLayoutState::legacyClampedLineIndex const):
(WebCore::Layout::InlineLayoutState::setClampedLineIndex): Deleted.
(WebCore::Layout::InlineLayoutState::clampedLineIndex const): Deleted.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLine.h:
(WebCore::InlineDisplay::Line::setEllipsis):
(WebCore::InlineDisplay::Line::ellipsis const):
(WebCore::InlineDisplay::Line::hasEllipsis const):
(WebCore::InlineDisplay::Line::isFullyTruncatedInBlockDirection const):
(WebCore::InlineDisplay::Line::moveInBlockDirection):
(WebCore::InlineDisplay::Line::visibleRectIgnoringBlockDirection const):
(WebCore::InlineDisplay::Line::ellipsisVisualRect const): Deleted.
(WebCore::InlineDisplay::Line::ellipsisText const): Deleted.
(WebCore::InlineDisplay::Line::setEllipsisVisualRect): Deleted.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::trailingEllipsisVisualRectAfterTruncation):
(WebCore::Layout::makeRoomForLinkBoxOnClampedLineIfNeeded):
(WebCore::Layout::moveDisplayBoxToClampedLine):
(WebCore::Layout::InlineDisplayLineBuilder::addLegacyLineClampTrailingLinkBoxIfApplicable):
(WebCore::Layout::InlineDisplayLineBuilder::applyEllipsisIfNeeded):
(WebCore::Layout::InlineDisplayLineBuilder::trailingEllipsisVisualRectAfterTruncation): Deleted.
(WebCore::Layout::InlineDisplayLineBuilder::addLineClampTrailingLinkBoxIfApplicable): Deleted.
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.h:
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::ellipsisTextInInlineDirection):
(WebCore::Layout::TextUtil::ellipsisTextRun): Deleted.
* Source/WebCore/layout/formattingContexts/inline/text/TextUtil.h:
* Source/WebCore/layout/integration/inline/InlineIteratorLineBoxModernPath.h:
(WebCore::InlineIterator::LineBoxIteratorModernPath::ellipsisVisualRectIgnoringBlockDirection const):
(WebCore::InlineIterator::LineBoxIteratorModernPath::ellipsisText const):
Canonical link: https://commits.webkit.org/282973@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list