Commit 4ed270af authored by Xianzhu Wang's avatar Xianzhu Wang

[SPv175+] Fix printing of objects with paint offset translation in repeating table sections

- create fragments for repeating table sections instead of the old
  SPv1 repeating painting path. The old path changes paint offset
  which didn't work for descendants with paint offset translations.

- Let SVG find the proper fragment to paint.

Bug: 847307
Change-Id: Iae4509885885a784afeed2c34fb932201549d630
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Reviewed-on: https://chromium-review.googlesource.com/1079454Reviewed-by: default avatarChris Harrelson <chrishtr@chromium.org>
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#563138}
parent 858211c2
layer at (0,0) size 800x600 scrollHeight 2256
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2256 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x2256
LayoutBlockFlow {BODY} at (8,8) size 1030x2240
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 969x84
text run at (0,8) width 969: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 138x2140
LayoutTableSection {THEAD} at (0,0) size 138x56
LayoutTableRow {TR} at (0,2) size 138x52
LayoutTableCell {TH} at (2,2) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 102x35
text run at (31,8) width 8: " "
text run at (39,8) width 94: "Header"
LayoutTableSection {TBODY} at (0,56) size 138x2030
LayoutTableRow {TR} at (0,0) size 138x52
LayoutTableCell {TD} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 138x52
LayoutTableCell {TD} at (2,54) size 134x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 138x52
LayoutTableCell {TD} at (2,108) size 134x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 138x52
LayoutTableCell {TD} at (2,162) size 134x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 138x52
LayoutTableCell {TD} at (2,216) size 134x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 138x52
LayoutTableCell {TD} at (2,270) size 134x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 138x52
LayoutTableCell {TD} at (2,324) size 134x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,378) size 138x52
LayoutTableCell {TD} at (2,378) size 134x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,432) size 138x52
LayoutTableCell {TD} at (2,432) size 134x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,486) size 138x52
LayoutTableCell {TD} at (2,486) size 134x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,691) size 138x52
LayoutTableCell {TD} at (2,691) size 134x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,745) size 138x52
LayoutTableCell {TD} at (2,745) size 134x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,799) size 138x52
LayoutTableCell {TD} at (2,799) size 134x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,853) size 138x52
LayoutTableCell {TD} at (2,853) size 134x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,907) size 138x52
LayoutTableCell {TD} at (2,907) size 134x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,961) size 138x52
LayoutTableCell {TD} at (2,961) size 134x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,1015) size 138x52
LayoutTableCell {TD} at (2,1015) size 134x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1069) size 138x52
LayoutTableCell {TD} at (2,1069) size 134x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1123) size 138x52
LayoutTableCell {TD} at (2,1123) size 134x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1177) size 138x52
LayoutTableCell {TD} at (2,1177) size 134x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1231) size 138x52
LayoutTableCell {TD} at (2,1231) size 134x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1285) size 138x52
LayoutTableCell {TD} at (2,1285) size 134x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1490) size 138x52
LayoutTableCell {TD} at (2,1490) size 134x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1544) size 138x52
LayoutTableCell {TD} at (2,1544) size 134x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1598) size 138x52
LayoutTableCell {TD} at (2,1598) size 134x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1652) size 138x52
LayoutTableCell {TD} at (2,1652) size 134x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1706) size 138x52
LayoutTableCell {TD} at (2,1706) size 134x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1760) size 138x52
LayoutTableCell {TD} at (2,1760) size 134x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1814) size 138x52
LayoutTableCell {TD} at (2,1814) size 134x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1868) size 138x52
LayoutTableCell {TD} at (2,1868) size 134x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1922) size 138x52
LayoutTableCell {TD} at (2,1922) size 134x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,1976) size 138x52
LayoutTableCell {TD} at (2,1976) size 134x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2086) size 138x54
LayoutTableRow {TR} at (0,0) size 138x52
LayoutTableCell {TH} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 92x35
text run at (36,8) width 8: " "
text run at (44,8) width 84: "Footer"
layer at (0,0) size 800x600 scrollHeight 4368
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4368 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x4368
LayoutBlockFlow {BODY} at (8,8) size 1030x4352
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 969x84
text run at (0,8) width 969: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 138x2252
LayoutTableSection {THEAD} at (0,0) size 138x56
LayoutTableRow {TR} at (0,2) size 138x52
LayoutTableCell {TH} at (2,2) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 102x35
text run at (31,8) width 8: " "
text run at (39,8) width 94: "Header"
LayoutTableSection {TBODY} at (0,56) size 138x2142
LayoutTableRow {TR} at (0,0) size 138x52
LayoutTableCell {TD} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 138x52
LayoutTableCell {TD} at (2,54) size 134x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 138x52
LayoutTableCell {TD} at (2,108) size 134x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 138x52
LayoutTableCell {TD} at (2,162) size 134x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 138x52
LayoutTableCell {TD} at (2,216) size 134x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 138x52
LayoutTableCell {TD} at (2,270) size 134x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 138x52
LayoutTableCell {TD} at (2,324) size 134x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,490) size 138x52
LayoutTableCell {TD} at (2,490) size 134x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,544) size 138x52
LayoutTableCell {TD} at (2,544) size 134x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,598) size 138x52
LayoutTableCell {TD} at (2,598) size 134x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,652) size 138x52
LayoutTableCell {TD} at (2,652) size 134x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,706) size 138x52
LayoutTableCell {TD} at (2,706) size 134x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,760) size 138x52
LayoutTableCell {TD} at (2,760) size 134x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,814) size 138x52
LayoutTableCell {TD} at (2,814) size 134x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,868) size 138x52
LayoutTableCell {TD} at (2,868) size 134x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,922) size 138x52
LayoutTableCell {TD} at (2,922) size 134x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,976) size 138x52
LayoutTableCell {TD} at (2,976) size 134x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1030) size 138x52
LayoutTableCell {TD} at (2,1030) size 134x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1084) size 138x52
LayoutTableCell {TD} at (2,1084) size 134x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1289) size 138x52
LayoutTableCell {TD} at (2,1289) size 134x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1343) size 138x52
LayoutTableCell {TD} at (2,1343) size 134x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1397) size 138x52
LayoutTableCell {TD} at (2,1397) size 134x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1451) size 138x52
LayoutTableCell {TD} at (2,1451) size 134x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1505) size 138x52
LayoutTableCell {TD} at (2,1505) size 134x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1559) size 138x52
LayoutTableCell {TD} at (2,1559) size 134x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1613) size 138x52
LayoutTableCell {TD} at (2,1613) size 134x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1667) size 138x52
LayoutTableCell {TD} at (2,1667) size 134x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1721) size 138x52
LayoutTableCell {TD} at (2,1721) size 134x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1775) size 138x52
LayoutTableCell {TD} at (2,1775) size 134x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1829) size 138x52
LayoutTableCell {TD} at (2,1829) size 134x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1883) size 138x52
LayoutTableCell {TD} at (2,1883) size 134x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,2088) size 138x52
LayoutTableCell {TD} at (2,2088) size 134x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2198) size 138x54
LayoutTableRow {TR} at (0,0) size 138x52
LayoutTableCell {TH} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 92x35
text run at (36,8) width 8: " "
text run at (44,8) width 84: "Footer"
LayoutBlockFlow {DIV} at (0,3352) size 1030x1000
layer at (0,0) size 800x600 scrollHeight 2264
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2264 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x2264
LayoutNGBlockFlow {BODY} at (8,8) size 1030x2248
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 969x84
text run at (0,8) width 969: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 138x2148
LayoutTableSection {THEAD} at (0,0) size 138x56
LayoutTableRow {TR} at (0,2) size 138x52
LayoutNGTableCell {TH} at (2,2) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 102x35
text run at (31,8) width 102: " Header"
LayoutTableSection {TBODY} at (0,56) size 138x2038
LayoutTableRow {TR} at (0,0) size 138x52
LayoutNGTableCell {TD} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 138x52
LayoutNGTableCell {TD} at (2,54) size 134x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 138x52
LayoutNGTableCell {TD} at (2,108) size 134x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 138x52
LayoutNGTableCell {TD} at (2,162) size 134x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 138x52
LayoutNGTableCell {TD} at (2,216) size 134x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 138x52
LayoutNGTableCell {TD} at (2,270) size 134x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 138x52
LayoutNGTableCell {TD} at (2,324) size 134x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,378) size 138x52
LayoutNGTableCell {TD} at (2,378) size 134x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,432) size 138x52
LayoutNGTableCell {TD} at (2,432) size 134x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,486) size 138x52
LayoutNGTableCell {TD} at (2,486) size 134x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,699) size 138x52
LayoutNGTableCell {TD} at (2,699) size 134x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,753) size 138x52
LayoutNGTableCell {TD} at (2,753) size 134x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,807) size 138x52
LayoutNGTableCell {TD} at (2,807) size 134x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,861) size 138x52
LayoutNGTableCell {TD} at (2,861) size 134x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,915) size 138x52
LayoutNGTableCell {TD} at (2,915) size 134x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,969) size 138x52
LayoutNGTableCell {TD} at (2,969) size 134x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,1023) size 138x52
LayoutNGTableCell {TD} at (2,1023) size 134x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1077) size 138x52
LayoutNGTableCell {TD} at (2,1077) size 134x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1131) size 138x52
LayoutNGTableCell {TD} at (2,1131) size 134x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1185) size 138x52
LayoutNGTableCell {TD} at (2,1185) size 134x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1239) size 138x52
LayoutNGTableCell {TD} at (2,1239) size 134x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1293) size 138x52
LayoutNGTableCell {TD} at (2,1293) size 134x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1498) size 138x52
LayoutNGTableCell {TD} at (2,1498) size 134x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1552) size 138x52
LayoutNGTableCell {TD} at (2,1552) size 134x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1606) size 138x52
LayoutNGTableCell {TD} at (2,1606) size 134x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1660) size 138x52
LayoutNGTableCell {TD} at (2,1660) size 134x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1714) size 138x52
LayoutNGTableCell {TD} at (2,1714) size 134x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1768) size 138x52
LayoutNGTableCell {TD} at (2,1768) size 134x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1822) size 138x52
LayoutNGTableCell {TD} at (2,1822) size 134x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1876) size 138x52
LayoutNGTableCell {TD} at (2,1876) size 134x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1930) size 138x52
LayoutNGTableCell {TD} at (2,1930) size 134x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,1984) size 138x52
LayoutNGTableCell {TD} at (2,1984) size 134x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2094) size 138x54
LayoutTableRow {TR} at (0,0) size 138x52
LayoutNGTableCell {TH} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.50,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 92x35
text run at (36,8) width 92: " Footer"
layer at (0,0) size 800x600 scrollHeight 4376
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4376 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x4376
LayoutNGBlockFlow {BODY} at (8,8) size 1030x4360
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 969x84
text run at (0,8) width 969: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutNGBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 138x2260
LayoutTableSection {THEAD} at (0,0) size 138x56
LayoutTableRow {TR} at (0,2) size 138x52
LayoutNGTableCell {TH} at (2,2) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 102x35
text run at (31,8) width 102: " Header"
LayoutTableSection {TBODY} at (0,56) size 138x2150
LayoutTableRow {TR} at (0,0) size 138x52
LayoutNGTableCell {TD} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 138x52
LayoutNGTableCell {TD} at (2,54) size 134x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 138x52
LayoutNGTableCell {TD} at (2,108) size 134x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 138x52
LayoutNGTableCell {TD} at (2,162) size 134x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 138x52
LayoutNGTableCell {TD} at (2,216) size 134x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 138x52
LayoutNGTableCell {TD} at (2,270) size 134x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 138x52
LayoutNGTableCell {TD} at (2,324) size 134x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,498) size 138x52
LayoutNGTableCell {TD} at (2,498) size 134x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,552) size 138x52
LayoutNGTableCell {TD} at (2,552) size 134x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,606) size 138x52
LayoutNGTableCell {TD} at (2,606) size 134x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,660) size 138x52
LayoutNGTableCell {TD} at (2,660) size 134x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,714) size 138x52
LayoutNGTableCell {TD} at (2,714) size 134x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,768) size 138x52
LayoutNGTableCell {TD} at (2,768) size 134x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,822) size 138x52
LayoutNGTableCell {TD} at (2,822) size 134x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,876) size 138x52
LayoutNGTableCell {TD} at (2,876) size 134x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,930) size 138x52
LayoutNGTableCell {TD} at (2,930) size 134x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,984) size 138x52
LayoutNGTableCell {TD} at (2,984) size 134x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1038) size 138x52
LayoutNGTableCell {TD} at (2,1038) size 134x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1092) size 138x52
LayoutNGTableCell {TD} at (2,1092) size 134x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1297) size 138x52
LayoutNGTableCell {TD} at (2,1297) size 134x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1351) size 138x52
LayoutNGTableCell {TD} at (2,1351) size 134x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1405) size 138x52
LayoutNGTableCell {TD} at (2,1405) size 134x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1459) size 138x52
LayoutNGTableCell {TD} at (2,1459) size 134x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1513) size 138x52
LayoutNGTableCell {TD} at (2,1513) size 134x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1567) size 138x52
LayoutNGTableCell {TD} at (2,1567) size 134x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1621) size 138x52
LayoutNGTableCell {TD} at (2,1621) size 134x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1675) size 138x52
LayoutNGTableCell {TD} at (2,1675) size 134x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1729) size 138x52
LayoutNGTableCell {TD} at (2,1729) size 134x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1783) size 138x52
LayoutNGTableCell {TD} at (2,1783) size 134x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1837) size 138x52
LayoutNGTableCell {TD} at (2,1837) size 134x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1891) size 138x52
LayoutNGTableCell {TD} at (2,1891) size 134x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,2096) size 138x52
LayoutNGTableCell {TD} at (2,2096) size 134x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2206) size 138x54
LayoutTableRow {TR} at (0,0) size 138x52
LayoutNGTableCell {TH} at (2,0) size 134x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.50,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 92x35
text run at (36,8) width 92: " Footer"
LayoutNGBlockFlow {DIV} at (0,3360) size 1030x1000
layer at (0,0) size 800x600 scrollHeight 2256
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2256 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x2256
LayoutBlockFlow {BODY} at (8,8) size 1030x2240
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,7) size 972x86
text run at (0,7) width 972: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,57) width 111: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 139x2140
LayoutTableSection {THEAD} at (0,0) size 139x56
LayoutTableRow {TR} at (0,2) size 139x52
LayoutTableCell {TH} at (2,2) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1.27,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 103x36
text run at (31,8) width 8: " "
text run at (38,8) width 96: "Header"
LayoutTableSection {TBODY} at (0,56) size 139x2030
LayoutTableRow {TR} at (0,0) size 139x52
LayoutTableCell {TD} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "1"
LayoutTableRow {TR} at (0,54) size 139x52
LayoutTableCell {TD} at (2,54) size 135x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "2"
LayoutTableRow {TR} at (0,108) size 139x52
LayoutTableCell {TD} at (2,108) size 135x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "3"
LayoutTableRow {TR} at (0,162) size 139x52
LayoutTableCell {TD} at (2,162) size 135x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "4"
LayoutTableRow {TR} at (0,216) size 139x52
LayoutTableCell {TD} at (2,216) size 135x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "5"
LayoutTableRow {TR} at (0,270) size 139x52
LayoutTableCell {TD} at (2,270) size 135x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "6"
LayoutTableRow {TR} at (0,324) size 139x52
LayoutTableCell {TD} at (2,324) size 135x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "7"
LayoutTableRow {TR} at (0,378) size 139x52
LayoutTableCell {TD} at (2,378) size 135x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "8"
LayoutTableRow {TR} at (0,432) size 139x52
LayoutTableCell {TD} at (2,432) size 135x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "9"
LayoutTableRow {TR} at (0,486) size 139x52
LayoutTableCell {TD} at (2,486) size 135x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "10"
LayoutTableRow {TR} at (0,691) size 139x52
LayoutTableCell {TD} at (2,691) size 135x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 29x36
text run at (1,8) width 29: "11"
LayoutTableRow {TR} at (0,745) size 139x52
LayoutTableCell {TD} at (2,745) size 135x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "12"
LayoutTableRow {TR} at (0,799) size 139x52
LayoutTableCell {TD} at (2,799) size 135x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "13"
LayoutTableRow {TR} at (0,853) size 139x52
LayoutTableCell {TD} at (2,853) size 135x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "14"
LayoutTableRow {TR} at (0,907) size 139x52
LayoutTableCell {TD} at (2,907) size 135x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "15"
LayoutTableRow {TR} at (0,961) size 139x52
LayoutTableCell {TD} at (2,961) size 135x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "16"
LayoutTableRow {TR} at (0,1015) size 139x52
LayoutTableCell {TD} at (2,1015) size 135x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "17"
LayoutTableRow {TR} at (0,1069) size 139x52
LayoutTableCell {TD} at (2,1069) size 135x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "18"
LayoutTableRow {TR} at (0,1123) size 139x52
LayoutTableCell {TD} at (2,1123) size 135x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "19"
LayoutTableRow {TR} at (0,1177) size 139x52
LayoutTableCell {TD} at (2,1177) size 135x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "20"
LayoutTableRow {TR} at (0,1231) size 139x52
LayoutTableCell {TD} at (2,1231) size 135x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "21"
LayoutTableRow {TR} at (0,1285) size 139x52
LayoutTableCell {TD} at (2,1285) size 135x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "22"
LayoutTableRow {TR} at (0,1490) size 139x52
LayoutTableCell {TD} at (2,1490) size 135x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "23"
LayoutTableRow {TR} at (0,1544) size 139x52
LayoutTableCell {TD} at (2,1544) size 135x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "24"
LayoutTableRow {TR} at (0,1598) size 139x52
LayoutTableCell {TD} at (2,1598) size 135x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "25"
LayoutTableRow {TR} at (0,1652) size 139x52
LayoutTableCell {TD} at (2,1652) size 135x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "26"
LayoutTableRow {TR} at (0,1706) size 139x52
LayoutTableCell {TD} at (2,1706) size 135x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "27"
LayoutTableRow {TR} at (0,1760) size 139x52
LayoutTableCell {TD} at (2,1760) size 135x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "28"
LayoutTableRow {TR} at (0,1814) size 139x52
LayoutTableCell {TD} at (2,1814) size 135x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "29"
LayoutTableRow {TR} at (0,1868) size 139x52
LayoutTableCell {TD} at (2,1868) size 135x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "30"
LayoutTableRow {TR} at (0,1922) size 139x52
LayoutTableCell {TD} at (2,1922) size 135x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "31"
LayoutTableRow {TR} at (0,1976) size 139x52
LayoutTableCell {TD} at (2,1976) size 135x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "32"
LayoutTableSection {TFOOT} at (0,2086) size 139x54
LayoutTableRow {TR} at (0,0) size 139x52
LayoutTableCell {TH} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.28,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 93x36
text run at (36,8) width 8: " "
text run at (43,8) width 86: "Footer"
layer at (0,0) size 800x600 scrollHeight 4368
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4368 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x4368
LayoutBlockFlow {BODY} at (8,8) size 1030x4352
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,7) size 972x86
text run at (0,7) width 972: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,57) width 111: "\"Footer\"."
LayoutBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 139x2252
LayoutTableSection {THEAD} at (0,0) size 139x56
LayoutTableRow {TR} at (0,2) size 139x52
LayoutTableCell {TH} at (2,2) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1.27,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 103x36
text run at (31,8) width 8: " "
text run at (38,8) width 96: "Header"
LayoutTableSection {TBODY} at (0,56) size 139x2142
LayoutTableRow {TR} at (0,0) size 139x52
LayoutTableCell {TD} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "1"
LayoutTableRow {TR} at (0,54) size 139x52
LayoutTableCell {TD} at (2,54) size 135x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "2"
LayoutTableRow {TR} at (0,108) size 139x52
LayoutTableCell {TD} at (2,108) size 135x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "3"
LayoutTableRow {TR} at (0,162) size 139x52
LayoutTableCell {TD} at (2,162) size 135x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "4"
LayoutTableRow {TR} at (0,216) size 139x52
LayoutTableCell {TD} at (2,216) size 135x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "5"
LayoutTableRow {TR} at (0,270) size 139x52
LayoutTableCell {TD} at (2,270) size 135x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "6"
LayoutTableRow {TR} at (0,324) size 139x52
LayoutTableCell {TD} at (2,324) size 135x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "7"
LayoutTableRow {TR} at (0,490) size 139x52
LayoutTableCell {TD} at (2,490) size 135x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "8"
LayoutTableRow {TR} at (0,544) size 139x52
LayoutTableCell {TD} at (2,544) size 135x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "9"
LayoutTableRow {TR} at (0,598) size 139x52
LayoutTableCell {TD} at (2,598) size 135x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "10"
LayoutTableRow {TR} at (0,652) size 139x52
LayoutTableCell {TD} at (2,652) size 135x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 29x36
text run at (1,8) width 29: "11"
LayoutTableRow {TR} at (0,706) size 139x52
LayoutTableCell {TD} at (2,706) size 135x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "12"
LayoutTableRow {TR} at (0,760) size 139x52
LayoutTableCell {TD} at (2,760) size 135x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "13"
LayoutTableRow {TR} at (0,814) size 139x52
LayoutTableCell {TD} at (2,814) size 135x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "14"
LayoutTableRow {TR} at (0,868) size 139x52
LayoutTableCell {TD} at (2,868) size 135x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "15"
LayoutTableRow {TR} at (0,922) size 139x52
LayoutTableCell {TD} at (2,922) size 135x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "16"
LayoutTableRow {TR} at (0,976) size 139x52
LayoutTableCell {TD} at (2,976) size 135x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "17"
LayoutTableRow {TR} at (0,1030) size 139x52
LayoutTableCell {TD} at (2,1030) size 135x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "18"
LayoutTableRow {TR} at (0,1084) size 139x52
LayoutTableCell {TD} at (2,1084) size 135x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "19"
LayoutTableRow {TR} at (0,1289) size 139x52
LayoutTableCell {TD} at (2,1289) size 135x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "20"
LayoutTableRow {TR} at (0,1343) size 139x52
LayoutTableCell {TD} at (2,1343) size 135x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "21"
LayoutTableRow {TR} at (0,1397) size 139x52
LayoutTableCell {TD} at (2,1397) size 135x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "22"
LayoutTableRow {TR} at (0,1451) size 139x52
LayoutTableCell {TD} at (2,1451) size 135x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "23"
LayoutTableRow {TR} at (0,1505) size 139x52
LayoutTableCell {TD} at (2,1505) size 135x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "24"
LayoutTableRow {TR} at (0,1559) size 139x52
LayoutTableCell {TD} at (2,1559) size 135x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "25"
LayoutTableRow {TR} at (0,1613) size 139x52
LayoutTableCell {TD} at (2,1613) size 135x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "26"
LayoutTableRow {TR} at (0,1667) size 139x52
LayoutTableCell {TD} at (2,1667) size 135x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "27"
LayoutTableRow {TR} at (0,1721) size 139x52
LayoutTableCell {TD} at (2,1721) size 135x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "28"
LayoutTableRow {TR} at (0,1775) size 139x52
LayoutTableCell {TD} at (2,1775) size 135x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "29"
LayoutTableRow {TR} at (0,1829) size 139x52
LayoutTableCell {TD} at (2,1829) size 135x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "30"
LayoutTableRow {TR} at (0,1883) size 139x52
LayoutTableCell {TD} at (2,1883) size 135x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "31"
LayoutTableRow {TR} at (0,2088) size 139x52
LayoutTableCell {TD} at (2,2088) size 135x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "32"
LayoutTableSection {TFOOT} at (0,2198) size 139x54
LayoutTableRow {TR} at (0,0) size 139x52
LayoutTableCell {TH} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.28,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 93x36
text run at (36,8) width 8: " "
text run at (43,8) width 86: "Footer"
LayoutBlockFlow {DIV} at (0,3352) size 1030x1000
layer at (0,0) size 800x600 scrollHeight 2264
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2264 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x2264
LayoutNGBlockFlow {BODY} at (8,8) size 1030x2248
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,7) size 972x86
text run at (0,7) width 972: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,57) width 111: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 139x2148
LayoutTableSection {THEAD} at (0,0) size 139x56
LayoutTableRow {TR} at (0,2) size 139x52
LayoutNGTableCell {TH} at (2,2) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1.27,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 103x36
text run at (31,8) width 103: " Header"
LayoutTableSection {TBODY} at (0,56) size 139x2038
LayoutTableRow {TR} at (0,0) size 139x52
LayoutNGTableCell {TD} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "1"
LayoutTableRow {TR} at (0,54) size 139x52
LayoutNGTableCell {TD} at (2,54) size 135x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "2"
LayoutTableRow {TR} at (0,108) size 139x52
LayoutNGTableCell {TD} at (2,108) size 135x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "3"
LayoutTableRow {TR} at (0,162) size 139x52
LayoutNGTableCell {TD} at (2,162) size 135x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "4"
LayoutTableRow {TR} at (0,216) size 139x52
LayoutNGTableCell {TD} at (2,216) size 135x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "5"
LayoutTableRow {TR} at (0,270) size 139x52
LayoutNGTableCell {TD} at (2,270) size 135x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "6"
LayoutTableRow {TR} at (0,324) size 139x52
LayoutNGTableCell {TD} at (2,324) size 135x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "7"
LayoutTableRow {TR} at (0,378) size 139x52
LayoutNGTableCell {TD} at (2,378) size 135x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "8"
LayoutTableRow {TR} at (0,432) size 139x52
LayoutNGTableCell {TD} at (2,432) size 135x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "9"
LayoutTableRow {TR} at (0,486) size 139x52
LayoutNGTableCell {TD} at (2,486) size 135x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "10"
LayoutTableRow {TR} at (0,699) size 139x52
LayoutNGTableCell {TD} at (2,699) size 135x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 29x36
text run at (1,8) width 29: "11"
LayoutTableRow {TR} at (0,753) size 139x52
LayoutNGTableCell {TD} at (2,753) size 135x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "12"
LayoutTableRow {TR} at (0,807) size 139x52
LayoutNGTableCell {TD} at (2,807) size 135x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "13"
LayoutTableRow {TR} at (0,861) size 139x52
LayoutNGTableCell {TD} at (2,861) size 135x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "14"
LayoutTableRow {TR} at (0,915) size 139x52
LayoutNGTableCell {TD} at (2,915) size 135x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "15"
LayoutTableRow {TR} at (0,969) size 139x52
LayoutNGTableCell {TD} at (2,969) size 135x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "16"
LayoutTableRow {TR} at (0,1023) size 139x52
LayoutNGTableCell {TD} at (2,1023) size 135x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "17"
LayoutTableRow {TR} at (0,1077) size 139x52
LayoutNGTableCell {TD} at (2,1077) size 135x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "18"
LayoutTableRow {TR} at (0,1131) size 139x52
LayoutNGTableCell {TD} at (2,1131) size 135x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "19"
LayoutTableRow {TR} at (0,1185) size 139x52
LayoutNGTableCell {TD} at (2,1185) size 135x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "20"
LayoutTableRow {TR} at (0,1239) size 139x52
LayoutNGTableCell {TD} at (2,1239) size 135x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "21"
LayoutTableRow {TR} at (0,1293) size 139x52
LayoutNGTableCell {TD} at (2,1293) size 135x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "22"
LayoutTableRow {TR} at (0,1498) size 139x52
LayoutNGTableCell {TD} at (2,1498) size 135x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "23"
LayoutTableRow {TR} at (0,1552) size 139x52
LayoutNGTableCell {TD} at (2,1552) size 135x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "24"
LayoutTableRow {TR} at (0,1606) size 139x52
LayoutNGTableCell {TD} at (2,1606) size 135x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "25"
LayoutTableRow {TR} at (0,1660) size 139x52
LayoutNGTableCell {TD} at (2,1660) size 135x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "26"
LayoutTableRow {TR} at (0,1714) size 139x52
LayoutNGTableCell {TD} at (2,1714) size 135x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "27"
LayoutTableRow {TR} at (0,1768) size 139x52
LayoutNGTableCell {TD} at (2,1768) size 135x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "28"
LayoutTableRow {TR} at (0,1822) size 139x52
LayoutNGTableCell {TD} at (2,1822) size 135x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "29"
LayoutTableRow {TR} at (0,1876) size 139x52
LayoutNGTableCell {TD} at (2,1876) size 135x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "30"
LayoutTableRow {TR} at (0,1930) size 139x52
LayoutNGTableCell {TD} at (2,1930) size 135x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "31"
LayoutTableRow {TR} at (0,1984) size 139x52
LayoutNGTableCell {TD} at (2,1984) size 135x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "32"
LayoutTableSection {TFOOT} at (0,2094) size 139x54
LayoutTableRow {TR} at (0,0) size 139x52
LayoutNGTableCell {TH} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.53,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 93x36
text run at (36,8) width 93: " Footer"
layer at (0,0) size 800x600 scrollHeight 4376
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4376 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x4376
LayoutNGBlockFlow {BODY} at (8,8) size 1030x4360
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,7) size 972x86
text run at (0,7) width 972: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,57) width 111: "\"Footer\"."
LayoutNGBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 139x2260
LayoutTableSection {THEAD} at (0,0) size 139x56
LayoutTableRow {TR} at (0,2) size 139x52
LayoutNGTableCell {TH} at (2,2) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1.27,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 103x36
text run at (31,8) width 103: " Header"
LayoutTableSection {TBODY} at (0,56) size 139x2150
LayoutTableRow {TR} at (0,0) size 139x52
LayoutNGTableCell {TD} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "1"
LayoutTableRow {TR} at (0,54) size 139x52
LayoutNGTableCell {TD} at (2,54) size 135x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "2"
LayoutTableRow {TR} at (0,108) size 139x52
LayoutNGTableCell {TD} at (2,108) size 135x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "3"
LayoutTableRow {TR} at (0,162) size 139x52
LayoutNGTableCell {TD} at (2,162) size 135x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "4"
LayoutTableRow {TR} at (0,216) size 139x52
LayoutNGTableCell {TD} at (2,216) size 135x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "5"
LayoutTableRow {TR} at (0,270) size 139x52
LayoutNGTableCell {TD} at (2,270) size 135x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "6"
LayoutTableRow {TR} at (0,324) size 139x52
LayoutNGTableCell {TD} at (2,324) size 135x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "7"
LayoutTableRow {TR} at (0,498) size 139x52
LayoutNGTableCell {TD} at (2,498) size 135x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "8"
LayoutTableRow {TR} at (0,552) size 139x52
LayoutNGTableCell {TD} at (2,552) size 135x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 15x36
text run at (1,8) width 15: "9"
LayoutTableRow {TR} at (0,606) size 139x52
LayoutNGTableCell {TD} at (2,606) size 135x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "10"
LayoutTableRow {TR} at (0,660) size 139x52
LayoutNGTableCell {TD} at (2,660) size 135x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 29x36
text run at (1,8) width 29: "11"
LayoutTableRow {TR} at (0,714) size 139x52
LayoutNGTableCell {TD} at (2,714) size 135x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "12"
LayoutTableRow {TR} at (0,768) size 139x52
LayoutNGTableCell {TD} at (2,768) size 135x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "13"
LayoutTableRow {TR} at (0,822) size 139x52
LayoutNGTableCell {TD} at (2,822) size 135x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "14"
LayoutTableRow {TR} at (0,876) size 139x52
LayoutNGTableCell {TD} at (2,876) size 135x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "15"
LayoutTableRow {TR} at (0,930) size 139x52
LayoutNGTableCell {TD} at (2,930) size 135x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "16"
LayoutTableRow {TR} at (0,984) size 139x52
LayoutNGTableCell {TD} at (2,984) size 135x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "17"
LayoutTableRow {TR} at (0,1038) size 139x52
LayoutNGTableCell {TD} at (2,1038) size 135x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "18"
LayoutTableRow {TR} at (0,1092) size 139x52
LayoutNGTableCell {TD} at (2,1092) size 135x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "19"
LayoutTableRow {TR} at (0,1297) size 139x52
LayoutNGTableCell {TD} at (2,1297) size 135x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "20"
LayoutTableRow {TR} at (0,1351) size 139x52
LayoutNGTableCell {TD} at (2,1351) size 135x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "21"
LayoutTableRow {TR} at (0,1405) size 139x52
LayoutNGTableCell {TD} at (2,1405) size 135x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "22"
LayoutTableRow {TR} at (0,1459) size 139x52
LayoutNGTableCell {TD} at (2,1459) size 135x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "23"
LayoutTableRow {TR} at (0,1513) size 139x52
LayoutNGTableCell {TD} at (2,1513) size 135x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "24"
LayoutTableRow {TR} at (0,1567) size 139x52
LayoutNGTableCell {TD} at (2,1567) size 135x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "25"
LayoutTableRow {TR} at (0,1621) size 139x52
LayoutNGTableCell {TD} at (2,1621) size 135x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "26"
LayoutTableRow {TR} at (0,1675) size 139x52
LayoutNGTableCell {TD} at (2,1675) size 135x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "27"
LayoutTableRow {TR} at (0,1729) size 139x52
LayoutNGTableCell {TD} at (2,1729) size 135x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "28"
LayoutTableRow {TR} at (0,1783) size 139x52
LayoutNGTableCell {TD} at (2,1783) size 135x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "29"
LayoutTableRow {TR} at (0,1837) size 139x52
LayoutNGTableCell {TD} at (2,1837) size 135x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "30"
LayoutTableRow {TR} at (0,1891) size 139x52
LayoutNGTableCell {TD} at (2,1891) size 135x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "31"
LayoutTableRow {TR} at (0,2096) size 139x52
LayoutNGTableCell {TD} at (2,2096) size 135x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,8) size 30x36
text run at (1,8) width 30: "32"
LayoutTableSection {TFOOT} at (0,2206) size 139x54
LayoutTableRow {TR} at (0,0) size 139x52
LayoutNGTableCell {TH} at (2,0) size 135x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (6.53,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (36,8) size 93x36
text run at (36,8) width 93: " Footer"
LayoutNGBlockFlow {DIV} at (0,3360) size 1030x1000
layer at (0,0) size 800x600 scrollHeight 2256
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2256 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x2256
LayoutBlockFlow {BODY} at (8,8) size 1030x2240
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 958x84
text run at (0,8) width 958: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 136x2140
LayoutTableSection {THEAD} at (0,0) size 136x56
LayoutTableRow {TR} at (0,2) size 136x52
LayoutTableCell {TH} at (2,2) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 100x35
text run at (31,8) width 8: " "
text run at (39,8) width 92: "Header"
LayoutTableSection {TBODY} at (0,56) size 136x2030
LayoutTableRow {TR} at (0,0) size 136x52
LayoutTableCell {TD} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 136x52
LayoutTableCell {TD} at (2,54) size 132x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 136x52
LayoutTableCell {TD} at (2,108) size 132x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 136x52
LayoutTableCell {TD} at (2,162) size 132x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 136x52
LayoutTableCell {TD} at (2,216) size 132x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 136x52
LayoutTableCell {TD} at (2,270) size 132x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 136x52
LayoutTableCell {TD} at (2,324) size 132x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,378) size 136x52
LayoutTableCell {TD} at (2,378) size 132x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,432) size 136x52
LayoutTableCell {TD} at (2,432) size 132x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,486) size 136x52
LayoutTableCell {TD} at (2,486) size 132x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,691) size 136x52
LayoutTableCell {TD} at (2,691) size 132x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,745) size 136x52
LayoutTableCell {TD} at (2,745) size 132x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,799) size 136x52
LayoutTableCell {TD} at (2,799) size 132x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,853) size 136x52
LayoutTableCell {TD} at (2,853) size 132x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,907) size 136x52
LayoutTableCell {TD} at (2,907) size 132x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,961) size 136x52
LayoutTableCell {TD} at (2,961) size 132x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,1015) size 136x52
LayoutTableCell {TD} at (2,1015) size 132x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1069) size 136x52
LayoutTableCell {TD} at (2,1069) size 132x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1123) size 136x52
LayoutTableCell {TD} at (2,1123) size 132x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1177) size 136x52
LayoutTableCell {TD} at (2,1177) size 132x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1231) size 136x52
LayoutTableCell {TD} at (2,1231) size 132x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1285) size 136x52
LayoutTableCell {TD} at (2,1285) size 132x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1490) size 136x52
LayoutTableCell {TD} at (2,1490) size 132x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1544) size 136x52
LayoutTableCell {TD} at (2,1544) size 132x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1598) size 136x52
LayoutTableCell {TD} at (2,1598) size 132x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1652) size 136x52
LayoutTableCell {TD} at (2,1652) size 132x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1706) size 136x52
LayoutTableCell {TD} at (2,1706) size 132x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1760) size 136x52
LayoutTableCell {TD} at (2,1760) size 132x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1814) size 136x52
LayoutTableCell {TD} at (2,1814) size 132x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1868) size 136x52
LayoutTableCell {TD} at (2,1868) size 132x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1922) size 136x52
LayoutTableCell {TD} at (2,1922) size 132x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,1976) size 136x52
LayoutTableCell {TD} at (2,1976) size 132x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2086) size 136x54
LayoutTableRow {TR} at (0,0) size 136x52
LayoutTableCell {TH} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (5,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (35,8) size 92x35
text run at (35,8) width 8: " "
text run at (43,8) width 84: "Footer"
layer at (0,0) size 800x600 scrollHeight 4368
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4368 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutBlockFlow {HTML} at (0,0) size 1046x4368
LayoutBlockFlow {BODY} at (8,8) size 1030x4352
LayoutBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 958x84
text run at (0,8) width 958: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 136x2252
LayoutTableSection {THEAD} at (0,0) size 136x56
LayoutTableRow {TR} at (0,2) size 136x52
LayoutTableCell {TH} at (2,2) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 100x35
text run at (31,8) width 8: " "
text run at (39,8) width 92: "Header"
LayoutTableSection {TBODY} at (0,56) size 136x2142
LayoutTableRow {TR} at (0,0) size 136x52
LayoutTableCell {TD} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 136x52
LayoutTableCell {TD} at (2,54) size 132x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 136x52
LayoutTableCell {TD} at (2,108) size 132x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 136x52
LayoutTableCell {TD} at (2,162) size 132x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 136x52
LayoutTableCell {TD} at (2,216) size 132x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 136x52
LayoutTableCell {TD} at (2,270) size 132x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 136x52
LayoutTableCell {TD} at (2,324) size 132x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,490) size 136x52
LayoutTableCell {TD} at (2,490) size 132x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,544) size 136x52
LayoutTableCell {TD} at (2,544) size 132x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,598) size 136x52
LayoutTableCell {TD} at (2,598) size 132x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,652) size 136x52
LayoutTableCell {TD} at (2,652) size 132x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,706) size 136x52
LayoutTableCell {TD} at (2,706) size 132x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,760) size 136x52
LayoutTableCell {TD} at (2,760) size 132x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,814) size 136x52
LayoutTableCell {TD} at (2,814) size 132x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,868) size 136x52
LayoutTableCell {TD} at (2,868) size 132x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,922) size 136x52
LayoutTableCell {TD} at (2,922) size 132x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,976) size 136x52
LayoutTableCell {TD} at (2,976) size 132x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1030) size 136x52
LayoutTableCell {TD} at (2,1030) size 132x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1084) size 136x52
LayoutTableCell {TD} at (2,1084) size 132x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1289) size 136x52
LayoutTableCell {TD} at (2,1289) size 132x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1343) size 136x52
LayoutTableCell {TD} at (2,1343) size 132x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1397) size 136x52
LayoutTableCell {TD} at (2,1397) size 132x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1451) size 136x52
LayoutTableCell {TD} at (2,1451) size 132x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1505) size 136x52
LayoutTableCell {TD} at (2,1505) size 132x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1559) size 136x52
LayoutTableCell {TD} at (2,1559) size 132x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1613) size 136x52
LayoutTableCell {TD} at (2,1613) size 132x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1667) size 136x52
LayoutTableCell {TD} at (2,1667) size 132x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1721) size 136x52
LayoutTableCell {TD} at (2,1721) size 132x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1775) size 136x52
LayoutTableCell {TD} at (2,1775) size 132x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1829) size 136x52
LayoutTableCell {TD} at (2,1829) size 132x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1883) size 136x52
LayoutTableCell {TD} at (2,1883) size 132x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,2088) size 136x52
LayoutTableCell {TD} at (2,2088) size 132x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2198) size 136x54
LayoutTableRow {TR} at (0,0) size 136x52
LayoutTableCell {TH} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (5,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (35,8) size 92x35
text run at (35,8) width 8: " "
text run at (43,8) width 84: "Footer"
LayoutBlockFlow {DIV} at (0,3352) size 1030x1000
layer at (0,0) size 800x600 scrollHeight 2264
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x2264 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x2264
LayoutNGBlockFlow {BODY} at (8,8) size 1030x2248
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 958x84
text run at (0,8) width 958: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutTable {TABLE} at (0,100) size 136x2148
LayoutTableSection {THEAD} at (0,0) size 136x56
LayoutTableRow {TR} at (0,2) size 136x52
LayoutNGTableCell {TH} at (2,2) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 100x35
text run at (31,8) width 100: " Header"
LayoutTableSection {TBODY} at (0,56) size 136x2038
LayoutTableRow {TR} at (0,0) size 136x52
LayoutNGTableCell {TD} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 136x52
LayoutNGTableCell {TD} at (2,54) size 132x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 136x52
LayoutNGTableCell {TD} at (2,108) size 132x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 136x52
LayoutNGTableCell {TD} at (2,162) size 132x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 136x52
LayoutNGTableCell {TD} at (2,216) size 132x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 136x52
LayoutNGTableCell {TD} at (2,270) size 132x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 136x52
LayoutNGTableCell {TD} at (2,324) size 132x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,378) size 136x52
LayoutNGTableCell {TD} at (2,378) size 132x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,432) size 136x52
LayoutNGTableCell {TD} at (2,432) size 132x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,486) size 136x52
LayoutNGTableCell {TD} at (2,486) size 132x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,699) size 136x52
LayoutNGTableCell {TD} at (2,699) size 132x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,753) size 136x52
LayoutNGTableCell {TD} at (2,753) size 132x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,807) size 136x52
LayoutNGTableCell {TD} at (2,807) size 132x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,861) size 136x52
LayoutNGTableCell {TD} at (2,861) size 132x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,915) size 136x52
LayoutNGTableCell {TD} at (2,915) size 132x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,969) size 136x52
LayoutNGTableCell {TD} at (2,969) size 132x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,1023) size 136x52
LayoutNGTableCell {TD} at (2,1023) size 132x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1077) size 136x52
LayoutNGTableCell {TD} at (2,1077) size 132x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1131) size 136x52
LayoutNGTableCell {TD} at (2,1131) size 132x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1185) size 136x52
LayoutNGTableCell {TD} at (2,1185) size 132x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1239) size 136x52
LayoutNGTableCell {TD} at (2,1239) size 132x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1293) size 136x52
LayoutNGTableCell {TD} at (2,1293) size 132x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1498) size 136x52
LayoutNGTableCell {TD} at (2,1498) size 132x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1552) size 136x52
LayoutNGTableCell {TD} at (2,1552) size 132x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1606) size 136x52
LayoutNGTableCell {TD} at (2,1606) size 132x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1660) size 136x52
LayoutNGTableCell {TD} at (2,1660) size 132x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1714) size 136x52
LayoutNGTableCell {TD} at (2,1714) size 132x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1768) size 136x52
LayoutNGTableCell {TD} at (2,1768) size 132x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1822) size 136x52
LayoutNGTableCell {TD} at (2,1822) size 132x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1876) size 136x52
LayoutNGTableCell {TD} at (2,1876) size 132x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1930) size 136x52
LayoutNGTableCell {TD} at (2,1930) size 132x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,1984) size 136x52
LayoutNGTableCell {TD} at (2,1984) size 132x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2094) size 136x54
LayoutTableRow {TR} at (0,0) size 136x52
LayoutNGTableCell {TH} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (5.50,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (35,8) size 92x35
text run at (35,8) width 92: " Footer"
layer at (0,0) size 800x600 scrollHeight 4376
LayoutView at (0,0) size 1046x799
layer at (0,0) size 1046x4376 backgroundClip at (0,0) size 800x600 clip at (0,0) size 800x600
LayoutNGBlockFlow {HTML} at (0,0) size 1046x4376
LayoutNGBlockFlow {BODY} at (8,8) size 1030x4360
LayoutNGBlockFlow (anonymous) at (0,0) size 1030x100
LayoutText {#text} at (0,8) size 958x84
text run at (0,8) width 958: "Passes if there is a green circle before each \"Header\" and a red circle before each"
text run at (0,58) width 110: "\"Footer\"."
LayoutNGBlockFlow {DIV} at (0,100) size 1030x1000
LayoutTable {TABLE} at (0,1100) size 136x2260
LayoutTableSection {THEAD} at (0,0) size 136x56
LayoutTableRow {TR} at (0,2) size 136x52
LayoutNGTableCell {TH} at (2,2) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (1,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#008000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (31,8) size 100x35
text run at (31,8) width 100: " Header"
LayoutTableSection {TBODY} at (0,56) size 136x2150
LayoutTableRow {TR} at (0,0) size 136x52
LayoutNGTableCell {TD} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "1"
LayoutTableRow {TR} at (0,54) size 136x52
LayoutNGTableCell {TD} at (2,54) size 132x52 [r=1 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "2"
LayoutTableRow {TR} at (0,108) size 136x52
LayoutNGTableCell {TD} at (2,108) size 132x52 [r=2 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "3"
LayoutTableRow {TR} at (0,162) size 136x52
LayoutNGTableCell {TD} at (2,162) size 132x52 [r=3 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "4"
LayoutTableRow {TR} at (0,216) size 136x52
LayoutNGTableCell {TD} at (2,216) size 132x52 [r=4 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "5"
LayoutTableRow {TR} at (0,270) size 136x52
LayoutNGTableCell {TD} at (2,270) size 132x52 [r=5 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "6"
LayoutTableRow {TR} at (0,324) size 136x52
LayoutNGTableCell {TD} at (2,324) size 132x52 [r=6 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "7"
LayoutTableRow {TR} at (0,498) size 136x52
LayoutNGTableCell {TD} at (2,498) size 132x52 [r=7 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "8"
LayoutTableRow {TR} at (0,552) size 136x52
LayoutNGTableCell {TD} at (2,552) size 132x52 [r=8 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 15x34
text run at (1,9) width 15: "9"
LayoutTableRow {TR} at (0,606) size 136x52
LayoutNGTableCell {TD} at (2,606) size 132x52 [r=9 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "10"
LayoutTableRow {TR} at (0,660) size 136x52
LayoutNGTableCell {TD} at (2,660) size 132x52 [r=10 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 29x34
text run at (1,9) width 29: "11"
LayoutTableRow {TR} at (0,714) size 136x52
LayoutNGTableCell {TD} at (2,714) size 132x52 [r=11 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "12"
LayoutTableRow {TR} at (0,768) size 136x52
LayoutNGTableCell {TD} at (2,768) size 132x52 [r=12 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "13"
LayoutTableRow {TR} at (0,822) size 136x52
LayoutNGTableCell {TD} at (2,822) size 132x52 [r=13 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "14"
LayoutTableRow {TR} at (0,876) size 136x52
LayoutNGTableCell {TD} at (2,876) size 132x52 [r=14 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "15"
LayoutTableRow {TR} at (0,930) size 136x52
LayoutNGTableCell {TD} at (2,930) size 132x52 [r=15 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "16"
LayoutTableRow {TR} at (0,984) size 136x52
LayoutNGTableCell {TD} at (2,984) size 132x52 [r=16 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "17"
LayoutTableRow {TR} at (0,1038) size 136x52
LayoutNGTableCell {TD} at (2,1038) size 132x52 [r=17 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "18"
LayoutTableRow {TR} at (0,1092) size 136x52
LayoutNGTableCell {TD} at (2,1092) size 132x52 [r=18 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "19"
LayoutTableRow {TR} at (0,1297) size 136x52
LayoutNGTableCell {TD} at (2,1297) size 132x52 [r=19 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "20"
LayoutTableRow {TR} at (0,1351) size 136x52
LayoutNGTableCell {TD} at (2,1351) size 132x52 [r=20 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "21"
LayoutTableRow {TR} at (0,1405) size 136x52
LayoutNGTableCell {TD} at (2,1405) size 132x52 [r=21 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "22"
LayoutTableRow {TR} at (0,1459) size 136x52
LayoutNGTableCell {TD} at (2,1459) size 132x52 [r=22 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "23"
LayoutTableRow {TR} at (0,1513) size 136x52
LayoutNGTableCell {TD} at (2,1513) size 132x52 [r=23 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "24"
LayoutTableRow {TR} at (0,1567) size 136x52
LayoutNGTableCell {TD} at (2,1567) size 132x52 [r=24 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "25"
LayoutTableRow {TR} at (0,1621) size 136x52
LayoutNGTableCell {TD} at (2,1621) size 132x52 [r=25 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "26"
LayoutTableRow {TR} at (0,1675) size 136x52
LayoutNGTableCell {TD} at (2,1675) size 132x52 [r=26 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "27"
LayoutTableRow {TR} at (0,1729) size 136x52
LayoutNGTableCell {TD} at (2,1729) size 132x52 [r=27 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "28"
LayoutTableRow {TR} at (0,1783) size 136x52
LayoutNGTableCell {TD} at (2,1783) size 132x52 [r=28 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "29"
LayoutTableRow {TR} at (0,1837) size 136x52
LayoutNGTableCell {TD} at (2,1837) size 132x52 [r=29 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "30"
LayoutTableRow {TR} at (0,1891) size 136x52
LayoutNGTableCell {TD} at (2,1891) size 132x52 [r=30 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "31"
LayoutTableRow {TR} at (0,2096) size 136x52
LayoutNGTableCell {TD} at (2,2096) size 132x52 [r=31 c=0 rs=1 cs=1]
LayoutText {#text} at (1,9) size 30x34
text run at (1,9) width 30: "32"
LayoutTableSection {TFOOT} at (0,2206) size 136x54
LayoutTableRow {TR} at (0,0) size 136x52
LayoutNGTableCell {TH} at (2,0) size 132x52 [r=0 c=0 rs=1 cs=1]
LayoutSVGRoot {svg} at (5.50,6) size 30x30
LayoutSVGEllipse {circle} at (0,0) size 30x30 [fill={[type=SOLID] [color=#FF0000]}] [cx=15.00] [cy=15.00] [r=15.00]
LayoutText {#text} at (35,8) size 92x35
text run at (35,8) width 92: " Footer"
LayoutNGBlockFlow {DIV} at (0,3360) size 1030x1000
<!DOCTYPE html>
<body>
<style>
body {
margin: 0px;
}
td {
border: 1px solid black;
height: 40px;
}
.header {
break-inside: avoid;
}
</style>
<script>
if (window.testRunner)
testRunner.setPrinting();
</script>
<!-- crbug.com/702605: Header uses offset intended for rows. The first header row should be at the top of the first page. -->
<table cellspacing="0">
<tr>
<td>header 1</td>
<td>header 2</td>
<td>header 3</td>
</tr>
<tr>
<td>1-1</td>
<td>2-1</td>
<td>3-1</td>
</tr>
<tr>
<td>1-2</td>
<td>2-2</td>
<td>3-2</td>
</tr>
<tr>
<td>1-3</td>
<td>2-3</td>
<td>3-3</td>
</tr>
<tr>
<td>1-4</td>
<td>2-4</td>
<td>3-4</td>
</tr>
<tr>
<td>1-5</td>
<td>2-5</td>
<td>3-5</td>
</tr>
<tr>
<td>1-6</td>
<td>2-6</td>
<td>3-6</td>
</tr>
<tr>
<td>1-7</td>
<td>2-7</td>
<td>3-7</td>
</tr>
<tr>
<td>1-8</td>
<td>2-8</td>
<td>3-8</td>
</tr>
<tr>
<td>1-9</td>
<td>2-9</td>
<td>3-9</td>
</tr>
<tr>
<td>1-10</td>
<td>2-10</td>
<td>3-10</td>
</tr>
<tr>
<td>1-11</td>
<td>2-11</td>
<td>3-11</td>
</tr>
<tr>
<td>1-12</td>
<td>2-12</td>
<td>3-12</td>
</tr>
<tr>
<td>1-13</td>
<td>2-13</td>
<td>3-13</td>
</tr>
<tr>
<td>1-14</td>
<td>2-14</td>
<td>3-14</td>
</tr>
<tr>
<td>1-15</td>
<td>2-15</td>
<td>3-15</td>
</tr>
<tr>
<td>1-16</td>
<td>2-16</td>
<td>3-16</td>
</tr>
<tr>
<td>1-17</td>
<td>2-17</td>
<td>3-17</td>
</tr>
<tr class="header">
<td>header 1</td>
<td>header 2</td>
<td>header 3</td>
</tr>
<tr>
<td>1-18</td>
<td>2-18</td>
<td>3-18</td>
</tr>
<tr>
<td>1-19</td>
<td>2-19</td>
<td>3-19</td>
</tr>
<tr>
<td>1-20</td>
<td>2-20</td>
<td>3-20</td>
</tr>
</tbody>
</table>
</body>
<!DOCTYPE html>
<style>
body {
font-size: 30px;
line-height: 50px;
}
</style>
<script>
if (window.testRunner)
testRunner.setPrinting();
</script>
Passes if there is a green circle before each "Header" and a red circle before each "Footer".
<div style="height: 1000px"></div>
<table>
<thead>
<tr>
<th>
<svg height="30" width="30">
<circle cx="15" cy="15" r="15" fill="green" />
</svg>
Header
</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
<tr>
<td>8</td>
</tr>
<tr>
<td>9</td>
</tr>
<tr>
<td>10</td>
</tr>
<tr>
<td>11</td>
</tr>
<tr>
<td>12</td>
</tr>
<tr>
<td>13</td>
</tr>
<tr>
<td>14</td>
</tr>
<tr>
<td>15</td>
</tr>
<tr>
<td>16</td>
</tr>
<tr>
<td>17</td>
</tr>
<tr>
<td>18</td>
</tr>
<tr>
<td>19</td>
</tr>
<tr>
<td>20</td>
</tr>
<tr>
<td>21</td>
</tr>
<tr>
<td>22</td>
</tr>
<tr>
<td>23</td>
</tr>
<tr>
<td>24</td>
</tr>
<tr>
<td>25</td>
</tr>
<tr>
<td>26</td>
</tr>
<tr>
<td>27</td>
</tr>
<tr>
<td>28</td>
</tr>
<tr>
<td>29</td>
</tr>
<tr>
<td>30</td>
</tr>
<tr>
<td>31</td>
</tr>
<tr>
<td>32</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>
<svg height="30" width="30">
<circle cx="15" cy="15" r="15" fill="red" />
</svg>
Footer
</th>
</tr>
</tfoot>
</table>
<div style="height: 1000px"></div>
<!DOCTYPE html>
<style>
body {
font-size: 30px;
line-height: 50px;
}
</style>
<script>
if (window.testRunner)
testRunner.setPrinting();
</script>
Passes if there is a green circle before each "Header" and a red circle before each "Footer".
<table>
<thead>
<tr>
<th>
<svg height="30" width="30">
<circle cx="15" cy="15" r="15" fill="green" />
</svg>
Header
</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>7</td>
</tr>
<tr>
<td>8</td>
</tr>
<tr>
<td>9</td>
</tr>
<tr>
<td>10</td>
</tr>
<tr>
<td>11</td>
</tr>
<tr>
<td>12</td>
</tr>
<tr>
<td>13</td>
</tr>
<tr>
<td>14</td>
</tr>
<tr>
<td>15</td>
</tr>
<tr>
<td>16</td>
</tr>
<tr>
<td>17</td>
</tr>
<tr>
<td>18</td>
</tr>
<tr>
<td>19</td>
</tr>
<tr>
<td>20</td>
</tr>
<tr>
<td>21</td>
</tr>
<tr>
<td>22</td>
</tr>
<tr>
<td>23</td>
</tr>
<tr>
<td>24</td>
</tr>
<tr>
<td>25</td>
</tr>
<tr>
<td>26</td>
</tr>
<tr>
<td>27</td>
</tr>
<tr>
<td>28</td>
</tr>
<tr>
<td>29</td>
</tr>
<tr>
<td>30</td>
</tr>
<tr>
<td>31</td>
</tr>
<tr>
<td>32</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>
<svg height="30" width="30">
<circle cx="15" cy="15" r="15" fill="red" />
</svg>
Footer
</th>
</tr>
</tfoot>
</table>
......@@ -2046,10 +2046,6 @@ bool LayoutTableSection::GroupShouldRepeat() const {
if (GetPaginationBreakability() == kAllowAnyBreaks)
return false;
// TODO(rhogan): Sections can be self-painting.
if (HasSelfPaintingLayer())
return false;
// If we don't know the page height yet, just assume we fit.
if (!IsPageLogicalHeightKnown())
return true;
......
......@@ -45,8 +45,7 @@ bool AdjustPaintOffsetScope::AdjustPaintOffset(const LayoutBox& box) {
return true;
}
if (box.IsTableSection() &&
(!old_paint_info_.IsPrinting() || box.FirstFragment().NextFragment())) {
if (box.IsTableSection()) {
const auto& section = ToLayoutTableSection(box);
if (section.IsRepeatingHeaderGroup() || section.IsRepeatingFooterGroup()) {
adjusted_paint_offset_ = fragment->PaintOffset();
......
......@@ -101,9 +101,9 @@ struct PaintPropertyTreeBuilderFragmentContext {
// in the flow thread.
LayoutUnit logical_top_in_flow_thread;
// A repeating object paints at multiple places in the flow thread, once in
// each fragment. The repeated paintings need to add an adjustment to the
// calculated paint offset to paint at the desired place.
// A repeating object paints at multiple places, once in each fragment.
// The repeated paintings need to add an adjustment to the calculated paint
// offset to paint at the desired place.
LayoutSize repeating_paint_offset_adjustment;
};
......@@ -137,10 +137,10 @@ struct PaintPropertyTreeBuilderContext {
PaintLayer* painting_layer = nullptr;
// In a fragmented context, some objects (e.g. repeating table headers and
// footers) and their descendants in paint order) repeatedly paint in all
// fragments after the fragment where the object first appears.
bool is_repeating_in_flow_thread = false;
// In a fragmented context, repeating table headers and footers and their
// descendants in paint order repeatedly paint in all fragments after the
// fragment where the object first appears.
bool is_repeating_table_section = false;
// When printing, fixed-position objects and their descendants need to repeat
// in each page.
......@@ -150,9 +150,9 @@ struct PaintPropertyTreeBuilderContext {
// ancestor.
bool has_svg_hidden_container_ancestor = false;
// The physical bounding box of all appearances of the repeating object
// in the flow thread.
LayoutRect repeating_bounding_box_in_flow_thread;
// The physical bounding box of all appearances of the repeating table section
// in the flow thread or the paged LayoutView.
LayoutRect repeating_table_section_bounding_box;
};
// Creates paint property tree nodes for non-local effects in the layout tree.
......@@ -193,13 +193,17 @@ class PaintPropertyTreeBuilder {
LayoutUnit logical_top_in_flow_thread) const;
ALWAYS_INLINE void CreateFragmentContextsInFlowThread(
bool needs_paint_properties);
ALWAYS_INLINE bool IsRepeatingInPagedMedia() const;
ALWAYS_INLINE bool ObjectIsRepeatingTableSectionInPagedMedia() const;
ALWAYS_INLINE void CreateFragmentContextsForRepeatingFixedPosition();
ALWAYS_INLINE void CreateFragmentDataForRepeatingFixedPosition(
ALWAYS_INLINE void
CreateFragmentContextsForRepeatingTableSectionInPagedMedia();
ALWAYS_INLINE void CreateFragmentDataForRepeatingInPagedMedia(
bool needs_paint_properties);
// Returns whether ObjectPaintProperties were allocated or deleted.
ALWAYS_INLINE bool UpdateFragments();
ALWAYS_INLINE void UpdatePaintingLayer();
ALWAYS_INLINE void UpdateRepeatingPaintOffsetAdjustment();
ALWAYS_INLINE void UpdateRepeatingTableSectionPaintOffsetAdjustment();
ALWAYS_INLINE void UpdateRepeatingTableHeaderPaintOffsetAdjustment();
ALWAYS_INLINE void UpdateRepeatingTableFooterPaintOffsetAdjustment();
......
......@@ -6,6 +6,8 @@
#include "third_party/blink/renderer/core/html/html_iframe_element.h"
#include "third_party/blink/renderer/core/layout/layout_image.h"
#include "third_party/blink/renderer/core/layout/layout_table_cell.h"
#include "third_party/blink/renderer/core/layout/layout_table_section.h"
#include "third_party/blink/renderer/core/layout/layout_tree_as_text.h"
#include "third_party/blink/renderer/core/layout/svg/layout_svg_root.h"
#include "third_party/blink/renderer/core/paint/object_paint_properties.h"
......@@ -5464,6 +5466,89 @@ TEST_P(PaintPropertyTreeBuilderTest,
EXPECT_EQ(1u, NumFragments(fixed_child));
}
TEST_P(PaintPropertyTreeBuilderTest, RepeatingTableSectionInPagedMedia) {
SetBodyInnerHTML(R"HTML(
<style>
body { margin: 0; }
tr { height: 100px; }
div { height: 500px; }
</style>
<div></div>
<table style="border-spacing: 0">
<thead id="head"><tr><th>Header</th></tr></thead>
<tbody>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
</tbody>
<tfoot id="foot"><tr><th>Footer</th></tr></tfoot>
</table>
<div></div>
)HTML");
const auto* head = ToLayoutTableSection(GetLayoutObjectByElementId("head"));
const auto* foot = ToLayoutTableSection(GetLayoutObjectByElementId("foot"));
EXPECT_FALSE(head->IsRepeatingHeaderGroup());
EXPECT_EQ(1u, NumFragments(head));
EXPECT_EQ(1u, NumFragments(head->FirstRow()));
EXPECT_EQ(1u, NumFragments(head->FirstRow()->FirstCell()));
EXPECT_FALSE(foot->IsRepeatingFooterGroup());
EXPECT_EQ(1u, NumFragments(foot));
EXPECT_EQ(1u, NumFragments(foot->FirstRow()));
EXPECT_EQ(1u, NumFragments(foot->FirstRow()->FirstCell()));
FloatSize page_size(300, 400);
GetFrame().StartPrinting(page_size, page_size, 1);
GetDocument().View()->UpdateLifecyclePhasesForPrinting();
// "fixed" should create fragments to repeat in each printed page.
EXPECT_TRUE(head->IsRepeatingHeaderGroup());
EXPECT_TRUE(foot->IsRepeatingFooterGroup());
auto check_fragments = [&](const LayoutObject* object) {
ASSERT_EQ(3u, NumFragments(object));
for (int i = 0; i < 3; i++) {
EXPECT_EQ(LayoutUnit((i + 1) * 400),
FragmentAt(object, i).LogicalTopInFlowThread());
}
};
check_fragments(head);
check_fragments(head->FirstRow());
check_fragments(head->FirstRow()->FirstCell());
check_fragments(foot);
check_fragments(foot->FirstRow());
check_fragments(foot->FirstRow());
// The first header is at its normal flow location (0, 100px) in its page.
// The other repeated ones are at the top of the their pages.
EXPECT_EQ(LayoutPoint(0, 500), FragmentAt(head, 0).PaintOffset());
EXPECT_EQ(LayoutPoint(0, 800), FragmentAt(head, 1).PaintOffset());
EXPECT_EQ(LayoutPoint(0, 1200), FragmentAt(head, 2).PaintOffset());
// The last footer is at its normal flow location (0, 200px) in its page.
// The other repeated ones are at the bottom of their pages.
EXPECT_EQ(LayoutPoint(0, 700), FragmentAt(foot, 0).PaintOffset());
EXPECT_EQ(LayoutPoint(0, 1100), FragmentAt(foot, 1).PaintOffset());
EXPECT_EQ(LayoutPoint(0, 1400), FragmentAt(foot, 2).PaintOffset());
const auto& painting_layer_object = head->PaintingLayer()->GetLayoutObject();
ASSERT_EQ(5u, NumFragments(&painting_layer_object));
for (int i = 0; i < 3; i++) {
const auto& fragment = FragmentAt(&painting_layer_object, i);
EXPECT_EQ(LayoutUnit(i * 400), fragment.LogicalTopInFlowThread());
}
GetFrame().EndPrinting();
GetDocument().View()->UpdateAllLifecyclePhases();
EXPECT_FALSE(head->IsRepeatingHeaderGroup());
EXPECT_EQ(1u, NumFragments(head));
EXPECT_EQ(1u, NumFragments(head->FirstRow()));
EXPECT_EQ(1u, NumFragments(head->FirstRow()->FirstCell()));
EXPECT_FALSE(foot->IsRepeatingFooterGroup());
EXPECT_EQ(1u, NumFragments(foot));
EXPECT_EQ(1u, NumFragments(foot->FirstRow()));
EXPECT_EQ(1u, NumFragments(foot->FirstRow()->FirstCell()));
}
TEST_P(PaintPropertyTreeBuilderTest, ImageWithInvertFilter) {
SetBodyInnerHTML(R"HTML(
<img id='img' src='x'>
......
......@@ -123,22 +123,25 @@ void SVGPaintContext::ApplyPaintPropertyState() {
if (object_.IsSVGRoot())
return;
if (const auto* properties = object_.FirstFragment().PaintProperties()) {
// MaskClip() implies Effect(), thus we don't need to check MaskClip().
if (properties->Effect() || properties->ClipPathClip()) {
auto& paint_controller = GetPaintInfo().context.GetPaintController();
PropertyTreeState state = paint_controller.CurrentPaintChunkProperties();
if (const auto* effect = properties->Effect())
state.SetEffect(effect);
if (const auto* mask_clip = properties->MaskClip())
state.SetClip(mask_clip);
else if (const auto* clip_path_clip = properties->ClipPathClip())
state.SetClip(clip_path_clip);
scoped_paint_chunk_properties_.emplace(
paint_controller, state, object_,
DisplayItem::PaintPhaseToSVGEffectType(GetPaintInfo().phase));
}
}
const auto* fragment = GetPaintInfo().FragmentToPaint(object_);
if (!fragment)
return;
const auto* properties = fragment->PaintProperties();
// MaskClip() implies Effect(), thus we don't need to check MaskClip().
if (!properties || (!properties->Effect() && !properties->ClipPathClip()))
return;
auto& paint_controller = GetPaintInfo().context.GetPaintController();
PropertyTreeState state = paint_controller.CurrentPaintChunkProperties();
if (const auto* effect = properties->Effect())
state.SetEffect(effect);
if (const auto* mask_clip = properties->MaskClip())
state.SetClip(mask_clip);
else if (const auto* clip_path_clip = properties->ClipPathClip())
state.SetClip(clip_path_clip);
scoped_paint_chunk_properties_.emplace(
paint_controller, state, object_,
DisplayItem::PaintPhaseToSVGEffectType(GetPaintInfo().phase));
}
void SVGPaintContext::ApplyCompositingIfNecessary() {
......
......@@ -55,7 +55,10 @@ class SVGTransformContext : public TransformRecorder {
const AffineTransform& transform)
: TransformRecorder(paint_info.context, object, transform) {
if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled()) {
const auto* properties = object.FirstFragment().PaintProperties();
const auto* fragment = paint_info.FragmentToPaint(object);
if (!fragment)
return;
const auto* properties = fragment->PaintProperties();
if (!properties)
return;
......
......@@ -26,10 +26,7 @@ void TableSectionPainter::PaintRepeatingHeaderGroup(
const PaintInfo& paint_info,
const LayoutPoint& paint_offset,
ItemToPaint item_to_paint) {
if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled() &&
// TODO(wangxianzhu): Use the PaintPropertyTreeBuilder path for printing.
(!paint_info.IsPrinting() ||
layout_table_section_.FirstFragment().NextFragment()))
if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled())
return;
if (!layout_table_section_.IsRepeatingHeaderGroup())
......@@ -97,10 +94,7 @@ void TableSectionPainter::PaintRepeatingFooterGroup(
const PaintInfo& paint_info,
const LayoutPoint& paint_offset,
ItemToPaint item_to_paint) {
if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled() &&
// TODO(wangxianzhu): Use the PaintPropertyTreeBuilder path for printing.
(!paint_info.IsPrinting() ||
layout_table_section_.FirstFragment().NextFragment()))
if (RuntimeEnabledFeatures::SlimmingPaintV175Enabled())
return;
if (!layout_table_section_.IsRepeatingFooterGroup())
......@@ -177,6 +171,9 @@ void TableSectionPainter::PaintRepeatingFooterGroup(
void TableSectionPainter::Paint(const PaintInfo& paint_info,
const LayoutPoint& paint_offset) {
if (!paint_info.FragmentToPaint(layout_table_section_))
return;
// TODO(crbug.com/805514): Paint mask for table section.
if (paint_info.phase == PaintPhase::kMask)
return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment