[webkit-changes] [WebKit/WebKit] db30cc: text-autospace: Trim spacing between text runs pla...
Vitor Roriz
noreply at github.com
Thu Nov 14 21:39:57 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: db30cc63c7ac0e8a61e33b2dcf0b5089e46e3482
https://github.com/WebKit/WebKit/commit/db30cc63c7ac0e8a61e33b2dcf0b5089e46e3482
Author: Vitor Roriz <vitor.roriz at apple.com>
Date: 2024-11-14 (Thu, 14 Nov 2024)
Changed paths:
M LayoutTests/TestExpectations
M Source/WebCore/layout/formattingContexts/inline/InlineContentCache.h
M Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineLineTypes.h
M Source/WebCore/layout/formattingContexts/inline/RangeBasedLineBuilder.cpp
M Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp
Log Message:
-----------
text-autospace: Trim spacing between text runs placed on different lines
https://bugs.webkit.org/show_bug.cgi?id=283079
rdar://139824338
Reviewed by Alan Baradlay.
Text content can be split into multiple different inline text items.
At this patch we use TrimmableTextSpacings in the TextSpacingContext to identify spacing that was added to a text item because of
its adjacency to another text item.
Ex: if we have 2 text items A and B, and the last character of A and the first character of B require spacing to be added between them.
This spacing is always added as a leading spacing to B. However, during line breaking, if B gets placed on a different line as A, they
are no longer adjacent and we must trim such spacing.
* LayoutTests/TestExpectations:
* Source/WebCore/layout/formattingContexts/inline/InlineContentCache.h:
(WebCore::Layout::InlineContentCache::InlineItems::hasTextAutospace const):
* Source/WebCore/layout/formattingContexts/inline/InlineItemsBuilder.cpp:
(WebCore::Layout::InlineItemsBuilder::build):
(WebCore::Layout::handleTextSpacing):
(WebCore::Layout::InlineItemsBuilder::computeInlineTextItemWidths):
* Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::candidateContentForLine):
* Source/WebCore/layout/formattingContexts/inline/InlineLineTypes.h:
* Source/WebCore/layout/formattingContexts/inline/RangeBasedLineBuilder.cpp:
(WebCore::Layout::RangeBasedLineBuilder::isEligibleForRangeInlineLayout):
* Source/WebCore/layout/formattingContexts/inline/TextOnlySimpleLineBuilder.cpp:
(WebCore::Layout::TextOnlySimpleLineBuilder::isEligibleForSimplifiedTextOnlyInlineLayoutByContent):
Canonical link: https://commits.webkit.org/286630@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