 Chromium Code Reviews
 Chromium Code Reviews Issue 19390002:
  Spanning logical height is not added properly in all spanning rows.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@RowSpan_B254914_6
    
  
    Issue 19390002:
  Spanning logical height is not added properly in all spanning rows.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@RowSpan_B254914_6| Index: LayoutTests/fast/table/table-rowspan-height-distribution-in-rows-3.html | 
| diff --git a/LayoutTests/fast/table/table-rowspan-height-distribution-in-rows-3.html b/LayoutTests/fast/table/table-rowspan-height-distribution-in-rows-3.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..dd00ab92a4683ba858cf509ac66b2762f3c7404f | 
| --- /dev/null | 
| +++ b/LayoutTests/fast/table/table-rowspan-height-distribution-in-rows-3.html | 
| @@ -0,0 +1,430 @@ | 
| +<!DOCTYPE html> | 
| +<html> | 
| +<head> | 
| + <title>Table rowspan</title> | 
| + <script src="../../resources/check-layout.js"></script> | 
| + <style> | 
| + td { font: 15px/1 Ahem } | 
| + #div-table { display: table; border-spacing: 2px } | 
| + #div-row, #span-row { display: table-row } | 
| + #div-cell, #span-cell { display: table-cell } | 
| + #div-table, #div-row, #span-row, #div-cell, #span-cell{ border: 1px solid black } | 
| + </style> | 
| +</head> | 
| +<body onload="checkLayout('tr')"> | 
| +<h3>Test for chromium bug : <a href="https://code.google.com/p/chromium/issues/detail?id=249600">249600</a>. Extra logical height is not properly spread over the rows in a row-spanning cell.</h3> | 
| +<h4>Rows in rowspan should get proportional height.</h4> | 
| +<h5>Test 1 - Three rowSpan cells</h5> | 
| +<table border="1"> | 
| + <tbody> | 
| + <tr> | 
| + <td>row0 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td rowspan="4">row1 col0 - rowspan=4</td> | 
| + <td>row1 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row2 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row3 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row4 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row5 col0</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row6 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row7 col0</td> | 
| + <td rowspan="4" style="height:300px">row7 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row8 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td>row9 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="75"> | 
| + <td>row10 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row11 col0</td> | 
| + <td>row11 col1</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row12 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="59"> | 
| + <td>row13 col0</td> | 
| + <td rowspan="4" style="height:300px">row13 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td style="height:70px">row14 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td style="height:30px">row15 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="104"> | 
| + <td style="height:100px">row16 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="54"> | 
| + <td style="height:50px">row17 col0</td> | 
| + <td>row17 col1</td> | 
| + </tr> | 
| 
Julien - ping for review
2013/07/24 23:14:41
Shouldn't we test a mix of specified (percentage a
 
a.suchit
2013/07/25 10:08:01
I am mostly writing the test cases based on the ch
 | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 2 - Three rowSpan cell and specified table width</h5> | 
