Auto merge of #5997 - mbrubeck:table-direction, r=pcwalton

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

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5997)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2015-05-11 07:50:09 -05:00
commit 844ac2915e
9 changed files with 143 additions and 72 deletions

View file

@ -278,6 +278,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>