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

Issue 784822 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Transition is blocking the display of borders

Reported by robert.a...@gmail.com, Nov 14 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

Steps to reproduce the problem:
I use a framework (PrimeFaces) that has something like:
.ui-layout-unit {
  visibility: hidden;
}
and 
table tr td {
  border: solid 1px #000040;
  transition: all 0.2s ease;
}
in their CSS.

You can see a demo here: https://codepen.io/anon/pen/POjvKZ

To reproduce, please go use the Developer Tools and trigger / remove "visibility: hidden;". Or use JavaScript to remove that CSS declaration.

Sometimes it works fine, sometimes it doesn't.

What is the expected behavior?
Display the borders.

What went wrong?
The borders aren't showing because of transition, visiblity: hidden and border-collapse: collapse.

It works just fine in v59 or lower versions of Chrome.

Did this work before? Yes v59

Chrome version: 62.0.3202.94  Channel: stable
OS Version: 10.0
Flash Version:
 
Labels: Needs-Bisect Needs-Triage-M62
Cc: divya.pa...@techmahindra.com
Components: Blink>Layout>Table
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision Triaged-ET M-64 OS-Linux OS-Mac Pri-1
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Unconfirmed)
Able to reproduce this issue on Windows 10, Ubuntu 14.04, Mac 10.12.6 with Chrome reported version 62.0.3202.94 and latest Canary 64.0.3269.0 as per steps mentioned in original comment

Manual Bisect:
-------------
Good Build :  61.0.3141.0
Bad Build:  61.0.3142.0

Bisect Tool Info:
----------------
You are probably looking for a change made after 482175 (known good), but no later than 482176 (first known bad).
CHANGELOG URL:
https://chromium.googlesource.com/chromium/src/+log/1ffeff7a49a7aeeb48fc2ac5f3d4f24f6194e85c..94e1d1e92fa1d4734de08210747d36126ce235aa

Possible suspect:
----------------
https://chromium-review.googlesource.com/540178

@Xianzhu Wang, kindly take a look and please help us to reassign this issue to a right owner if not with respect to this change.

Thanks!
Components: -UI -Blink>Layout>Table Blink>Paint
Status: Started (was: Assigned)
Reduced test case. Interestingly, firefox has the same bug.
table-transition.html
300 bytes View Download
^ Firefox 57.0 seems fine.
border-ff-57.PNG
63.7 KB View Download
Sorry, the test case in #4 is not the exact one that I reproduced the issue in Firefox. Please try this test case. That is, Chrome's issue is broader than Firefox's.

Fix will land soon: https://chromium-review.googlesource.com/c/chromium/src/+/773401.
table-transition1.html
313 bytes View Download
^ Affirmative. It doesn't work in Firefox too.
Thanks.
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 17 2017

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

commit 2067cb293a3ae01ac4c80f32d2ea6960849b220f
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Fri Nov 17 21:54:37 2017

[PE] Invalidate collapsed borders when cell's visibility changes

Cell's visibility affects painted result of collapsed borders (see
CollapsedBorderPainter::PaintCollapsedBorders). We need to invalidate
collapsed borders when cell's visibility changes. The solution is not
optimal because the collapsed border values won't change (we just need
to repaint), but it's a solution with minimal change.

Bug:  784822 
Change-Id: I1f5c533f0e44d8afb32d399c87efa04b9da05802
Reviewed-on: https://chromium-review.googlesource.com/773401
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517574}
[add] https://crrev.com/2067cb293a3ae01ac4c80f32d2ea6960849b220f/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-visibility-expected.html
[add] https://crrev.com/2067cb293a3ae01ac4c80f32d2ea6960849b220f/third_party/WebKit/LayoutTests/paint/invalidation/table/collapsed-border-cell-visibility.html
[modify] https://crrev.com/2067cb293a3ae01ac4c80f32d2ea6960849b220f/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp

Status: Fixed (was: Started)

Sign in to add a comment