| +<table border="1" width="607"> | 
| + <tbody> | 
| + <tr data-expected-height="19"> | 
| + <td rowspan="5">row0 col0 - rowspan=5</td> | 
| + <td>row0 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row1 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row2 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row3 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row4 col1</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row5 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row6 col0</td> | 
| + <td rowspan="4" style="height:300px">row6 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row7 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td>row8 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="75"> | 
| + <td>row9 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row10 col0</td> | 
| + <td>row10 col1</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row11 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="59"> | 
| + <td>row12 col0</td> | 
| + <td rowspan="4" style="height:300px">row12 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td style="height:70px">row13 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td style="height:30px">row14 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="104"> | 
| + <td style="height:100px">row15 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="54"> | 
| + <td style="height:50px">row16 col0</td> | 
| + <td>row16 col1</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 3 - Continuous 3 rowSpan cells</h5> | 
| +<table border="1"> | 
| + <tbody> | 
| + <tr> | 
| + <td>row0 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td rowspan="4">row1 col0 - rowspan=4</td> | 
| + <td>row1 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row2 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row3 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row4 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row5 col0</td> | 
| + <td rowspan="4" style="height:300px">row5 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="57"> | 
| + <td>row6 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td>row7 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="75"> | 
| + <td>row8 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="59"> | 
| + <td>row9 col0</td> | 
| + <td rowspan="4" style="height:300px">row9 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="74"> | 
| + <td style="height:70px">row10 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td style="height:30px">row11 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="104"> | 
| + <td style="height:100px">row12 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="54"> | 
| + <td style="height:50px">row13 col0</td> | 
| + <td>row13 col1</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 4 - Two rowSpan cells, 2 rows in first spanning cell have percent height and 2 rows in second spanning cell have fixed height</h5> | 
| +<table border="1"> | 
| + <tbody> | 
| + <tr> | 
| + <td>row0 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="21"> | 
| + <td rowspan="4" style="height:300px">row1 col0 - rowspan=4</td> | 
| + <td>row1 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="199" style="height:20%"> | 
| + <td>row2 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row3 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="74" style="height:30%"> | 
| + <td>row4 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row5 col0</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row6 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="58"> | 
| + <td>row7 col0</td> | 
| + <td rowspan="4" style="height:300px">row7 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="50" style="height:50px"> | 
| + <td>row8 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="89"> | 
| + <td>row9 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="70" style="height:70px"> | 
| + <td>row10 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row11 col0</td> | 
| + <td>row11 col1</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row12 col0</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +</table> | 
| +<h5>Test 5 - Two rowSpan cells, in first spanning cell, 2 rows have percent height and 2 rows have fixed height and in second spanning cell, 1 row have fixed height, 1 row have percent height and remaining are auto.</h5> | 
| +<table border="1"> | 
| + <tbody> | 
| + <tr> | 
| + <td>row0 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="64"> | 
| + <td rowspan="4" style="height:300px">row1 col0 - rowspan=4</td> | 
| + <td style="height:60px">row1 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="152" style="height:20%"> | 
| + <td>row2 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="40" style="height:40px"> | 
| + <td>row3 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19" style="height:30%"> | 
| + <td>row4 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row5 col0</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row6 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row7 col0</td> | 
| + <td rowspan="4" style="height:300px">row7 col1 - rowspan=4</td> | 
| + </tr> | 
| + <tr data-expected-height="218" style="height:30%"> | 
| + <td>row8 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="20"> | 
| + <td>row9 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="50" style="height:50px"> | 
| + <td>row10 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row11 col0</td> | 
| + <td>row11 col1</td> | 
| + </tr> | 
| + <tr> | 
| + <td>row12 col0</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 6 - RowSpan and ColSpan. </h5> | 
| 
Julien - ping for review
2013/07/24 23:14:41
From the previous diff, this seemed like starting
 
a.suchit
2013/07/25 10:08:01
changed named from table-rowspan-height-distributi
 
a.suchit
2013/07/25 10:08:01
Done.
 | 
