[webkit-changes] [WebKit/WebKit] 3001e5: text-overflow: ellipsis truncates the text incorre...

Alan Baradlay noreply at github.com
Wed Apr 26 10:05:06 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3001e5dd0235ad99a1d9caa08ab7b5ce37008754
      https://github.com/WebKit/WebKit/commit/3001e5dd0235ad99a1d9caa08ab7b5ce37008754
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2023-04-26 (Wed, 26 Apr 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    M LayoutTests/fast/inline/text_overflow_ellipsis_simple-expected.html
    M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp
    M Source/WebCore/rendering/TextBoxPainter.cpp
    M Source/WebCore/rendering/TextBoxSelectableRange.h

  Log Message:
  -----------
  text-overflow: ellipsis truncates the text incorrectly in RTL
https://bugs.webkit.org/show_bug.cgi?id=164999
<rdar://problem/29464657>

Reviewed by Antti Koivisto.

This patch addresses https://github.com/w3c/csswg-drafts/issues/2125 which clarifies truncation behavior
when content direction != inline direction.

truncateOverflowingDisplayBoxes: mismatching direction requires truncation starting from the beginning of the content.
paintForegroundAndDecorations: since TextBoxSelectableRange only has the truncated length, we need to adjust the position for mismatching direction.

* LayoutTests/TestExpectations: 27 and 28 have also progressed but we seem to have some rounding bugs getting an extra character truncated (Chrome too).
* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayLineBuilder.cpp:
(WebCore::Layout::truncateOverflowingDisplayBoxes):
* Source/WebCore/rendering/TextBoxPainter.cpp:
(WebCore::TextBoxPainter<TextBoxPath>::paintForegroundAndDecorations):
(WebCore::TextBoxPainter<TextBoxPath>::computePaintRect):

Canonical link: https://commits.webkit.org/263418@main




More information about the webkit-changes mailing list