[webkit-changes] [WebKit/WebKit] ddd138: Fix fast/css/text-overflow-ellipsis-and-floating-i...

alan noreply at github.com
Sat Sep 10 06:17:19 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ddd13814eaaef6e5dfb8f78107a9178aa1b45786
      https://github.com/WebKit/WebKit/commit/ddd13814eaaef6e5dfb8f78107a9178aa1b45786
  Author: Alan Bujtas <zalan at apple.com>
  Date:   2022-09-10 (Sat, 10 Sep 2022)

  Changed paths:
    M Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayBox.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLine.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp

  Log Message:
  -----------
  Fix fast/css/text-overflow-ellipsis-and-floating-input-hittest.html
https://bugs.webkit.org/show_bug.cgi?id=244921

Reviewed by Antti Koivisto.

When ellipsis is present
1. we don't shrink the truncated text box (or the root inline box)
2. Hit testing beyond the ellipsis usually means out of the block hit test.

However intrusive floats can float right at the edge of the ellipsis content and yet still be inside the block container. In such cases we can't use the regular text box/root box geometry and need to take truncation into account so that we don't see the truncated text/root inline box as an overlapping content (this is similar to legacy line layout).

* Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayBox.h:
(WebCore::InlineDisplay::Box::visibleRectIgnoringBlockDirection):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLine.h:
(WebCore::LayoutIntegration::Line::visibleRectIgnoringBlockDirection const):
* Source/WebCore/layout/integration/inline/LayoutIntegrationLineLayout.cpp:
(WebCore::LayoutIntegration::LineLayout::hitTest):

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




More information about the webkit-changes mailing list