layer at (0,0) size 785x1661
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1661
  RenderBlock {HTML} at (0,0) size 785x1661
    RenderBody {BODY} at (8,16) size 769x1597 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 769x19
        RenderText {#text} at (0,0) size 162x18
          text run at (0,0) width 162: "This page is part of the "
        RenderInline {A} at (0,0) size 72x18 [color=#0000EE]
          RenderText {#text} at (162,0) size 72x18
            text run at (162,0) width 72: "CSS3.info"
        RenderText {#text} at (234,0) size 4x18
          text run at (234,0) width 4: " "
        RenderInline {A} at (0,0) size 130x18 [color=#0000EE]
          RenderText {#text} at (238,0) size 130x18
            text run at (238,0) width 130: "CSS selectors test"
        RenderText {#text} at (368,0) size 131x18
          text run at (368,0) width 131: ". See more info on "
        RenderInline {A} at (0,0) size 110x18 [color=#0000EE]
          RenderText {#text} at (499,0) size 110x18
            text run at (499,0) width 110: "CSS3 selectors"
        RenderText {#text} at (609,0) size 4x18
          text run at (609,0) width 4: "."
      RenderBlock {DIV} at (0,35) size 769x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,35) size 769x1562
        RenderListItem {LI} at (40,0) size 616x251 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x112 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "1"
            RenderText {#text} at (6,9) size 137x97
              text run at (6,9) width 137: "div :only-child {"
              text run at (142,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 41: "<div>"
              text run at (46,58) width 1: " "
              text run at (6,74) width 113: "   <div></div>"
              text run at (118,74) width 1: " "
              text run at (6,90) width 49: "</div>"
          RenderBlock {P} at (16,181) size 584x38
            RenderText {#text} at (0,0) size 569x37
              text run at (0,0) width 569: "The CSS selector should match the inner div element, because it is the only child of"
              text run at (0,19) width 143: "the outer div element"
        RenderListItem {LI} at (40,299) size 616x267 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "2"
            RenderText {#text} at (6,9) size 209x113
              text run at (6,9) width 137: "div :only-child {"
              text run at (142,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 41: "<div>"
              text run at (46,58) width 1: " "
              text run at (6,74) width 113: "   <div></div>"
              text run at (118,74) width 1: " "
              text run at (6,90) width 209: "   <!-- Just a comment -->"
              text run at (214,90) width 1: " "
              text run at (6,106) width 49: "</div>"
          RenderBlock {P} at (16,197) size 584x38
            RenderText {#text} at (0,0) size 569x37
              text run at (0,0) width 569: "The CSS selector should match the inner div element, because it is the only child of"
              text run at (0,19) width 143: "the outer div element"
        RenderListItem {LI} at (40,614) size 616x283 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x43 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
            RenderBlock (anonymous) at (0,24) size 584x19
              RenderListMarker at (-38,0) size 17x18: "3"
              RenderText {#text} at (0,0) size 4x18
                text run at (0,0) width 4: "."
          RenderBlock {PRE} at (16,72) size 584x125 [bgcolor=#FFFFFF]
            RenderText {#text} at (6,7) size 225x112
              text run at (6,7) width 137: "div :only-child {"
              text run at (6,23) width 9: "}"
              text run at (6,39) width 1: " "
              text run at (6,55) width 41: "<div>"
              text run at (6,71) width 113: "   <div></div>"
              text run at (6,87) width 225: "   How about regular text..."
              text run at (6,103) width 49: "</div>"
          RenderBlock {P} at (16,213) size 584x38
            RenderText {#text} at (0,0) size 569x37
              text run at (0,0) width 569: "The CSS selector should match the inner div element, because it is the only child of"
              text run at (0,19) width 143: "the outer div element"
        RenderListItem {LI} at (40,945) size 616x270 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {BLOCKQUOTE} at (40,40) size 504x0
          RenderBlock {PRE} at (16,56) size 584x128 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "4"
            RenderText {#text} at (6,9) size 225x113
              text run at (6,9) width 137: "div :only-child {"
              text run at (142,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 49: "<div> "
              text run at (54,58) width 1: " "
              text run at (6,74) width 113: "   <div></div>"
              text run at (118,74) width 1: " "
              text run at (6,90) width 225: "   <blockquote></blockquote>"
              text run at (230,90) width 1: " "
              text run at (6,106) width 49: "</div>"
          RenderBlock {P} at (16,200) size 584x38
            RenderText {#text} at (0,0) size 550x37
              text run at (0,0) width 550: "The CSS selector should not match the inner div element, because it not the only"
              text run at (0,19) width 32: "child"
        RenderListItem {LI} at (40,1263) size 616x299 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 584x24
            RenderBlock {DIV} at (0,24) size 584x0
          RenderBlock {PRE} at (16,53) size 584x160 [bgcolor=#FFFFFF]
            RenderListMarker at (-38,6) size 17x19: "5"
            RenderText {#text} at (6,9) size 481x145
              text run at (6,9) width 137: "div :only-child {"
              text run at (142,9) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,42) width 1: " "
              text run at (6,58) width 41: "<div>"
              text run at (46,58) width 1: " "
              text run at (6,74) width 249: "   <div id='appendChild'></div>"
              text run at (254,74) width 1: " "
              text run at (6,90) width 49: "</div>"
              text run at (54,90) width 1: " "
              text run at (6,106) width 1: " "
              text run at (6,122) width 385: "var ib = document.getElementById('appendChild');"
              text run at (390,122) width 1: " "
              text run at (6,138) width 481: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,229) size 584x38
            RenderText {#text} at (0,0) size 583x37
              text run at (0,0) width 506: "The CSS selector should not match the original div element, because it is "
              text run at (506,0) width 77: "not the only"
              text run at (0,19) width 459: "child anymore after another child is append by the Javascript code."
