New issue
Advanced search Search tips

Issue 818386 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Task

Blocked on:
issue 788590

Blocking:
issue 811502
issue 869867



Sign in to add a comment

[LayoutNG] Hit-testing doesn't work for tables with >1 column

Project Member Reported by xiaoche...@chromium.org, Mar 3 2018

Issue description

Chrome Version: ToT @r540248

What steps will reproduce the problem?
(1) Open "data:text/html, <table><tr><td>foo</td><td>bar" with LayoutNG enabled
(2) Hover over "bar"

What is the expected result?

Mouse turns into I-beam

What happens instead?

Mouse doesn't turn into I-beam. Can't select separate characters in "bar", either.

 
Components: -Blink>Layout Blink>Layout>Table
The cause is that, the NGPhysicalBoxFragment of the table cells have zero Offset(), even though LayoutNGTableCell::Location() is non-zero.

Is it a bug in NG table layout that, when crossing legacy-NG boundary (from LayoutTableSection to LayoutNGTableCell), the Offset() property of the root physical fragment is not properly set?
Blockedon: 788590
https://chromium-review.googlesource.com/c/chromium/src/+/1064597 is unlikely to fix this but I'm not positive.

I suspected that ng table cell hit testing was currently broken but didn't know that had been confirmed.

> The cause is that, the NGPhysicalBoxFragment of the table cells have zero Offset(), even though LayoutNGTableCell::Location() is non-zero.

Yeah, the issue is that a cell's fragment offset is set immediately after it is laid out, which is before the legacy table layout positions the cell. kojii describes it well in issue 788590.

I'm going to look into this for  issue 843512 .
Summary: [LayoutNG] Hit-testing doesn't work for tables with >1 column (was: [LayoutNG] Hit-testing doesn't work for multi-column tables)
to try to distinguish from
<div style=column-count:3>
  <table>...</table>
</div>
Blocking: 869867

Sign in to add a comment