layer at (0,0) size 800x600
  RenderCanvas at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584
      RenderBlock {DIV} at (0,0) size 784x84 [border: (2px solid #FF0000)]
        RenderInline {SPAN} at (0,0) size 224x56
          RenderText {TEXT} at (14,14) size 70x28
            text run at (14,14) width 70: "here is "
          RenderInline {I} at (0,0) size 51x28
            RenderInline {B} at (0,0) size 51x28
              RenderText {TEXT} at (84,14) size 51x28
                text run at (84,14) width 51: "some"
          RenderInline {B} at (0,0) size 166x56
            RenderText {TEXT} at (135,14) size 45x28
              text run at (135,14) width 45: " text"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (14,42) size 46x28
              text run at (14,42) width 46: "here"
          RenderText {TEXT} at (60,42) size 178x28
            text run at (60,42) width 178: " is some more text"
        RenderText {TEXT} at (0,0) size 0x0
selection is RANGE:
start:      position 0 of child 1 {TEXT} of child 1 {B} of child 2 {I} of child 2 {SPAN} of root {DIV}
upstream:   position 8 of child 1 {TEXT} of child 2 {SPAN} of root {DIV}
downstream: position 0 of child 1 {TEXT} of child 1 {B} of child 2 {I} of child 2 {SPAN} of root {DIV}
end:        position 4 of child 3 {TEXT} of child 3 {B} of child 2 {SPAN} of root {DIV}
upstream:   position 4 of child 3 {TEXT} of child 3 {B} of child 2 {SPAN} of root {DIV}
downstream: position 0 of child 4 {TEXT} of child 2 {SPAN} of root {DIV}
