[webkit-changes] [WebKit/WebKit] b292ae: Selecting ruby with annotation in a table with ver...

Alan Baradlay noreply at github.com
Thu Jul 4 05:32:32 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b292ae863edf6dec7d0bf597dc590f7d109f200e
      https://github.com/WebKit/WebKit/commit/b292ae863edf6dec7d0bf597dc590f7d109f200e
  Author: Alan Baradlay <zalan at apple.com>
  Date:   2024-07-04 (Thu, 04 Jul 2024)

  Changed paths:
    A LayoutTests/fast/table/table-hittest-with-vertical-content-and-overflow-expected.txt
    A LayoutTests/fast/table/table-hittest-with-vertical-content-and-overflow.html
    M Source/WebCore/rendering/RenderTableRow.cpp
    M Source/WebCore/rendering/RenderTableSection.cpp

  Log Message:
  -----------
  Selecting ruby with annotation in a table with vertical-rl mode is very difficult
https://bugs.webkit.org/show_bug.cgi?id=276207
<rdar://130974783>

Reviewed by Antti Koivisto.

1. Modern ruby annotation may introduce overflow on table cells.
2. RenderTableSection runs a slow hittest path on tables with such overflowing cells.

This slow path flips coords for writing mode twice, first for the row itself, followed by for the individual cells.
However both row and cell are all relative to the section (as opposed to cell being relative to enclosing row) which means flipping
coords twice may produce incorrect final coords (this was introduced at r71668 -see webkit.org/b/46417)

Let's just flip coord for writing mode once when probing for the individual cells, the same way the "fast path" does.

* LayoutTests/fast/table/table-hittest-with-vertical-content-and-overflow-expected.txt: Added.
* LayoutTests/fast/table/table-hittest-with-vertical-content-and-overflow.html: Added.
* Source/WebCore/rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::nodeAtPoint):
* Source/WebCore/rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::nodeAtPoint):

Canonical link: https://commits.webkit.org/280664@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