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

Issue 604396 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 603835
Owner:
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Table Cells With Block Display Have Widths Of 0px When Set To 100% Height

Reported by garystim...@gmail.com, Apr 18 2016

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36

Example URL:
https://jsfiddle.net/GazzaS/wh1hap33/2/

Steps to reproduce the problem:
1. View the url https://jsfiddle.net/GazzaS/wh1hap33/2/ on Chrome 50.
2. View the same URL https://jsfiddle.net/GazzaS/wh1hap33/2/ on Chrome 49.
3. Observe the box colors are different.

What is the expected behavior?
The cell with display as block and 100% height should fill the containing row and table.

What went wrong?
It would seem that any cell with a display as block now seems to ignore the 100% height and uses height as 0.

Does it occur on multiple sites: Yes

Is it a problem with a plugin? No 

Did this work before? Yes Build 49 of chrome

Does this work in other browsers? Yes 

Chrome version: 50.0.2661.75  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: Shockwave Flash 21.0 r0

This is a huge problem for our product LABVANTAGE. Chrome 50 now completely breaks our customers intranet sites as the products layout was built using table layouts. We would like to see this escalated for immediate patch.
 
Components: -Blink Blink>Layout>Table
Labels: -Pri-2 Needs-Bisect Pri-1
Hm, can't reproduce on Linux with Version 50.0.2661.75 beta (64-bit) or on Windows with 51.0.2704.7 dev-m but let's see if we can bisect this?
Cc: tabatkins@chromium.org
Oh, I see, I *could* reproduce it -- I see pink on both cells when it should be blue (thought they should be different colors)

It's probably due to the anonymous TD we're generating.

Still curious about the bisect though!

Tab: How is resolving this percentage supposed to work, should it go to the anonymous generated table-cell (and thus be indefinite) or the non-anymous table-row (and thus be definite)?
There is also a related issue with content inside a table cell. Please see fiddle:
https://jsfiddle.net/GazzaS/sgekxahq/4/

This shows a DIV with 100% height inside a standard table cell with the table having fixed height of 200px. In Chrome 49 it shows the text "Test" as the DIV fills the table cell. However in Chrome 50 is does not show any text in the cell and the DIV height is 0.

Thanks,
Gary
Labels: -OS-Windows -Type-Bug -Needs-Bisect OS-All Type-Bug-Regression
Owner: dgro...@chromium.org
Status: Assigned (was: Unconfirmed)
You are probably looking for a change made after 371095 (known good), but no later than 371097 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/526a7f4c610f0f4a0859c199e8cd4fcedcb8234d..1fee3b4957164505e70df4152fa31a2807fefa74

Caused by https://chromium.googlesource.com/chromium/src/+/8876584335b48c99cf8df552ef4d8efebb131041

Assigning to dgrogan@ -- this sounds like an unintentional consequence of your change.
Cc: cbiesin...@chromium.org
@tabatkins, I'd love to get your response to cbiesinger's question in comment 2. My read of https://drafts.csswg.org/css2/visudet.html#the-height-property is that the generated box's containing block is the anonymous table cell, not the table or table row.

@cbiesinger, thanks for bringing this to my attention. It's not an unintentional consequence, it's the one and only intentional consequence. :)

garystimson@,
The fix for https://jsfiddle.net/GazzaS/sgekxahq/4/ is easy, add height:100% to the td:
https://jsfiddle.net/dgrogan/sgekxahq/5/

In https://jsfiddle.net/GazzaS/wh1hap33/2/, your .thecell block is not actually a cell. The fix for this is to add a cell in between the row and the block:
https://jsfiddle.net/dgrogan/wh1hap33/3/
Oh, I said "unintended" because your checkin comment said this is to match Firefox and this testcase does not match Firefox.
Hm, thanks for bringing THAT to my attention. I suspect we were accidentally compatible before but my change uncovered some other incompatibility. David Baron warned that my fix wouldn't bring our pct height into _total_ alignment. Looking into it more.

But, garystimson@, as long as Tab's understanding matches mine, we're not going to revert this change, you'll need to fix your application.
Regarding the suggested workarounds, yes I am aware of these workarounds. Our software is an Laboratory information system installed on the client system and our product has many different versions installed at many different customers. The problem is the workarounds would mean searching through our entire code line for all our released versions of our product and fixing them one by one and then shipping patches for the effected files to every customer. 

Because the rendering worked in prior Chrome versions and in all other browsers would this not be classed as a bug? I can imagine many other systems are going to start observing this behavior once they upgrade to Chrome 50.
So am I understanding dgro@ that before Chrome 50 you were "accidentally compatible" and by this you mean rendered tables like all other browsers. However now you have purposely changed the table-cell height code so that table cells now render differently from other browsers??? 

Comment 11 by e...@chromium.org, Apr 18 2016

Mergedinto: 603835
Status: Duplicate (was: Assigned)

Sign in to add a comment