layout: Introduce support for legacy presentational attributes to selector

matching, and use it for `<input size>` and `<td width>`.

This implements a general framework for legacy presentational attributes
to the DOM and style calculation, so that adding more of them later will
be straightforward.
This commit is contained in:
Patrick Walton 2014-10-14 11:25:29 -07:00
parent 8077edc062
commit 5f8d3f72d8
31 changed files with 570 additions and 214 deletions

View file

@ -172,5 +172,7 @@ fragment=top != ../html/acid2.html acid2_ref.html
!= input_height_a.html input_height_ref.html
== pre_ignorable_whitespace_a.html pre_ignorable_whitespace_ref.html
== many_brs_a.html many_brs_ref.html
== legacy_input_size_attribute_override_a.html legacy_input_size_attribute_override_ref.html
== legacy_td_width_attribute_a.html legacy_td_width_attribute_ref.html
== box_sizing_sanity_check_a.html box_sizing_sanity_check_ref.html
== inline_block_overflow_hidden_a.html inline_block_overflow_hidden_ref.html

View file

@ -0,0 +1,7 @@
<!DOCTYPE html>
<html>
<body>
<input type=text size=12345 style="width: 128px;"></input>
</body>
</html>

View file

@ -0,0 +1,7 @@
<!DOCTYPE html>
<html>
<body>
<input type=text style="width: 128px;"></input>
</body>
</html>

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<style>
.a {
height: 16px;
background: blue;
}
.b {
background: green;
}
</style>
</head>
<body>
<table><tr><td width=30 class=a></td><td width=200 class=b></td></tr></table>
<table><tr><td width="30 " class=a></td><td width=" 200 " class=b></td></tr></table>
<table><tr><td width="30asdf" class=a></td><td width=200haha class=b></td></tr></table>
</table>
</body>
</html>

View file

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html>
<head>
<style>
.a {
height: 16px;
width: 30px;
background: blue;
}
.b {
width: 200px;
background: green;
}
</style>
</head>
<body>
<table><tr><td class=a></td><td class=b></td></tr></table>
<table><tr><td class=a></td><td class=b></td></tr></table>
<table><tr><td class=a></td><td class=b></td></tr></table>
</body>
</html>