| +<table border="1" width="607"> | 
| + <tbody> | 
| + <tr data-expected-height="34"> | 
| + <td>row0 col0</td> | 
| + <td rowspan="3" colspan="2">row0 col1 - rowspan=3 colspan=2</td> | 
| + <td>row0 col2</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td>row1 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td>row2 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td colspan="3">row3 col0 - colspan=3</td> | 
| + </tr> | 
| + <tr data-expected-height="34"> | 
| + <td>row4 col0</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 5 - Mix of baseline aligned and non-baseline aligned cells.</h5> | 
| +<table border="1" width="607"> | 
| + <tbody> | 
| + <tr data-expected-height="104"> | 
| + <td style="height:100px">row0 col0</td> | 
| + <td style="vertical-align:top">row0 col1 vertical-align=top</td> | 
| + <td style="vertical-align:bottom">row0 col2 vertical-align=bottom</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row1 col0</td> | 
| + </tr> | 
| + <tr data-expected-height="77"> | 
| + <td rowspan="4" style="vertical-align:text-top; height:300px">row2 col0 - rowspan=4 vertical-align=text-top</td> | 
| + <td style="vertical-align:sub">row2 col1 vertical-align=sub</td> | 
| + </tr> | 
| + <tr data-expected-height="77"> | 
| + <td style="vertical-align:middle">row3 col1 vertical-align=middle</td> | 
| + </tr> | 
| + <tr data-expected-height="69"> | 
| + <td style="vertical-align:super">row4 col1 vertical-align=super</td> | 
| + </tr> | 
| + <tr data-expected-height="91"> | 
| + <td style="vertical-align:text-bottom">row5 col1 vertical-align=text-bottom</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row6 col0</td> | 
| + </tr> | 
| + </tbody> | 
| +</table> | 
| +<h5>Test 6 - CSS Table.</h5> | 
| +<div id="div-table"> | 
| + <span id="span-row"> | 
| + <span id="span-cell">row0 col0</span> | 
| + <div id="div-cell">row0 col1</div> | 
| + <span id="span-cell">row0 col2</span> | 
| + </span> | 
| + <div id="div-row"> | 
| + <div id="div-cell">row1 col0</div> | 
| + <span id="span-cell">row1 col1</span> | 
| + <div id="div-cell">row1 col2</div> | 
| + </div> | 
| + <div id="div-row"> | 
| + <span id="span-cell">row2 col0</span> | 
| + </div> | 
| + <span id="span-row"> | 
| + <div id="div-cell">row3 col0</div> | 
| + </span> | 
| + <span id="span-row"> | 
| + <span id="span-cell">row4 col0</span> | 
| + <span id="span-cell">row4 col1</span> | 
| + <span id="span-cell">row4 col2</span> | 
| + </span> | 
| + <div id="div-row"> | 
| + <span id="span-cell">row5 col0</span> | 
| + <div id="div-cell">row5 col1</div> | 
| + <span id="span-cell">row5 col2</span> | 
| + </div> | 
| + <span id="span-row"> | 
| + <div id="div-cell">row6 col0</div> | 
| + <span id="span-cell">row6 col1</span> | 
| + </span> | 
| + <div id="div-row"> | 
| + <div id="div-cell">row7 col0</div> | 
| + </div> | 
| + <span id="span-row"> | 
| + <span id="span-cell">row8 col0</span> | 
| + </span> | 
| + <div id="div-row"> | 
| + <div id="div-cell">row9 col0</div> | 
| + </div> | 
| + <div id="div-row"> | 
| + <div id="div-cell">row10 col0</div> | 
| + </div> | 
| +</div> | 
| +<h5>Test 7 - Table Similar to CSS table with rowspan.</h5> | 
| +<table border="1px"> | 
| + <tr data-expected-height="39"> | 
| + <td rowspan=5 style="height:300px">row0 col0</td> | 
| + <td>row0 col1</td> | 
| + <td>row0 col2</td> | 
| + </tr> | 
| + <tr data-expected-height="48"> | 
| + <td rowspan=3 style="height:200px">row1 col1</td> | 
| + <td rowspan=2 style="height:100px">row1 col2</td> | 
| + <td>row1 col3</td> | 
| + </tr> | 
| + <tr data-expected-height="47"> | 
| + <td>row2 col3</td> | 
| + </tr> | 
| + <tr data-expected-height="59"> | 
| + <td>row3 col2</td> | 
| + </tr> | 
| + <tr data-expected-height="60"> | 
| + <td>row4 col1</td> | 
| + <td>row4 col2</td> | 
| + <td>row4 col3</td> | 
| + </tr> | 
| + <tr data-expected-height="19"> | 
| + <td>row5 col0</td> | 
| + <td>row5 col1</td> | 
| + <td>row5 col2</td> | 
| + </tr> | 
| + <tr data-expected-height="0"> | 
| + <td rowspan=5 style="height:200px">row6 col0</td> | 
| + <td rowspan=5 style="height:100px">row6 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="37"> | 
| + <td>row7 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="38"> | 
| + <td>row8 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="49"> | 
| + <td>row9 col1</td> | 
| + </tr> | 
| + <tr data-expected-height="49"> | 
| + <td>row10 col1</td> | 
| + </tr> | 
| +</table> | 
| +</body> | 
| +</html> |