New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 834648 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 2
Type: Bug



Sign in to add a comment

Misaligned table border (rendering)

Project Member Reported by carlosk@chromium.org, Apr 19 2018

Issue description

Somewhat ironically, on the very BlinkOn page I noticed a misaligned border in the table  of the 2nd day schedule:

https://docs.google.com/document/u/1/d/e/2PACX-1vSUiIugjqPJgKeKqn0uVJ9gCSwG8CquMQPhkM4G6RITiv2YliJ_98e3909Z2kEXUSQ1YEaWMSuANpd9/pub

I tested the same page on Safari and that specific border is rendered correctly.

Chrome version I am using is: 65.0.3325.181
 
Chrome table border is misaligned.png
338 KB View Download
Safari table border is correctly rendered.png
367 KB View Download
Labels: Needs-Bisect
I see it everywhere there is a "Break" row, but not "lunch" row, on both days. Also on canary 68.0.3399.0

Comment 2 by e...@chromium.org, Apr 19 2018

Labels: -Pri-3 Pri-2
Cc: sindhu.chelamcherla@chromium.org
Labels: -Needs-Bisect hasbisect-per-revision Target-67 RegressedIn-61 Triaged-ET Target-66 FoundIn-66 FoundIn-67 Needs-Milestone M-68 FoundIn-68 Target-68 OS-Linux OS-Windows
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
Able to reproduce this issue on reported version 65.0.3325.181, on latest stable 66.0.3359.117 and on latest canary 68.0.3400.0 using Mac 10.13.3, Windows 10 and Ubuntu 14.04.

Good Build: 61.0.3137.0
Bad Build: 61.0.3138.0

You are probably looking for a change made after 481330 (known good), but no later than 481331 (first known bad).
CHANGELOG URL:
 https://chromium.googlesource.com/chromium/src/+log/08a57486698031c8dc183e77503d8a54f8987ec8..0c1f73a50ab7c31c987decaba4abb5e3cbe8e286

Reviewed-on: https://chromium-review.googlesource.com/528561

@ wangxianzhu: Please confirm the bug and help in re-assigning if this is not related to your change.

Thanks!
In the row, the 3 cells have different heights:
 the first: 14.688px
 the second: 14.688px
 the third: 14.344px

In firefox, they are all 14.866px. In Safari (high DPI), they are all 31px (which seems multiplied by the device scale and rounded).

I tried 61.0.3137.0 with the page and it also shows the different heights. So I guess this is a layout issue exposed by the collapsed-border-painting CL. Will look into more details to verify.

(BTW, what's the relationship between the M-XX and Target-XX labels? I didn't find documentation about this.)
Owner: dgro...@chromium.org
I think this is a table layout issue that cells in the same row get different heights. Reduced test case attached. Bisected and found that the issue had existed before r340000.

The current paint code correctly snaps the cell borders to whole pixels, but because of the different heights, the bottom borders of the cells are snapped to different pixels. The layout issue was hidden by the old paint code before my CL.

dgrogan@ can you take a look?
table-misalign.html
669 bytes View Download
Cc: wangxianzhu@chromium.org
Labels: ReleaseBlock-Stable
Can we have a fix during M68 time frame?
Cc: -wangxianzhu@chromium.org dgro...@chromium.org
Owner: wangxianzhu@chromium.org
I will first try to mimic the old painting behavior we used before r481331.
Components: -Blink>Layout>Table Blink>Paint
Filed bug 838401 for the different height issue. Changing this issue to Blink>Paint for the workaround.
Project Member

Comment 10 by bugdroid1@chromium.org, May 1 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc

commit ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Tue May 01 20:32:25 2018

[PE] When painting collapsed borders, snap size to whole pixels

For now we don't fully support subpixel layout in tables, but may
produce subpixel layout results and different heights for cells in
the same row (crbug.com/838401).

Now use the traditional method to snap size to pixels before
applying paint offset for collapsed borders.

Bug:  834648 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ic8866e1a9d52bb6b60ea96dfda692040af8ecea8
Reviewed-on: https://chromium-review.googlesource.com/1036305
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#555171}
[add] https://crrev.com/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc/third_party/WebKit/LayoutTests/paint/tables/align-subpixel-td-expected.html
[add] https://crrev.com/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc/third_party/WebKit/LayoutTests/paint/tables/align-subpixel-td.html
[modify] https://crrev.com/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc/third_party/blink/renderer/core/paint/collapsed_border_painter.cc
[modify] https://crrev.com/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc/third_party/blink/renderer/core/paint/table_cell_painter.cc
[modify] https://crrev.com/ebe018ff6c1d4240331a2be96fe5ed8256a6b0fc/third_party/blink/renderer/core/paint/table_cell_painter.h

Status: Fixed (was: Assigned)

Comment 12 by woxxom@gmail.com, May 25 2018

Will you merge the fix to 67?

Comment 13 by e...@chromium.org, May 25 2018

 Issue 846628  has been merged into this issue.
Re #c12: Sorry, the fix won't be merged into M67.

Labels: TE-Verified-69.0.3443.0 TE-Verified-M69
Able to reproduce the issue on build without fix, hence verifying the fix on latest canary 69.0.3443.0 using Windows 10, Ubuntu 14.04 and Mac 10.13.3.

Now observing equal heights in table, tested with html file given in comment#5.

Attaching screenshot for reference. As fix is working as intended, adding verified labels.

Thanks!
834648_M69.png
126 KB View Download

Sign in to add a comment