layer at (0,0) size 800x1504
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x1504
  RenderBlock {HTML} at (0,0) size 800x1504
    RenderBody {BODY} at (8,16) size 784x1440 [bgcolor=#FFFFFF]
      RenderBlock {P} at (0,0) size 784x20
        RenderText {#text} at (0,0) size 168x19
          text run at (0,0) width 168: "This page is part of the "
        RenderInline {A} at (0,0) size 73x19 [color=#0000EE]
          RenderText {#text} at (167,0) size 73x19
            text run at (167,0) width 73: "CSS3.info"
        RenderText {#text} at (239,0) size 5x19
          text run at (239,0) width 5: " "
        RenderInline {A} at (0,0) size 133x19 [color=#0000EE]
          RenderText {#text} at (243,0) size 133x19
            text run at (243,0) width 133: "CSS selectors test"
        RenderText {#text} at (375,0) size 136x19
          text run at (375,0) width 136: ". See more info on "
        RenderInline {A} at (0,0) size 111x19 [color=#0000EE]
          RenderText {#text} at (510,0) size 111x19
            text run at (510,0) width 111: "CSS3 selectors"
        RenderText {#text} at (620,0) size 6x19
          text run at (620,0) width 6: "."
      RenderBlock {DIV} at (0,36) size 784x0 [bgcolor=#009900]
      RenderBlock {OL} at (0,36) size 784x1404
        RenderListItem {LI} at (40,0) size 628x216 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 596x75 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "1"
            RenderText {#text} at (6,11) size 274x58
              text run at (6,11) width 141: "div:only-of-type {"
              text run at (146,11) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
          RenderBlock {P} at (16,144) size 596x40
            RenderText {#text} at (0,0) size 555x39
              text run at (0,0) width 555: "The CSS selector should match the marked div element, because it is the only"
              text run at (0,20) width 139: "element of this type"
        RenderListItem {LI} at (40,264) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
            RenderBlock {BLOCKQUOTE} at (0,24) size 596x0 [bgcolor=#009900]
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "2"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 141: "div:only-of-type {"
              text run at (146,11) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,68) width 196: "<blockquote></blockquote>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 555x39
              text run at (0,0) width 555: "The CSS selector should match the marked div element, because it is the only"
              text run at (0,20) width 139: "element of this type"
        RenderListItem {LI} at (40,542) size 628x258 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#990000]
            RenderBlock {DIV} at (0,0) size 596x24 [bgcolor=#009900]
            RenderBlock {BLOCKQUOTE} at (0,24) size 596x0 [bgcolor=#009900]
              RenderBlock {DIV} at (0,0) size 596x0
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "3"
            RenderText {#text} at (6,11) size 274x100
              text run at (6,11) width 141: "div:only-of-type {"
              text run at (146,11) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,68) width 95: "<blockquote>"
              text run at (100,68) width 1: " "
              text run at (6,82) width 110: "   <div></div>"
              text run at (115,82) width 1: " "
              text run at (6,96) width 102: "</blockquote>"
          RenderBlock {P} at (16,186) size 596x40
            RenderText {#text} at (0,0) size 555x39
              text run at (0,0) width 555: "The CSS selector should match the marked div element, because it is the only"
              text run at (0,20) width 233: "element of this type in this scope"
        RenderListItem {LI} at (40,848) size 628x230 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x24
            RenderBlock {DIV} at (0,24) size 596x0
          RenderBlock {PRE} at (16,53) size 596x89 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "4"
            RenderText {#text} at (6,11) size 274x72
              text run at (6,11) width 141: "div:only-of-type {"
              text run at (146,11) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,54) width 274: "<div>Does this element match?</div>"
              text run at (279,54) width 1: " "
              text run at (6,68) width 87: "<div></div>"
          RenderBlock {P} at (16,158) size 596x40
            RenderText {#text} at (0,0) size 574x39
              text run at (0,0) width 574: "The CSS selector should not match the marked div element, because it is not the"
              text run at (0,20) width 173: "only element of this type"
        RenderListItem {LI} at (40,1126) size 628x278 [bgcolor=#AAAAAA]
          RenderBlock {DIV} at (16,16) size 596x24 [bgcolor=#009900]
            RenderBlock {DIV} at (0,0) size 596x24
            RenderBlock {DIV} at (0,24) size 596x0
          RenderBlock {PRE} at (16,53) size 596x117 [bgcolor=#FFFFFF]
            RenderListMarker at (-39,6) size 18x20: "5"
            RenderText {#text} at (6,11) size 469x100
              text run at (6,11) width 141: "div:only-of-type {"
              text run at (146,11) width 1: " "
              text run at (6,26) width 9: "}"
              text run at (14,26) width 1: " "
              text run at (6,40) width 1: " "
              text run at (6,54) width 219: "<div id='appendChild'></div>"
              text run at (224,54) width 1: " "
              text run at (6,68) width 1: " "
              text run at (6,82) width 375: "var ib = document.getElementById('appendChild');"
              text run at (380,82) width 1: " "
              text run at (6,96) width 469: "ib.parentElement.appendChild(document.createElement(\"div\"));"
          RenderBlock {P} at (16,186) size 596x60
            RenderText {#text} at (0,0) size 572x59
              text run at (0,0) width 523: "The CSS selector should not match the original div element, because it is "
              text run at (522,0) width 50: "not the"
              text run at (0,20) width 518: "only of its type anymore after another child with the same type is append "
              text run at (517,20) width 45: "by the"
              text run at (0,40) width 116: "Javascript code."
