layer at (0,0) size 785x1601
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1601
  RenderBlock {HTML} at (0,0) size 785x1601
    RenderBody {BODY} at (8,16) size 769x1537 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 769x17
        RenderText {#text} at (0,0) size 165x17
          text run at (0,0) width 165: "This page is part of the "
        RenderInline {A} at (0,0) size 73x17 [color=#0000EE]
          RenderText {#text} at (165,0) size 73x17
            text run at (165,0) width 73: "CSS3.info"
        RenderText {#text} at (238,0) size 4x17
          text run at (238,0) width 4: " "
        RenderInline {A} at (0,0) size 131x17 [color=#0000EE]
          RenderText {#text} at (242,0) size 131x17
            text run at (242,0) width 131: "CSS selectors test"
        RenderText {#text} at (373,0) size 133x17
          text run at (373,0) width 133: ". See more info on "
        RenderInline {A} at (0,0) size 111x17 [color=#0000EE]
          RenderText {#text} at (506,0) size 111x17
            text run at (506,0) width 111: "CSS3 selectors"
        RenderText {#text} at (617,0) size 4x17
          text run at (617,0) width 4: "."
      RenderBlock {DIV} at (0,33) size 769x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,33) size 769x1504
        RenderListItem {LI} at (40,0) size 616x241 [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 584x106 [bgcolor=#FFFFFF]
            RenderListMarker at (-37,6) size 17x18: "1"
            RenderText {#text} at (7,9) size 136x91
              text run at (7,9) width 136: "div :only-child {"
              text run at (143,9) width 0: " "
              text run at (7,25) width 8: "}"
              text run at (15,25) width 0: " "
              text run at (7,40) width 0: " "
              text run at (7,55) width 40: "<div>"
              text run at (47,55) width 0: " "
              text run at (7,70) width 112: "   <div></div>"
              text run at (119,70) width 0: " "
              text run at (7,85) width 48: "</div>"
          RenderBlock {P} at (16,175) size 584x34
            RenderText {#text} at (0,0) size 572x34
              text run at (0,0) width 572: "The CSS selector should match the inner div element, because it is the only child"
              text run at (0,17) width 165: "of the outer div element"
        RenderListItem {LI} at (40,289) size 616x256 [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 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-37,6) size 17x18: "2"
            RenderText {#text} at (7,9) size 208x106
              text run at (7,9) width 136: "div :only-child {"
              text run at (143,9) width 0: " "
              text run at (7,25) width 8: "}"
              text run at (15,25) width 0: " "
              text run at (7,40) width 0: " "
              text run at (7,55) width 40: "<div>"
              text run at (47,55) width 0: " "
              text run at (7,70) width 112: "   <div></div>"
              text run at (119,70) width 0: " "
              text run at (7,85) width 208: "   <!-- Just a comment -->"
              text run at (215,85) width 0: " "
              text run at (7,100) width 48: "</div>"
          RenderBlock {P} at (16,190) size 584x34
            RenderText {#text} at (0,0) size 572x34
              text run at (0,0) width 572: "The CSS selector should match the inner div element, because it is the only child"
              text run at (0,17) width 165: "of the outer div element"
        RenderListItem {LI} at (40,593) size 616x270 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 584x41 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 584x24 [bgcolor=#009900]
            RenderBlock (anonymous) at (0,24) size 584x17
              RenderListMarker at (-37,0) size 17x17: "3"
              RenderText {#text} at (0,0) size 4x17
                text run at (0,0) width 4: "."
          RenderBlock {PRE} at (16,70) size 584x118 [bgcolor=#FFFFFF]
            RenderText {#text} at (6,6) size 225x106
              text run at (6,6) width 137: "div :only-child {"
              text run at (142,6) width 1: " "
              text run at (6,21) width 9: "}"
              text run at (14,21) width 1: " "
              text run at (6,36) width 1: " "
              text run at (6,51) width 41: "<div>"
              text run at (46,51) width 1: " "
              text run at (6,66) width 113: "   <div></div>"
              text run at (118,66) width 1: " "
              text run at (6,81) width 225: "   How about regular text..."
              text run at (230,81) width 1: " "
              text run at (6,96) width 49: "</div>"
          RenderBlock {P} at (16,204) size 584x34
            RenderText {#text} at (0,0) size 572x34
              text run at (0,0) width 572: "The CSS selector should match the inner div element, because it is the only child"
              text run at (0,17) width 165: "of the outer div element"
        RenderListItem {LI} at (40,911) size 616x259 [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 584x121 [bgcolor=#FFFFFF]
            RenderListMarker at (-37,6) size 17x18: "4"
            RenderText {#text} at (7,9) size 224x106
              text run at (7,9) width 136: "div :only-child {"
              text run at (143,9) width 0: " "
              text run at (7,25) width 8: "}"
              text run at (15,25) width 0: " "
              text run at (7,40) width 0: " "
              text run at (7,55) width 48: "<div> "
              text run at (55,55) width 0: " "
              text run at (7,70) width 112: "   <div></div>"
              text run at (119,70) width 0: " "
              text run at (7,85) width 224: "   <blockquote></blockquote>"
              text run at (231,85) width 0: " "
              text run at (7,100) width 48: "</div>"
          RenderBlock {P} at (16,193) size 584x34
            RenderText {#text} at (0,0) size 570x34
              text run at (0,0) width 570: "The CSS selector should not match the inner div element, because it not the only"
              text run at (0,17) width 34: "child"
        RenderListItem {LI} at (40,1218) size 616x286 [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 584x151 [bgcolor=#FFFFFF]
            RenderListMarker at (-37,6) size 17x18: "5"
            RenderText {#text} at (7,9) size 480x136
              text run at (7,9) width 136: "div :only-child {"
              text run at (143,9) width 0: " "
              text run at (7,25) width 8: "}"
              text run at (15,25) width 0: " "
              text run at (7,40) width 0: " "
              text run at (7,55) width 40: "<div>"
              text run at (47,55) width 0: " "
              text run at (7,70) width 248: "   <div id='appendChild'></div>"
              text run at (255,70) width 0: " "
              text run at (7,85) width 48: "</div>"
              text run at (55,85) width 0: " "
              text run at (7,100) width 0: " "
              text run at (7,115) width 384: "var ib = document.getElementById('appendChild');"
              text run at (391,115) width 0: " "
              text run at (7,130) width 480: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,220) size 584x34
            RenderText {#text} at (0,0) size 569x34
              text run at (0,0) width 521: "The CSS selector should not match the original div element, because it is "
              text run at (521,0) width 48: "not the"
              text run at (0,17) width 505: "only child anymore after another child is append by the Javascript code."
