+2008-01-18 David Hyatt <hyatt@apple.com>
+
+ Updated results for http://bugs.webkit.org/show_bug.cgi?id=14975
+
+ Reviewed by Antti
+
+ * fast/css/computed-style-without-renderer-expected.txt:
+ * fast/css/padding-no-renderer-expected.txt: Added.
+ * fast/css/padding-no-renderer.html: Added.
+ * platform/mac/fast/css/acid2-expected.checksum:
+ * platform/mac/fast/css/acid2-expected.png:
+ * platform/mac/fast/css/acid2-expected.txt:
+ * platform/mac/fast/css/acid2-pixel-expected.checksum:
+ * platform/mac/fast/css/acid2-pixel-expected.png:
+ * platform/mac/fast/css/acid2-pixel-expected.txt:
+ * platform/mac/fast/frames/viewsource-attribute-expected.checksum:
+ * platform/mac/fast/frames/viewsource-attribute-expected.png:
+ * platform/mac/fast/frames/viewsource-attribute-expected.txt:
+ * platform/mac/fast/lists/ordered-list-with-no-ol-tag-expected.checksum:
+ * platform/mac/fast/lists/ordered-list-with-no-ol-tag-expected.png:
+ * platform/mac/fast/lists/ordered-list-with-no-ol-tag-expected.txt:
+ * platform/mac/fast/table/add-before-anonymous-child-expected.checksum:
+ * platform/mac/fast/table/add-before-anonymous-child-expected.png:
+ * platform/mac/fast/table/add-before-anonymous-child-expected.txt:
+ * platform/mac/fast/table/cell-absolute-child-expected.checksum:
+ * platform/mac/fast/table/cell-absolute-child-expected.png:
+ * platform/mac/fast/table/cell-absolute-child-expected.txt:
+ * platform/mac/fast/table/frame-and-rules-expected.checksum:
+ * platform/mac/fast/table/frame-and-rules-expected.png:
+ * platform/mac/fast/table/frame-and-rules-expected.txt:
+ * platform/mac/http/tests/misc/acid2-expected.checksum:
+ * platform/mac/http/tests/misc/acid2-expected.png:
+ * platform/mac/http/tests/misc/acid2-expected.txt:
+ * platform/mac/http/tests/misc/acid2-pixel-expected.checksum:
+ * platform/mac/http/tests/misc/acid2-pixel-expected.png:
+ * platform/mac/http/tests/misc/acid2-pixel-expected.txt:
+ * platform/mac/tables/mozilla/bugs/bug30985-expected.checksum:
+ * platform/mac/tables/mozilla/bugs/bug30985-expected.png:
+ * platform/mac/tables/mozilla/bugs/bug30985-expected.txt:
+
2008-01-18 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
outline-width: 0px
overflow-x: visible
overflow-y: visible
- padding-bottom: auto
- padding-left: auto
- padding-right: auto
- padding-top: auto
+ padding-bottom: 0px
+ padding-left: 0px
+ padding-right: 0px
+ padding-top: 0px
page-break-after: auto
page-break-before: auto
page-break-inside: auto
--- /dev/null
+PASS window.getComputedStyle(test0, null).paddingTop is "0px"
+PASS window.getComputedStyle(test1, null).paddingTop is "10px"
+PASS window.getComputedStyle(test2, null).paddingTop is "10px"
+PASS window.getComputedStyle(test3, null).paddingTop is "10px"
+PASS window.getComputedStyle(test4, null).paddingTop is "10px"
+PASS window.getComputedStyle(test5, null).paddingTop is "10px"
+PASS window.getComputedStyle(test6, null).paddingTop is "10%"
+PASS window.getComputedStyle(test7, null).paddingTop is "10%"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+<head>
+<link rel="stylesheet" href="../js/resources/js-test-style.css">
+<script src="../js/resources/js-test-pre.js"></script>
+<style>
+ #test1 { padding: 10px; display: none; }
+</style>
+</head>
+<body>
+<p id="description"></p>
+<div id="console"></div>
+
+<div id="tests_container">
+
+<div id="test0" style="display: none"></div>
+<div id="test1"></div>
+<div id="test2" style="padding: 10px; display: none;"></div>
+<table id="test_table" cellpadding="10">
+ <tr>
+ <td id="test3" style="display: none">FOO</td>
+ <td id="test4">BAR</td>
+ <tr>
+</table>
+
+<div style="position: relative; width: 100px; height: 100px">
+ <div id="test5" style="padding: 10%; width: 50px; height: 50px">BAR</div>
+</div>
+
+<div style="position: relative; width: 100px; height: 100px">
+ <div id="test6" style="display: none; padding: 10%; width: 50px; height: 50px">BAR</div>
+</div>
+
+<div style="display: none; position: relative; width: 100px; height: 100px">
+ <div id="test7" style="padding: 10%; width: 50px; height: 50px">BAR</div>
+</div>
+
+</div>
+
+<script>
+ var test0 = document.getElementById("test0");
+ var test1 = document.getElementById("test1");
+ var test2 = document.getElementById("test2");
+ var test3 = document.getElementById("test3");
+ var test4 = document.getElementById("test4");
+ var test5 = document.getElementById("test5");
+ var test6 = document.getElementById("test6");
+ var test7 = document.getElementById("test7");
+
+ shouldBeEqualToString("window.getComputedStyle(test0, null).paddingTop", "0px");
+ shouldBeEqualToString("window.getComputedStyle(test1, null).paddingTop", "10px");
+ shouldBeEqualToString("window.getComputedStyle(test2, null).paddingTop", "10px");
+ shouldBeEqualToString("window.getComputedStyle(test3, null).paddingTop", "10px");
+ shouldBeEqualToString("window.getComputedStyle(test4, null).paddingTop", "10px");
+ shouldBeEqualToString("window.getComputedStyle(test5, null).paddingTop", "10px");
+ shouldBeEqualToString("window.getComputedStyle(test6, null).paddingTop", "10%");
+ shouldBeEqualToString("window.getComputedStyle(test7, null).paddingTop", "10%");
+
+ // clean up after ourselves
+ var tests_container = document.getElementById("tests_container");
+ tests_container.parentNode.removeChild(tests_container);
+
+ var successfullyParsed = true;
+</script>
+<script src="../js/resources/js-test-post.js"></script>
+</body>
+</html>
-e36d355c06332a87634267efab8fc48e
\ No newline at end of file
+0c62bfa8526ce05b9909addf93104911
\ No newline at end of file
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
-0ff8f07f1878d7bb12677162ffbfe298
\ No newline at end of file
+893cab444ca9b4cd5560995e365babed
\ No newline at end of file
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
-5732e15343bcc4142553ae594edb2f74
\ No newline at end of file
+391ed1917147cd6a0037e0c1e657d723
\ No newline at end of file
layer at (0,0) size 300x150 layerType: foreground only
RenderBlock {HTML} at (0,0) size 300x150
RenderBody {BODY} at (0,0) size 300x150
- RenderTable {TABLE} at (0,0) size 180x15
- RenderTableSection {TBODY} at (0,0) size 180x15
- RenderTableRow {TR} at (0,0) size 180x15
- RenderTableCell {TD} at (0,4) size 26x10 [color=#808080] [bgcolor=#F0F0F0] [border: none (1px solid #808080) none] [r=0 c=0 rs=1 cs=1]
+ RenderTable {TABLE} at (0,0) size 170x17
+ RenderTableSection {TBODY} at (0,0) size 170x17
+ RenderTableRow {TR} at (0,0) size 170x17
+ RenderTableCell {TD} at (0,4) size 24x12 [color=#808080] [bgcolor=#F0F0F0] [border: none (1px solid #808080) none] [r=0 c=0 rs=1 cs=1]
RenderInline (generated) at (0,0) size 5x10
- RenderCounter at (18,0) size 5x10
- text run at (18,0) width 5: "1"
- RenderTableCell {TD} at (26,0) size 154x15 [r=0 c=1 rs=1 cs=1]
+ RenderCounter at (17,1) size 5x10
+ text run at (17,1) width 5: "1"
+ RenderTableCell {TD} at (24,0) size 146x17 [r=0 c=1 rs=1 cs=1]
RenderInline {SPAN} at (0,0) size 24x15 [color=#881280]
- RenderText {#text} at (5,0) size 24x15
- text run at (5,0) width 24: "<p>"
- RenderText {#text} at (29,0) size 88x15
- text run at (29,0) width 88: "hello world"
+ RenderText {#text} at (1,1) size 24x15
+ text run at (1,1) width 24: "<p>"
+ RenderText {#text} at (25,1) size 88x15
+ text run at (25,1) width 88: "hello world"
RenderInline {SPAN} at (0,0) size 32x15 [color=#881280]
- RenderText {#text} at (117,0) size 32x15
- text run at (117,0) width 32: "</p>"
+ RenderText {#text} at (113,1) size 32x15
+ text run at (113,1) width 32: "</p>"
RenderText {#text} at (304,140) size 4x18
text run at (304,140) width 4: " "
RenderPartObject {IFRAME} at (308,0) size 304x154 [border: (2px inset #000000)]
layer at (0,0) size 300x150 layerType: foreground only
RenderBlock {HTML} at (0,0) size 300x150
RenderBody {BODY} at (0,0) size 300x150
- RenderTable {TABLE} at (0,0) size 180x15
- RenderTableSection {TBODY} at (0,0) size 180x15
- RenderTableRow {TR} at (0,0) size 180x15
- RenderTableCell {TD} at (0,4) size 26x10 [color=#808080] [bgcolor=#F0F0F0] [border: none (1px solid #808080) none] [r=0 c=0 rs=1 cs=1]
+ RenderTable {TABLE} at (0,0) size 170x17
+ RenderTableSection {TBODY} at (0,0) size 170x17
+ RenderTableRow {TR} at (0,0) size 170x17
+ RenderTableCell {TD} at (0,4) size 24x12 [color=#808080] [bgcolor=#F0F0F0] [border: none (1px solid #808080) none] [r=0 c=0 rs=1 cs=1]
RenderInline (generated) at (0,0) size 5x10
- RenderCounter at (18,0) size 5x10
- text run at (18,0) width 5: "1"
- RenderTableCell {TD} at (26,0) size 154x15 [r=0 c=1 rs=1 cs=1]
+ RenderCounter at (17,1) size 5x10
+ text run at (17,1) width 5: "1"
+ RenderTableCell {TD} at (24,0) size 146x17 [r=0 c=1 rs=1 cs=1]
RenderInline {SPAN} at (0,0) size 24x15 [color=#881280]
- RenderText {#text} at (5,0) size 24x15
- text run at (5,0) width 24: "<p>"
- RenderText {#text} at (29,0) size 88x15
- text run at (29,0) width 88: "hello world"
+ RenderText {#text} at (1,1) size 24x15
+ text run at (1,1) width 24: "<p>"
+ RenderText {#text} at (25,1) size 88x15
+ text run at (25,1) width 88: "hello world"
RenderInline {SPAN} at (0,0) size 32x15 [color=#881280]
- RenderText {#text} at (117,0) size 32x15
- text run at (117,0) width 32: "</p>"
+ RenderText {#text} at (113,1) size 32x15
+ text run at (113,1) width 32: "</p>"
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
RenderText {#text} at (0,0) size 0x0
-4e3eb2fe11d7cb9748ef5a16d51fc312
\ No newline at end of file
+4de0192c9319fe9fe7d8ce952bd62159
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x534
- RenderBlock {HTML} at (0,0) size 800x534
- RenderBody {BODY} at (8,19) size 784x507
+layer at (0,0) size 800x538
+ RenderBlock {HTML} at (0,0) size 800x538
+ RenderBody {BODY} at (8,19) size 784x511
RenderBlock {H2} at (0,0) size 784x28
RenderText {#text} at (0,0) size 305x28
text run at (0,0) width 305: "A regular two level nested list"
RenderBlock {P} at (0,47) size 784x18
RenderText {#text} at (0,0) size 551x18
text run at (0,0) width 551: "The outer list is numbered using decimal numerals, the inner lists with lower case letters"
- RenderBlock {DIV} at (24,81) size 760x426 [border: (1px solid #000000)]
+ RenderBlock {DIV} at (24,81) size 760x430 [border: (1px solid #000000)]
RenderListItem {DIV} at (33,1) size 726x20 [border: (1px solid #000000)]
RenderListMarker at (-20,1) size 16x18: "1"
RenderText {#text} at (33,1) size 40x18
RenderListMarker at (-20,1) size 16x18: "4"
RenderText {#text} at (33,1) size 40x18
text run at (33,1) width 40: "Item 4"
- RenderListItem {DIV} at (33,297) size 726x108 [border: (1px solid #000000)]
+ RenderListItem {DIV} at (33,297) size 726x112 [border: (1px solid #000000)]
RenderBlock (anonymous) at (33,1) size 692x18
RenderListMarker at (-53,0) size 16x18: "5"
RenderText {#text} at (0,0) size 40x18
text run at (0,0) width 40: "Item 5"
- RenderListItem {TABLE} at (33,19) size 692x44 [border: (1px dashed #000000)]
+ RenderListItem {TABLE} at (33,19) size 692x46 [border: (1px dashed #000000)]
RenderBlock (anonymous) at (1,1) size 690x18
RenderListMarker at (-20,0) size 15x18: "a"
- RenderTable at (1,19) size 189x24
- RenderTableSection {TBODY} at (0,0) size 189x24
- RenderTableRow {TR} at (0,2) size 189x20
- RenderTableCell {TD} at (2,2) size 92x20 [border: (1px dotted #000000)] [r=0 c=0 rs=1 cs=1]
- RenderText {#text} at (1,1) size 90x18
- text run at (1,1) width 90: "Table Cell A1"
- RenderTableCell {TD} at (96,2) size 91x20 [border: (1px dotted #000000)] [r=0 c=1 rs=1 cs=1]
- RenderText {#text} at (1,1) size 89x18
- text run at (1,1) width 89: "Table Cell B1"
- RenderListItem {TABLE} at (33,63) size 692x44 [border: (1px dashed #000000)]
+ RenderTable at (1,19) size 193x26
+ RenderTableSection {TBODY} at (0,0) size 193x26
+ RenderTableRow {TR} at (0,2) size 193x22
+ RenderTableCell {TD} at (2,2) size 94x22 [border: (1px dotted #000000)] [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (2,2) size 90x18
+ text run at (2,2) width 90: "Table Cell A1"
+ RenderTableCell {TD} at (98,2) size 93x22 [border: (1px dotted #000000)] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (2,2) size 89x18
+ text run at (2,2) width 89: "Table Cell B1"
+ RenderListItem {TABLE} at (33,65) size 692x46 [border: (1px dashed #000000)]
RenderBlock (anonymous) at (1,1) size 690x18
RenderListMarker at (-21,0) size 16x18: "b"
- RenderTable at (1,19) size 213x24
- RenderTableSection {TBODY} at (0,0) size 213x24
- RenderTableRow {TR} at (0,2) size 213x20
- RenderTableCell {TD} at (2,2) size 104x20 [border: (1px dotted #000000)] [r=0 c=0 rs=1 cs=1]
- RenderText {#text} at (1,1) size 102x18
- text run at (1,1) width 102: "Table 2 Cell A1"
- RenderTableCell {TD} at (108,2) size 103x20 [border: (1px dotted #000000)] [r=0 c=1 rs=1 cs=1]
- RenderText {#text} at (1,1) size 101x18
- text run at (1,1) width 101: "Table 2 Cell B1"
- RenderListItem {DIV} at (33,405) size 726x20 [border: (1px solid #000000)]
+ RenderTable at (1,19) size 217x26
+ RenderTableSection {TBODY} at (0,0) size 217x26
+ RenderTableRow {TR} at (0,2) size 217x22
+ RenderTableCell {TD} at (2,2) size 106x22 [border: (1px dotted #000000)] [r=0 c=0 rs=1 cs=1]
+ RenderText {#text} at (2,2) size 102x18
+ text run at (2,2) width 102: "Table 2 Cell A1"
+ RenderTableCell {TD} at (110,2) size 105x22 [border: (1px dotted #000000)] [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (2,2) size 101x18
+ text run at (2,2) width 101: "Table 2 Cell B1"
+ RenderListItem {DIV} at (33,409) size 726x20 [border: (1px solid #000000)]
RenderListMarker at (-20,1) size 16x18: "6"
RenderText {#text} at (33,1) size 40x18
text run at (33,1) width 40: "Item 6"
-f1c798b18c18aa0e55688bf5eb23d58f
\ No newline at end of file
+898e57d58bf121e98df63feda22c0924
\ No newline at end of file
text run at (0,0) width 405: "There should be two 100x100 squares stacked vertically below. "
text run at (405,0) width 319: "The green square should be above the blue square."
RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
- RenderTable {TABLE} at (0,96) size 106x206
- RenderTableSection {TBODY} at (0,0) size 106x206
- RenderTableRow (anonymous) at (0,2) size 106x202
- RenderTableCell (anonymous) at (2,2) size 102x202 [r=0 c=0 rs=1 cs=1]
- RenderBlock {TR} at (1,1) size 100x100 [bgcolor=#008000]
- RenderBlock {TR} at (1,101) size 100x100 [bgcolor=#0000FF]
+ RenderTable {TABLE} at (0,96) size 104x204
+ RenderTableSection {TBODY} at (0,0) size 104x204
+ RenderTableRow (anonymous) at (0,2) size 104x200
+ RenderTableCell (anonymous) at (2,2) size 100x200 [r=0 c=0 rs=1 cs=1]
+ RenderBlock {TR} at (0,0) size 100x100 [bgcolor=#008000]
+ RenderBlock {TR} at (0,100) size 100x100 [bgcolor=#0000FF]
-fa0463e52a788593f5a12927dfb806e3
\ No newline at end of file
+f3e8ca615be21f78c79bb2222f3f8db5
\ No newline at end of file
RenderBlock {P} at (0,52) size 784x18
RenderText {#text} at (0,0) size 535x18
text run at (0,0) width 535: "You should see two identical green squares, 100x100 pixels each, next to each other."
- RenderTable {TABLE} at (0,86) size 108x156
- RenderTableSection {TBODY} at (0,0) size 108x156
- RenderTableRow {TR} at (0,2) size 108x50
- RenderTableCell {TD} at (2,26) size 104x2 [r=0 c=0 rs=1 cs=2]
- RenderTableRow {TR} at (0,54) size 108x100
+ RenderTable {TABLE} at (0,86) size 107x156
+ RenderTableSection {TBODY} at (0,0) size 107x156
+ RenderTableRow {TR} at (0,2) size 107x50
+ RenderTableCell {TD} at (2,26) size 103x2 [r=0 c=0 rs=1 cs=2]
+ RenderTableRow {TR} at (0,54) size 107x100
RenderTableCell {TD} at (2,54) size 100x2 [bgcolor=#008000] [r=1 c=0 rs=1 cs=1]
- RenderTableCell (anonymous) at (104,53) size 2x2 [r=1 c=1 rs=1 cs=1]
+ RenderTableCell (anonymous) at (104,54) size 1x0 [r=1 c=1 rs=1 cs=1]
layer at (11,149) size 98x98
RenderBlock (positioned) {DIV} at (11,149) size 98x98
-layer at (113,148) size 100x100
- RenderBlock (positioned) {TD} at (113,148) size 100x100 [bgcolor=#008000]
+layer at (112,148) size 102x102
+ RenderBlock (positioned) {TD} at (112,148) size 102x102 [bgcolor=#008000]
-f0fe3afb4af2d71a1c27abad7a4abe54
\ No newline at end of file
+b2f2f61588dd74e3ecc1039aa19ab40d
\ No newline at end of file
RenderTableCell {TD} at (184,0) size 92x21 [border: (1px solid #808080)] [r=0 c=2 rs=1 cs=1]
RenderText {#text} at (2,2) size 89x18
text run at (2,2) width 89: "Row 5, Cell 3"
-layer at (393,24) size 392x150
+layer at (393,24) size 392x155
RenderBlock (positioned) {TABLE} at (393,24) size 392x150
- RenderTable at (0,0) size 339x141
- RenderBlock {CAPTION} at (0,0) size 339x18
- RenderText {#text} at (50,0) size 234x18
- text run at (50,0) width 234: "Local links to specific testcase tables"
+ RenderTable at (0,0) size 361x155
+ RenderBlock {CAPTION} at (0,0) size 361x18
+ RenderText {#text} at (61,0) size 234x18
+ text run at (61,0) width 234: "Local links to specific testcase tables"
RenderInline (generated) at (0,0) size 5x18
- RenderText at (284,0) size 5x18
- text run at (284,0) width 5: ":"
+ RenderText at (295,0) size 5x18
+ text run at (295,0) width 5: ":"
RenderTableCol {COLGROUP} at (0,0) size 0x0
RenderTableCol {COLGROUP} at (0,0) size 0x0
- RenderTableSection {THEAD} at (0,18) size 339x36
- RenderTableRow {TR} at (0,2) size 339x15
- RenderTableCell {TH} at (2,18) size 70x0 [r=0 c=0 rs=2 cs=2]
- RenderTableCell {TH} at (74,2) size 263x15 [r=0 c=2 rs=1 cs=9]
- RenderText {#text} at (115,0) size 33x15
- text run at (115,0) width 33: "Frame"
- RenderTableRow {TR} at (0,19) size 339x15
- RenderTableCell {TH} at (74,19) size 25x15 [r=1 c=2 rs=1 cs=1]
- RenderText {#text} at (0,0) size 25x15
- text run at (0,0) width 25: "void"
- RenderTableCell {TH} at (101,19) size 33x15 [r=1 c=3 rs=1 cs=1]
- RenderText {#text} at (0,0) size 33x15
- text run at (0,0) width 33: "above"
- RenderTableCell {TH} at (136,19) size 33x15 [r=1 c=4 rs=1 cs=1]
- RenderText {#text} at (0,0) size 33x15
- text run at (0,0) width 33: "below"
- RenderTableCell {TH} at (171,19) size 34x15 [r=1 c=5 rs=1 cs=1]
- RenderText {#text} at (0,0) size 34x15
- text run at (0,0) width 34: "hsides"
- RenderTableCell {TH} at (207,19) size 34x15 [r=1 c=6 rs=1 cs=1]
- RenderText {#text} at (0,0) size 34x15
- text run at (0,0) width 34: "vsides"
- RenderTableCell {TH} at (243,19) size 16x15 [r=1 c=7 rs=1 cs=1]
- RenderText {#text} at (0,0) size 16x15
- text run at (0,0) width 16: "lhs"
- RenderTableCell {TH} at (261,19) size 16x15 [r=1 c=8 rs=1 cs=1]
- RenderText {#text} at (0,0) size 16x15
- text run at (0,0) width 16: "rhs"
- RenderTableCell {TH} at (279,19) size 21x15 [r=1 c=9 rs=1 cs=1]
- RenderText {#text} at (0,0) size 21x15
- text run at (0,0) width 21: "box"
- RenderTableCell {TH} at (302,19) size 35x15 [r=1 c=10 rs=1 cs=1]
- RenderText {#text} at (0,0) size 35x15
- text run at (0,0) width 35: "border"
- RenderTableSection {TBODY} at (0,54) size 339x87
- RenderTableRow {TR} at (0,2) size 339x15
- RenderTableCell {TH} at (2,36) size 31x15 [r=0 c=0 rs=5 cs=1]
- RenderText {#text} at (0,0) size 31x15
- text run at (0,0) width 31: "Rules"
- RenderTableCell {TH} at (35,2) size 37x15 [r=0 c=1 rs=1 cs=1]
- RenderText {#text} at (10,0) size 27x15
- text run at (10,0) width 27: "none"
- RenderTableCell {TD} at (74,2) size 25x14 [bgcolor=#CCCCCC] [r=0 c=2 rs=1 cs=1]
+ RenderTableSection {THEAD} at (0,18) size 361x40
+ RenderTableRow {TR} at (0,2) size 361x17
+ RenderTableCell {TH} at (2,19) size 74x2 [r=0 c=0 rs=2 cs=2]
+ RenderTableCell {TH} at (78,2) size 281x17 [r=0 c=2 rs=1 cs=9]
+ RenderText {#text} at (124,1) size 33x15
+ text run at (124,1) width 33: "Frame"
+ RenderTableRow {TR} at (0,21) size 361x17
+ RenderTableCell {TH} at (78,21) size 27x17 [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 25x15
+ text run at (1,1) width 25: "void"
+ RenderTableCell {TH} at (107,21) size 35x17 [r=1 c=3 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 33x15
+ text run at (1,1) width 33: "above"
+ RenderTableCell {TH} at (144,21) size 35x17 [r=1 c=4 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 33x15
+ text run at (1,1) width 33: "below"
+ RenderTableCell {TH} at (181,21) size 36x17 [r=1 c=5 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 34x15
+ text run at (1,1) width 34: "hsides"
+ RenderTableCell {TH} at (219,21) size 36x17 [r=1 c=6 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 34x15
+ text run at (1,1) width 34: "vsides"
+ RenderTableCell {TH} at (257,21) size 18x17 [r=1 c=7 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 16x15
+ text run at (1,1) width 16: "lhs"
+ RenderTableCell {TH} at (277,21) size 18x17 [r=1 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 16x15
+ text run at (1,1) width 16: "rhs"
+ RenderTableCell {TH} at (297,21) size 23x17 [r=1 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 21x15
+ text run at (1,1) width 21: "box"
+ RenderTableCell {TH} at (322,21) size 37x17 [r=1 c=10 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 35x15
+ text run at (1,1) width 35: "border"
+ RenderTableSection {TBODY} at (0,58) size 361x97
+ RenderTableRow {TR} at (0,2) size 361x17
+ RenderTableCell {TH} at (2,40) size 33x17 [r=0 c=0 rs=5 cs=1]
+ RenderText {#text} at (1,1) size 31x15
+ text run at (1,1) width 31: "Rules"
+ RenderTableCell {TH} at (37,2) size 39x17 [r=0 c=1 rs=1 cs=1]
+ RenderText {#text} at (11,1) size 27x15
+ text run at (11,1) width 27: "none"
+ RenderTableCell {TD} at (78,2) size 27x16 [bgcolor=#CCCCCC] [r=0 c=2 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (5,0) size 15x14
- text run at (5,0) width 15: "Go"
- RenderTableCell {TD} at (101,2) size 33x14 [bgcolor=#CCCCCC] [r=0 c=3 rs=1 cs=1]
+ RenderText {#text} at (6,1) size 15x14
+ text run at (6,1) width 15: "Go"
+ RenderTableCell {TD} at (107,2) size 35x16 [bgcolor=#CCCCCC] [r=0 c=3 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (136,2) size 33x14 [bgcolor=#CCCCCC] [r=0 c=4 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (144,2) size 35x16 [bgcolor=#CCCCCC] [r=0 c=4 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (171,2) size 34x14 [bgcolor=#CCCCCC] [r=0 c=5 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (181,2) size 36x16 [bgcolor=#CCCCCC] [r=0 c=5 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (207,2) size 34x14 [bgcolor=#CCCCCC] [r=0 c=6 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (219,2) size 36x16 [bgcolor=#CCCCCC] [r=0 c=6 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (243,2) size 16x14 [bgcolor=#CCCCCC] [r=0 c=7 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (257,2) size 18x16 [bgcolor=#CCCCCC] [r=0 c=7 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (261,2) size 16x14 [bgcolor=#CCCCCC] [r=0 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (277,2) size 18x16 [bgcolor=#CCCCCC] [r=0 c=8 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (279,2) size 21x14 [bgcolor=#CCCCCC] [r=0 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (297,2) size 23x16 [bgcolor=#CCCCCC] [r=0 c=9 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (3,0) size 15x14
- text run at (3,0) width 15: "Go"
- RenderTableCell {TD} at (302,2) size 35x14 [bgcolor=#CCCCCC] [r=0 c=10 rs=1 cs=1]
+ RenderText {#text} at (4,1) size 15x14
+ text run at (4,1) width 15: "Go"
+ RenderTableCell {TD} at (322,2) size 37x16 [bgcolor=#CCCCCC] [r=0 c=10 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (10,0) size 15x14
- text run at (10,0) width 15: "Go"
- RenderTableRow {TR} at (0,19) size 339x15
- RenderTableCell {TH} at (35,19) size 37x15 [r=1 c=1 rs=1 cs=1]
- RenderText {#text} at (0,0) size 37x15
- text run at (0,0) width 37: "groups"
- RenderTableCell {TD} at (74,19) size 25x14 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
+ RenderText {#text} at (11,1) size 15x14
+ text run at (11,1) width 15: "Go"
+ RenderTableRow {TR} at (0,21) size 361x17
+ RenderTableCell {TH} at (37,21) size 39x17 [r=1 c=1 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 37x15
+ text run at (1,1) width 37: "groups"
+ RenderTableCell {TD} at (78,21) size 27x16 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (5,0) size 15x14
- text run at (5,0) width 15: "Go"
- RenderTableCell {TD} at (101,19) size 33x14 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
+ RenderText {#text} at (6,1) size 15x14
+ text run at (6,1) width 15: "Go"
+ RenderTableCell {TD} at (107,21) size 35x16 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (136,19) size 33x14 [bgcolor=#CCCCCC] [r=1 c=4 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (144,21) size 35x16 [bgcolor=#CCCCCC] [r=1 c=4 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (171,19) size 34x14 [bgcolor=#CCCCCC] [r=1 c=5 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (181,21) size 36x16 [bgcolor=#CCCCCC] [r=1 c=5 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (207,19) size 34x14 [bgcolor=#CCCCCC] [r=1 c=6 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (219,21) size 36x16 [bgcolor=#CCCCCC] [r=1 c=6 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (243,19) size 16x14 [bgcolor=#CCCCCC] [r=1 c=7 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (257,21) size 18x16 [bgcolor=#CCCCCC] [r=1 c=7 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (261,19) size 16x14 [bgcolor=#CCCCCC] [r=1 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (277,21) size 18x16 [bgcolor=#CCCCCC] [r=1 c=8 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (279,19) size 21x14 [bgcolor=#CCCCCC] [r=1 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (297,21) size 23x16 [bgcolor=#CCCCCC] [r=1 c=9 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (3,0) size 15x14
- text run at (3,0) width 15: "Go"
- RenderTableCell {TD} at (302,19) size 35x14 [bgcolor=#CCCCCC] [r=1 c=10 rs=1 cs=1]
+ RenderText {#text} at (4,1) size 15x14
+ text run at (4,1) width 15: "Go"
+ RenderTableCell {TD} at (322,21) size 37x16 [bgcolor=#CCCCCC] [r=1 c=10 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (10,0) size 15x14
- text run at (10,0) width 15: "Go"
- RenderTableRow {TR} at (0,36) size 339x15
- RenderTableCell {TH} at (35,36) size 37x15 [r=2 c=1 rs=1 cs=1]
- RenderText {#text} at (12,0) size 25x15
- text run at (12,0) width 25: "rows"
- RenderTableCell {TD} at (74,36) size 25x14 [bgcolor=#CCCCCC] [r=2 c=2 rs=1 cs=1]
+ RenderText {#text} at (11,1) size 15x14
+ text run at (11,1) width 15: "Go"
+ RenderTableRow {TR} at (0,40) size 361x17
+ RenderTableCell {TH} at (37,40) size 39x17 [r=2 c=1 rs=1 cs=1]
+ RenderText {#text} at (13,1) size 25x15
+ text run at (13,1) width 25: "rows"
+ RenderTableCell {TD} at (78,40) size 27x16 [bgcolor=#CCCCCC] [r=2 c=2 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (5,0) size 15x14
- text run at (5,0) width 15: "Go"
- RenderTableCell {TD} at (101,36) size 33x14 [bgcolor=#CCCCCC] [r=2 c=3 rs=1 cs=1]
+ RenderText {#text} at (6,1) size 15x14
+ text run at (6,1) width 15: "Go"
+ RenderTableCell {TD} at (107,40) size 35x16 [bgcolor=#CCCCCC] [r=2 c=3 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (136,36) size 33x14 [bgcolor=#CCCCCC] [r=2 c=4 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (144,40) size 35x16 [bgcolor=#CCCCCC] [r=2 c=4 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (171,36) size 34x14 [bgcolor=#CCCCCC] [r=2 c=5 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (181,40) size 36x16 [bgcolor=#CCCCCC] [r=2 c=5 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (207,36) size 34x14 [bgcolor=#CCCCCC] [r=2 c=6 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (219,40) size 36x16 [bgcolor=#CCCCCC] [r=2 c=6 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (243,36) size 16x14 [bgcolor=#CCCCCC] [r=2 c=7 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (257,40) size 18x16 [bgcolor=#CCCCCC] [r=2 c=7 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (261,36) size 16x14 [bgcolor=#CCCCCC] [r=2 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (277,40) size 18x16 [bgcolor=#CCCCCC] [r=2 c=8 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (279,36) size 21x14 [bgcolor=#CCCCCC] [r=2 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (297,40) size 23x16 [bgcolor=#CCCCCC] [r=2 c=9 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (3,0) size 15x14
- text run at (3,0) width 15: "Go"
- RenderTableCell {TD} at (302,36) size 35x14 [bgcolor=#CCCCCC] [r=2 c=10 rs=1 cs=1]
+ RenderText {#text} at (4,1) size 15x14
+ text run at (4,1) width 15: "Go"
+ RenderTableCell {TD} at (322,40) size 37x16 [bgcolor=#CCCCCC] [r=2 c=10 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (10,0) size 15x14
- text run at (10,0) width 15: "Go"
- RenderTableRow {TR} at (0,53) size 339x15
- RenderTableCell {TH} at (35,53) size 37x15 [r=3 c=1 rs=1 cs=1]
- RenderText {#text} at (15,0) size 22x15
- text run at (15,0) width 22: "cols"
- RenderTableCell {TD} at (74,53) size 25x14 [bgcolor=#CCCCCC] [r=3 c=2 rs=1 cs=1]
+ RenderText {#text} at (11,1) size 15x14
+ text run at (11,1) width 15: "Go"
+ RenderTableRow {TR} at (0,59) size 361x17
+ RenderTableCell {TH} at (37,59) size 39x17 [r=3 c=1 rs=1 cs=1]
+ RenderText {#text} at (16,1) size 22x15
+ text run at (16,1) width 22: "cols"
+ RenderTableCell {TD} at (78,59) size 27x16 [bgcolor=#CCCCCC] [r=3 c=2 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (5,0) size 15x14
- text run at (5,0) width 15: "Go"
- RenderTableCell {TD} at (101,53) size 33x14 [bgcolor=#CCCCCC] [r=3 c=3 rs=1 cs=1]
+ RenderText {#text} at (6,1) size 15x14
+ text run at (6,1) width 15: "Go"
+ RenderTableCell {TD} at (107,59) size 35x16 [bgcolor=#CCCCCC] [r=3 c=3 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (136,53) size 33x14 [bgcolor=#CCCCCC] [r=3 c=4 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (144,59) size 35x16 [bgcolor=#CCCCCC] [r=3 c=4 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (171,53) size 34x14 [bgcolor=#CCCCCC] [r=3 c=5 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (181,59) size 36x16 [bgcolor=#CCCCCC] [r=3 c=5 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (207,53) size 34x14 [bgcolor=#CCCCCC] [r=3 c=6 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (219,59) size 36x16 [bgcolor=#CCCCCC] [r=3 c=6 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (243,53) size 16x14 [bgcolor=#CCCCCC] [r=3 c=7 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (257,59) size 18x16 [bgcolor=#CCCCCC] [r=3 c=7 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (261,53) size 16x14 [bgcolor=#CCCCCC] [r=3 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (277,59) size 18x16 [bgcolor=#CCCCCC] [r=3 c=8 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (279,53) size 21x14 [bgcolor=#CCCCCC] [r=3 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (297,59) size 23x16 [bgcolor=#CCCCCC] [r=3 c=9 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (3,0) size 15x14
- text run at (3,0) width 15: "Go"
- RenderTableCell {TD} at (302,53) size 35x14 [bgcolor=#CCCCCC] [r=3 c=10 rs=1 cs=1]
+ RenderText {#text} at (4,1) size 15x14
+ text run at (4,1) width 15: "Go"
+ RenderTableCell {TD} at (322,59) size 37x16 [bgcolor=#CCCCCC] [r=3 c=10 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (10,0) size 15x14
- text run at (10,0) width 15: "Go"
- RenderTableRow {TR} at (0,70) size 339x15
- RenderTableCell {TH} at (35,70) size 37x15 [r=4 c=1 rs=1 cs=1]
- RenderText {#text} at (23,0) size 14x15
- text run at (23,0) width 14: "all"
- RenderTableCell {TD} at (74,70) size 25x14 [bgcolor=#CCCCCC] [r=4 c=2 rs=1 cs=1]
+ RenderText {#text} at (11,1) size 15x14
+ text run at (11,1) width 15: "Go"
+ RenderTableRow {TR} at (0,78) size 361x17
+ RenderTableCell {TH} at (37,78) size 39x17 [r=4 c=1 rs=1 cs=1]
+ RenderText {#text} at (24,1) size 14x15
+ text run at (24,1) width 14: "all"
+ RenderTableCell {TD} at (78,78) size 27x16 [bgcolor=#CCCCCC] [r=4 c=2 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (5,0) size 15x14
- text run at (5,0) width 15: "Go"
- RenderTableCell {TD} at (101,70) size 33x14 [bgcolor=#CCCCCC] [r=4 c=3 rs=1 cs=1]
+ RenderText {#text} at (6,1) size 15x14
+ text run at (6,1) width 15: "Go"
+ RenderTableCell {TD} at (107,78) size 35x16 [bgcolor=#CCCCCC] [r=4 c=3 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (136,70) size 33x14 [bgcolor=#CCCCCC] [r=4 c=4 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (144,78) size 35x16 [bgcolor=#CCCCCC] [r=4 c=4 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (171,70) size 34x14 [bgcolor=#CCCCCC] [r=4 c=5 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (181,78) size 36x16 [bgcolor=#CCCCCC] [r=4 c=5 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (207,70) size 34x14 [bgcolor=#CCCCCC] [r=4 c=6 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (219,78) size 36x16 [bgcolor=#CCCCCC] [r=4 c=6 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (9,0) size 15x14
- text run at (9,0) width 15: "Go"
- RenderTableCell {TD} at (243,70) size 16x14 [bgcolor=#CCCCCC] [r=4 c=7 rs=1 cs=1]
+ RenderText {#text} at (10,1) size 15x14
+ text run at (10,1) width 15: "Go"
+ RenderTableCell {TD} at (257,78) size 18x16 [bgcolor=#CCCCCC] [r=4 c=7 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (261,70) size 16x14 [bgcolor=#CCCCCC] [r=4 c=8 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (277,78) size 18x16 [bgcolor=#CCCCCC] [r=4 c=8 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (0,0) size 15x14
- text run at (0,0) width 15: "Go"
- RenderTableCell {TD} at (279,70) size 21x14 [bgcolor=#CCCCCC] [r=4 c=9 rs=1 cs=1]
+ RenderText {#text} at (1,1) size 15x14
+ text run at (1,1) width 15: "Go"
+ RenderTableCell {TD} at (297,78) size 23x16 [bgcolor=#CCCCCC] [r=4 c=9 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (3,0) size 15x14
- text run at (3,0) width 15: "Go"
- RenderTableCell {TD} at (302,70) size 35x14 [bgcolor=#CCCCCC] [r=4 c=10 rs=1 cs=1]
+ RenderText {#text} at (4,1) size 15x14
+ text run at (4,1) width 15: "Go"
+ RenderTableCell {TD} at (322,78) size 37x16 [bgcolor=#CCCCCC] [r=4 c=10 rs=1 cs=1]
RenderInline {A} at (0,0) size 15x14 [color=#0000EE]
- RenderText {#text} at (10,0) size 15x14
- text run at (10,0) width 15: "Go"
+ RenderText {#text} at (11,1) size 15x14
+ text run at (11,1) width 15: "Go"
-e36d355c06332a87634267efab8fc48e
\ No newline at end of file
+0c62bfa8526ce05b9909addf93104911
\ No newline at end of file
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
-0ff8f07f1878d7bb12677162ffbfe298
\ No newline at end of file
+893cab444ca9b4cd5560995e365babed
\ No newline at end of file
RenderTable {TABLE} at (12,12) size 1x0
RenderTableSection {TBODY} at (0,0) size 1x0
RenderTableRow {TR} at (0,0) size 1x0
- RenderTableCell {TD} at (0,0) size 1x0 [r=0 c=0 rs=1 cs=1]
+ RenderTableCell {TD} at (0,0) size 0x0 [r=0 c=0 rs=1 cs=1]
RenderBlock {DIV} at (60,60) size 120x12 [bgcolor=#FF0000] [border: (12px solid #000000) none (12px solid #000000)]
RenderBlock {DIV} at (12,0) size 144x12
RenderText {#text} at (0,-1) size 90x14
-49bb2f32b6c32b78403c5766d9ce0c10
\ No newline at end of file
+4ee6ec57176a3fdf486c89a65871b5aa
\ No newline at end of file
layer at (0,0) size 800x600
RenderView at (0,0) size 800x600
-layer at (0,0) size 800x56
- RenderBlock {HTML} at (0,0) size 800x56
- RenderBody {BODY} at (8,8) size 784x40
+layer at (0,0) size 800x58
+ RenderBlock {HTML} at (0,0) size 800x58
+ RenderBody {BODY} at (8,8) size 784x42
RenderBlock (anonymous) at (0,0) size 784x18
RenderText {#text} at (0,0) size 255x18
text run at (0,0) width 255: "This is the first of two lines on this page."
- RenderBlock {TABLE} at (0,18) size 784x22
- RenderTable at (0,0) size 279x22
- RenderTableSection {TBODY} at (0,0) size 279x22
- RenderTableRow (anonymous) at (0,2) size 279x18
- RenderTableCell (anonymous) at (2,2) size 275x18 [r=0 c=0 rs=1 cs=1]
- RenderBlock {TR} at (0,0) size 275x18
- RenderBlock {TD} at (0,0) size 275x18
- RenderText {#text} at (0,0) size 275x18
- text run at (0,0) width 275: "This is the second of two lines on this page."
+ RenderBlock {TABLE} at (0,18) size 784x24
+ RenderTable at (0,0) size 281x24
+ RenderTableSection {TBODY} at (0,0) size 281x24
+ RenderTableRow (anonymous) at (0,2) size 281x20
+ RenderTableCell (anonymous) at (2,2) size 277x20 [r=0 c=0 rs=1 cs=1]
+ RenderBlock {TR} at (0,0) size 277x20
+ RenderBlock {TD} at (0,0) size 277x20
+ RenderText {#text} at (1,1) size 275x18
+ text run at (1,1) width 275: "This is the second of two lines on this page."
+2008-01-18 David Hyatt <hyatt@apple.com>
+
+ Fix for http://bugs.webkit.org/show_bug.cgi?id=14975
+
+ Computed size of padding is incorrect because we default padding to auto. This is a made-up value that
+ was only used to implement cellpadding on tables. We needed this made-up value in order to tell that
+ padding wasn't set so that we could then apply cellpadding.
+
+ This patch rewrites cellpadding to be like other browsers. Instead of being a setting on the table
+ renderer that applies to all cells (even ones that were not <td>s), cellpadding is now mapped into the
+ style of <td>s. With this change it effectively becomes a content model feature and not a rendering
+ feature.
+
+ For example, a <td> will pick up cellpadding even when it is not a cell and/or the enclosing <table> is
+ not a table. Anonymous cells and CSS-display-type cells will now never pick up cellpadding. This behavior
+ is all consistent with other browsers.
+
+ Reviewed by Antti
+
+ Added fast/css/padding-no-renderer.html
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::canShareStyleWithElement):
+ (WebCore::CSSStyleSelector::styleForElement):
+ * css/CSSStyleSelector.h:
+ * dom/StyledElement.cpp:
+ * dom/StyledElement.h:
+ (WebCore::StyledElement::canHaveAdditionalAttributeStyleDecls):
+ (WebCore::StyledElement::additionalAttributeStyleDecls):
+ * html/HTMLTableCellElement.cpp:
+ (WebCore::HTMLTableCellElement::additionalAttributeStyleDecls):
+ * html/HTMLTableCellElement.h:
+ (WebCore::HTMLTableCellElement::canHaveAdditionalAttributeStyleDecls):
+ * html/HTMLTableColElement.cpp:
+ (WebCore::HTMLTableColElement::additionalAttributeStyleDecls):
+ * html/HTMLTableColElement.h:
+ (WebCore::HTMLTableColElement::canHaveAdditionalAttributeStyleDecls):
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::parseMappedAttribute):
+ (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
+ (WebCore::HTMLTableElement::addSharedCellDecls):
+ (WebCore::HTMLTableElement::addSharedCellBordersDecl):
+ (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
+ (WebCore::HTMLTableElement::addSharedGroupDecls):
+ (WebCore::HTMLTableElement::attach):
+ * html/HTMLTableElement.h:
+ (WebCore::HTMLTableElement::canHaveAdditionalAttributeStyleDecls):
+ * html/HTMLTableSectionElement.cpp:
+ (WebCore::HTMLTableSectionElement::additionalAttributeStyleDecls):
+ * html/HTMLTableSectionElement.h:
+ (WebCore::HTMLTableSectionElement::canHaveAdditionalAttributeStyleDecls):
+ * rendering/AutoTableLayout.cpp:
+ (WebCore::AutoTableLayout::recalcColumn):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::paddingTop):
+ (WebCore::RenderObject::paddingBottom):
+ (WebCore::RenderObject::paddingLeft):
+ (WebCore::RenderObject::paddingRight):
+ * rendering/RenderStyle.cpp:
+ (WebCore::StyleSurroundData::StyleSurroundData):
+ * rendering/RenderStyle.h:
+ (WebCore::RenderStyle::initialPadding):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::RenderTable):
+ * rendering/RenderTable.h:
+
2008-01-18 Dan Bernstein <mitz@apple.com>
Reviewed by Dave Hyatt.
(s->getAttribute(typeAttr) == m_element->getAttribute(typeAttr)) &&
(s->getAttribute(XMLNames::langAttr) == m_element->getAttribute(XMLNames::langAttr)) &&
(s->getAttribute(langAttr) == m_element->getAttribute(langAttr)) &&
- (s->getAttribute(readonlyAttr) == m_element->getAttribute(readonlyAttr))) {
+ (s->getAttribute(readonlyAttr) == m_element->getAttribute(readonlyAttr)) &&
+ (s->getAttribute(cellpaddingAttr) == m_element->getAttribute(cellpaddingAttr))) {
bool isControl = s->isControl();
if (isControl != m_element->isControl())
return false;
// Now we check additional mapped declarations.
// Tables and table cells share an additional mapped rule that must be applied
// after all attributes, since their mapped style depends on the values of multiple attributes.
- CSSMutableStyleDeclaration* attributeDecl = m_styledElement->additionalAttributeStyleDecl();
- if (attributeDecl) {
- lastAuthorRule = m_matchedDecls.size();
- if (firstAuthorRule == -1)
- firstAuthorRule = lastAuthorRule;
- addMatchedDeclaration(attributeDecl);
+ if (m_styledElement->canHaveAdditionalAttributeStyleDecls()) {
+ m_additionalAttributeStyleDecls.clear();
+ m_styledElement->additionalAttributeStyleDecls(m_additionalAttributeStyleDecls);
+ if (!m_additionalAttributeStyleDecls.isEmpty()) {
+ unsigned additionalDeclsSize = m_additionalAttributeStyleDecls.size();
+ if (firstAuthorRule == -1)
+ firstAuthorRule = m_matchedDecls.size();
+ lastAuthorRule = m_matchedDecls.size() + additionalDeclsSize - 1;
+ for (unsigned i = 0; i < additionalDeclsSize; i++)
+ addMatchedDeclaration(m_additionalAttributeStyleDecls[i]);
+ }
}
}
RefPtr<CSSFontSelector> m_fontSelector;
HashSet<AtomicStringImpl*> m_selectorAttrs;
-
+
+ Vector<CSSMutableStyleDeclaration*> m_additionalAttributeStyleDecls;
+
void applyProperty(int id, CSSValue*);
+
#if ENABLE(SVG)
void applySVGProperty(int id, CSSValue*);
#endif
return getInlineStyleDecl();
}
-CSSMutableStyleDeclaration* StyledElement::additionalAttributeStyleDecl()
-{
- return 0;
-}
-
const ClassNames* StyledElement::getClassNames() const
{
return namedAttrMap ? mappedAttributes()->getClassNames() : 0;
static void removeMappedAttributeDecl(MappedAttributeEntry type, const QualifiedName& attrName, const AtomicString& attrValue);
CSSMutableStyleDeclaration* inlineStyleDecl() const { return m_inlineStyleDecl.get(); }
- virtual CSSMutableStyleDeclaration* additionalAttributeStyleDecl();
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return false; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&) {};
CSSMutableStyleDeclaration* getInlineStyleDecl();
CSSStyleDeclaration* style();
void createInlineStyleDecl();
}
// used by table cells to share style decls created by the enclosing table.
-CSSMutableStyleDeclaration* HTMLTableCellElement::additionalAttributeStyleDecl()
+void HTMLTableCellElement::additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>& results)
{
Node* p = parentNode();
while (p && !p->hasTagName(tableTag))
p = p->parentNode();
- return p ? static_cast<HTMLTableElement*>(p)->getSharedCellDecl() : 0;
+ if (!p)
+ return;
+ static_cast<HTMLTableElement*>(p)->addSharedCellDecls(results);
}
bool HTMLTableCellElement::isURLAttribute(Attribute *attr) const
virtual void parseMappedAttribute(MappedAttribute*);
// used by table cells to share style decls created by the enclosing table.
- virtual CSSMutableStyleDeclaration* additionalAttributeStyleDecl();
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
virtual bool isURLAttribute(Attribute*) const;
}
// used by table columns and column groups to share style decls created by the enclosing table.
-CSSMutableStyleDeclaration* HTMLTableColElement::additionalAttributeStyleDecl()
+void HTMLTableColElement::additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>& results)
{
+ if (!hasLocalName(colgroupTag))
+ return;
Node* p = parentNode();
while (p && !p->hasTagName(tableTag))
p = p->parentNode();
- return hasLocalName(colgroupTag) && p ? static_cast<HTMLTableElement*>(p)->getSharedGroupDecl(false) : 0;
+ if (!p)
+ return;
+ static_cast<HTMLTableElement*>(p)->addSharedGroupDecls(false, results);
}
String HTMLTableColElement::align() const
// overrides
virtual bool mapToEntry(const QualifiedName&, MappedAttributeEntry&) const;
virtual void parseMappedAttribute(MappedAttribute*);
- virtual CSSMutableStyleDeclaration* additionalAttributeStyleDecl();
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
int span() const { return _span; }
void HTMLTableElement::parseMappedAttribute(MappedAttribute* attr)
{
CellBorders bordersBefore = cellBorders();
-
+ unsigned short oldPadding = m_padding;
+
if (attr->name() == widthAttr)
addCSSLength(attr, CSS_PROP_WIDTH, attr->value());
else if (attr->name() == heightAttr)
m_padding = max(0, attr->value().toInt());
else
m_padding = 1;
- if (renderer() && renderer()->isTable())
- static_cast<RenderTable*>(renderer())->setCellPadding(m_padding);
} else if (attr->name() == colsAttr) {
// ###
} else if (attr->name() == vspaceAttr) {
} else
HTMLElement::parseMappedAttribute(attr);
- if (bordersBefore != cellBorders()) {
+ if (bordersBefore != cellBorders() || oldPadding != m_padding) {
+ if (oldPadding != m_padding)
+ m_paddingDecl = 0;
bool cellChanged = false;
for (Node* child = firstChild(); child; child = child->nextSibling())
cellChanged |= setTableCellsChanged(child);
}
}
-CSSMutableStyleDeclaration* HTMLTableElement::additionalAttributeStyleDecl()
+void HTMLTableElement::additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>& results)
{
if ((!m_borderAttr && !m_borderColorAttr) || m_frameAttr)
- return 0;
+ return;
MappedAttribute attr(tableborderAttr, m_borderColorAttr ? "solid" : "outset");
CSSMappedAttributeDeclaration* decl = getMappedAttributeDecl(ePersistent, &attr);
decl->setNode(0);
decl->setMappedState(ePersistent, attr.name(), attr.value());
}
- return decl;
+
+
+ results.append(decl);
}
HTMLTableElement::CellBorders HTMLTableElement::cellBorders() const
return NoBorders;
}
-CSSMutableStyleDeclaration* HTMLTableElement::getSharedCellDecl()
+void HTMLTableElement::addSharedCellDecls(Vector<CSSMutableStyleDeclaration*>& results)
+{
+ addSharedCellBordersDecl(results);
+ addSharedCellPaddingDecl(results);
+}
+
+void HTMLTableElement::addSharedCellBordersDecl(Vector<CSSMutableStyleDeclaration*>& results)
{
CellBorders borders = cellBorders();
decl->setNode(0);
decl->setMappedState(ePersistent, attr.name(), attr.value());
}
- return decl;
+
+ results.append(decl);
}
-CSSMutableStyleDeclaration* HTMLTableElement::getSharedGroupDecl(bool rows)
+void HTMLTableElement::addSharedCellPaddingDecl(Vector<CSSMutableStyleDeclaration*>& results)
+{
+ if (m_padding == 0)
+ return;
+
+ if (!m_paddingDecl) {
+ String numericStr = String::number(m_padding);
+ MappedAttribute attr(cellpaddingAttr, numericStr);
+ m_paddingDecl = getMappedAttributeDecl(eUniversal, &attr);
+ if (!m_paddingDecl) {
+ m_paddingDecl = new CSSMappedAttributeDeclaration(0);
+ m_paddingDecl->setParent(document()->elementSheet());
+ m_paddingDecl->setNode(this);
+ m_paddingDecl->setStrictParsing(false); // Mapped attributes are just always quirky.
+
+ m_paddingDecl->setProperty(CSS_PROP_PADDING_TOP, numericStr, false);
+ m_paddingDecl->setProperty(CSS_PROP_PADDING_RIGHT, numericStr, false);
+ m_paddingDecl->setProperty(CSS_PROP_PADDING_BOTTOM, numericStr, false);
+ m_paddingDecl->setProperty(CSS_PROP_PADDING_LEFT, numericStr, false);
+ }
+ setMappedAttributeDecl(eUniversal, &attr, m_paddingDecl.get());
+ m_paddingDecl->setParent(0);
+ m_paddingDecl->setNode(0);
+ m_paddingDecl->setMappedState(eUniversal, attr.name(), attr.value());
+ }
+
+ results.append(m_paddingDecl.get());
+}
+
+void HTMLTableElement::addSharedGroupDecls(bool rows, Vector<CSSMutableStyleDeclaration*>& results)
+
{
if (m_rulesAttr != GroupsRules)
- return 0;
+ return;
MappedAttribute attr(rulesAttr, rows ? "rowgroups" : "colgroups");
CSSMappedAttributeDeclaration* decl = getMappedAttributeDecl(ePersistent, &attr);
decl->setMappedState(ePersistent, attr.name(), attr.value());
}
- return decl;
+ results.append(decl);
}
void HTMLTableElement::attach()
{
ASSERT(!m_attached);
HTMLElement::attach();
- if (renderer() && renderer()->isTable())
- static_cast<RenderTable*>(renderer())->setCellPadding(m_padding);
}
bool HTMLTableElement::isURLAttribute(Attribute *attr) const
// Used to obtain either a solid or outset border decl and to deal with the frame
// and rules attributes.
- virtual CSSMutableStyleDeclaration* additionalAttributeStyleDecl();
- CSSMutableStyleDeclaration* getSharedCellDecl();
- CSSMutableStyleDeclaration* getSharedGroupDecl(bool rows);
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
+ void addSharedCellDecls(Vector<CSSMutableStyleDeclaration*>&);
+ void addSharedGroupDecls(bool rows, Vector<CSSMutableStyleDeclaration*>&);
private:
+ void addSharedCellBordersDecl(Vector<CSSMutableStyleDeclaration*>&);
+ void addSharedCellPaddingDecl(Vector<CSSMutableStyleDeclaration*>&);
+
enum TableRules { UnsetRules, NoneRules, GroupsRules, RowsRules, ColsRules, AllRules };
enum CellBorders { NoBorders, SolidBorders, InsetBorders, SolidBordersColsOnly, SolidBordersRowsOnly };
// are present, to none otherwise).
unsigned short m_padding;
+ RefPtr<CSSMappedAttributeDeclaration> m_paddingDecl;
};
} //namespace
}
// used by table row groups to share style decls created by the enclosing table.
-CSSMutableStyleDeclaration* HTMLTableSectionElement::additionalAttributeStyleDecl()
+void HTMLTableSectionElement::additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>& results)
{
Node* p = parentNode();
while (p && !p->hasTagName(tableTag))
p = p->parentNode();
-
- return p ? static_cast<HTMLTableElement*>(p)->getSharedGroupDecl(true) : 0;
+ if (!p)
+ return;
+ static_cast<HTMLTableElement*>(p)->addSharedGroupDecls(true, results);
}
// these functions are rather slow, since we need to get the row at
virtual int tagPriority() const { return 8; }
virtual bool checkDTD(const Node*);
virtual ContainerNode* addChild(PassRefPtr<Node>);
- virtual CSSMutableStyleDeclaration* additionalAttributeStyleDecl();
+ virtual bool canHaveAdditionalAttributeStyleDecls() const { return true; }
+ virtual void additionalAttributeStyleDecls(Vector<CSSMutableStyleDeclaration*>&);
PassRefPtr<HTMLElement> insertRow(int index, ExceptionCode&);
void deleteRow(int index, ExceptionCode&);
RenderTableSection::CellStruct current = section->cellAt(i, effCol);
RenderTableCell* cell = current.cell;
- bool cellHasContent = cell && (cell->firstChild() || m_table->cellPadding() || cell->style()->hasBorder() || cell->style()->hasPadding());
+ bool cellHasContent = cell && (cell->firstChild() || cell->style()->hasBorder() || cell->style()->hasPadding());
if (cellHasContent)
l.emptyCellsOnly = false;
Length padding = m_style->paddingTop();
if (padding.isPercent())
w = containingBlock()->availableWidth();
- w = padding.calcMinValue(w);
- if (isTableCell() && padding.isAuto())
- w = static_cast<const RenderTableCell*>(this)->table()->cellPadding();
- return w;
+ return padding.calcMinValue(w);
}
int RenderObject::paddingBottom() const
Length padding = style()->paddingBottom();
if (padding.isPercent())
w = containingBlock()->availableWidth();
- w = padding.calcMinValue(w);
- if (isTableCell() && padding.isAuto())
- w = static_cast<const RenderTableCell*>(this)->table()->cellPadding();
- return w;
+ return padding.calcMinValue(w);
}
int RenderObject::paddingLeft() const
Length padding = style()->paddingLeft();
if (padding.isPercent())
w = containingBlock()->availableWidth();
- w = padding.calcMinValue(w);
- if (isTableCell() && padding.isAuto())
- w = static_cast<const RenderTableCell*>(this)->table()->cellPadding();
- return w;
+ return padding.calcMinValue(w);
}
int RenderObject::paddingRight() const
Length padding = style()->paddingRight();
if (padding.isPercent())
w = containingBlock()->availableWidth();
- w = padding.calcMinValue(w);
- if (isTableCell() && padding.isAuto())
- w = static_cast<const RenderTableCell*>(this)->table()->cellPadding();
- return w;
+ return padding.calcMinValue(w);
}
RenderView* RenderObject::view() const
static RenderStyle* defaultStyle;
StyleSurroundData::StyleSurroundData()
- : margin(Fixed), padding(Auto)
+ : margin(Fixed), padding(Fixed)
{
}
static Length initialMaxSize() { return Length(undefinedLength, Fixed); }
static Length initialOffset() { return Length(); }
static Length initialMargin() { return Length(Fixed); }
- static Length initialPadding() { return Length(Auto); }
+ static Length initialPadding() { return Length(Fixed); }
static Length initialTextIndent() { return Length(Fixed); }
static EVerticalAlign initialVerticalAlign() { return BASELINE; }
static int initialWidows() { return 2; }
, m_frame(Void)
, m_rules(None)
, m_hasColElements(false)
- , m_padding(0)
, m_needsSectionRecalc(0)
, m_hSpacing(0)
, m_vSpacing(0)
}
}
-void RenderTable::setCellPadding(unsigned p)
-{
- if (p == m_padding)
- return;
-
- m_padding = p;
- for (RenderObject* section = firstChild(); section; section = section->nextSibling()) {
- if (section->isTableSection()) {
- for (RenderObject* row = section->firstChild(); row; row = row->nextSibling()) {
- if (row->isTableRow()) {
- for (RenderObject* cell = row->firstChild(); cell; cell = cell->nextSibling()) {
- if (cell->isTableCell()) {
- cell->setChildNeedsLayout(true);
- cell->setPrefWidthsDirty(true);
- }
- }
- }
- }
- }
- }
-}
-
static inline void resetSectionPointerIfNotBefore(RenderTableSection*& ptr, RenderObject* before)
{
if (!before || !ptr)
const Color& bgColor() const { return style()->backgroundColor(); }
- unsigned cellPadding() const { return m_padding; }
- void setCellPadding(unsigned);
-
int outerBorderTop() const;
int outerBorderBottom() const;
int outerBorderLeft() const;
unsigned m_rules : 4; // Rules
mutable bool m_hasColElements : 1;
- unsigned m_padding : 22;
mutable bool m_needsSectionRecalc : 1;
short m_hSpacing;