[webkit-changes] [WebKit/WebKit] 43db1e: [LFC][IFC] Hang whitespace when 'line-break: after...
alan
noreply at github.com
Sun Sep 25 14:29:36 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 43db1ee01868a20cd9448bc160dd3bbb708e0693
https://github.com/WebKit/WebKit/commit/43db1ee01868a20cd9448bc160dd3bbb708e0693
Author: Alan Bujtas <zalan at apple.com>
Date: 2022-09-25 (Sun, 25 Sep 2022)
Changed paths:
M LayoutTests/TestExpectations
A LayoutTests/fast/text/pre-wrap-with-line-break-after-white-space-expected.html
A LayoutTests/fast/text/pre-wrap-with-line-break-after-white-space.html
M Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp
M Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.h
Log Message:
-----------
[LFC][IFC] Hang whitespace when 'line-break: after-white-space' is present
https://bugs.webkit.org/show_bug.cgi?id=245644
Reviewed by Antti Koivisto.
This patch ensures that we don't assume that the hanging trailing run is a dedicated whitespace run.
Before this non-standard "line-break: after-white-space" it was a correct assumption because
- we either had whitespace runs with soft wrap opportunities at both sides ("A B" produces the following runs [A][ ][B])
- or in case of soft wrap opportunity only after whitespace (white-space: break-spaces) the "end-of-line spaces" rule says no "hang".
"line-break: after-white-space" introduces hanging trailing whitespace content with soft wrap opportunity only after whitespace: "A B" -> [A ][B].
* LayoutTests/TestExpectations:
* LayoutTests/fast/text/pre-wrap-with-line-break-after-white-space-expected.html: Added.
* LayoutTests/fast/text/pre-wrap-with-line-break-after-white-space.html: Added.
* Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.cpp:
(WebCore::Layout::InlineContentBreaker::processOverflowingContent const):
* Source/WebCore/layout/formattingContexts/inline/InlineContentBreaker.h:
(WebCore::Layout::InlineContentBreaker::ContinuousContent::hangingContentWidth const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::hasHangingContent const):
(WebCore::Layout::InlineContentBreaker::ContinuousContent::isHangingContent const):
Canonical link: https://commits.webkit.org/254845@main
More information about the webkit-changes
mailing list