haikuwebkit/LayoutTests/fast/css/table-rules-attribute-none-...

77 lines
2.0 KiB
HTML
Raw Permalink Normal View History

CSS 2.1 failure: table-columns-example-001 fails https://bugs.webkit.org/show_bug.cgi?id=83978 Reviewed by David Hyatt. Source/WebCore: Tests: css2.1/20110323/table-columns-example-001.html fast/css/table-rules-attribute-groups-with-frame.html fast/css/table-rules-attribute-groups.html fast/css/table-rules-attribute-none-with-frame.html fast/css/table-rules-attribute-with-frame1.html fast/css/table-rules-attribute-with-frame2.html fast/css/table-rules-attribute.html WebKit does not implement the 'cols', 'rows', and 'all' rules attributes correctly for cells that are adjacent to the table's edges. The solution is to follow the hint in the spec at http://www.w3.org/TR/CSS21/tables.html#columns and set the table's border to hidden when the rules attribute is set to one of 'cols', 'rows' or 'all', and the table itself has no explicit border. Border collapsing will take care of the rest as 'hidden' always wins in border-conflict resolution. It's not completely clear from the spec that an explicit table border should trump a cols rule but doing so is consistent with FF and Opera at least. A 'rules' attribute is trumped by anything specified for the 'frame' attribute so need to ensure that is respected too. In short, any 'rules' attribute means a hidden table border unless there's a frame or border attribute. * html/HTMLTableElement.cpp: (WebCore::HTMLTableElement::additionalAttributeStyle): LayoutTests: * css2.1/20110323/table-columns-example-001-expected.html: Added. * css2.1/20110323/table-columns-example-001.htm: Added. * fast/css/table-rules-attribute-expected.html: Added. * fast/css/table-rules-attribute-groups-expected.html: Added. * fast/css/table-rules-attribute-groups-with-frame-expected.png: Added. * fast/css/table-rules-attribute-groups-with-frame-expected.txt: Added. * fast/css/table-rules-attribute-groups-with-frame.html: Added. * fast/css/table-rules-attribute-groups.html: Added. * fast/css/table-rules-attribute-none-with-frame-expected.html: Added. * fast/css/table-rules-attribute-none-with-frame.html: Added. * fast/css/table-rules-attribute-with-frame1-expected.png: Added. * fast/css/table-rules-attribute-with-frame1-expected.txt: Added. * fast/css/table-rules-attribute-with-frame1.html: Added. * fast/css/table-rules-attribute-with-frame2-expected.png: Added. * fast/css/table-rules-attribute-with-frame2-expected.txt: Added. * fast/css/table-rules-attribute-with-frame2.html: Added. These test the correct interaction of a rules attribute with a frame attribute. 'cols' is used for the test, but each of cols, rows, and all have the same effect on the table's borders. It wasn't possible to create reftests for all of them because of the different behaviour of the frame attr to a simple border, probably due to painting order. * fast/css/table-rules-attribute.html: Added. This tests correct rendering of the rules attribute on a table without its own border. It also tests border collapsing on tables with a rules attribute. * platform/chromium-linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png: * platform/chromium-linux/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: This is a progression - the table's border is hidden. * platform/chromium/test_expectations.txt: * platform/gtk/test_expectations.txt: * platform/mac/Skipped: * platform/mac/test_expectations.txt: * platform/qt/test_expectations.txt: Canonical link: https://commits.webkit.org/102249@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@115091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-04-24 19:03:44 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>CSS Test: Table columns - HTML table 'rules' attribute on columns</title>
<meta name="assert" content="The first two tables are empty boxes.">
<meta name="assert" content="The second table should have just two horizontal lines - one for the top edge of the table, one for the bottom edge.">
<meta name="assert" content="The third table should have just two vertical lines - one for the left edge of the table, one for the right edge.">
<style type="text/css">
td
{
height: 20px;
width: 20px;
}
</style>
</head>
<body>
<table rules="none" frame="box">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<br>
<table rules="none" frame="border">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<br>
<table rules="none" frame="hsides">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<br>
<table rules="none" frame="vsides">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>