Fix direction of columns in mixed LTR/RTL tables.

Table columns should be layed out according to the 'direction' property of the
table flow, regardless of the 'direction' property of any table-row,
table-rowgroup, etc. flows.

This fixes a number of the `direction-applies-to-*` tests in the CSS2.1 test
suite.

This also simplifies `propagate_column_inline_sizes_to_child` by separating
the code used for table cells from the code for non-cell flows.

r? @pcwalton
This commit is contained in:
Matt Brubeck 2015-05-08 14:24:34 -07:00
parent a052c53d2e
commit e36a498cfb
9 changed files with 143 additions and 72 deletions

View file

@ -277,6 +277,7 @@ experimental == rtl_simple.html rtl_simple_ref.html
== table_padding_a.html table_padding_ref.html
== table_percentage_capping_a.html table_percentage_capping_ref.html
== table_percentage_width_a.html table_percentage_width_ref.html
experimental == table_row_direction_a.html table_row_direction_ref.html
== text_align_complex_a.html text_align_complex_ref.html
== text_align_justify_a.html text_align_justify_ref.html
experimental == text_align_rtl.html text_align_rtl_ref.html

View file

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/ahem.css">
<style>
* { margin: 0; padding: 0; border-spacing: 0; }
tr { direction: rtl; }
.r { color: red; }
.o { color: orange; }
.y { color: yellow; }
</style>
</head>
<body>
<table>
<tr>
<td class="r">R</td>
<td class="o">O</td>
<td class="y">Y</td>
</tr>
</table>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/ahem.css">
<style>
* { margin: 0; padding: 0; border-spacing: 0; }
.r { color: red; }
.o { color: orange; }
.y { color: yellow; }
</style>
</head>
<body>
<table>
<tr>
<td class="r">R</td>
<td class="o">O</td>
<td class="y">Y</td>
</tr>
</table>
</body>
</html>