EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 3 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of LI > UL > DIV > DIV > BODY > HTML > #document to 0 of LI > UL > DIV > DIV > BODY > HTML > #document toDOMRange:range from 1 of #text > LI > UL > DIV > DIV > BODY > HTML > #document to 1 of #text > LI > UL > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > LI > UL > DIV > DIV > BODY > HTML > #document to 1 of #text > LI > UL > DIV > DIV > BODY > HTML > #document toDOMRange:range from 2 of #text > LI > UL > DIV > DIV > BODY > HTML > #document to 2 of #text > LI > UL > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 2 of #text > LI > UL > DIV > DIV > BODY > HTML > #document to 2 of #text > LI > UL > DIV > DIV > BODY > HTML > #document toDOMRange:range from 3 of #text > LI > UL > DIV > DIV > BODY > HTML > #document to 3 of #text > LI > UL > DIV > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
layer at (0,0) size 800x600
  RenderView 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 784x228 [border: (4px solid #0000FF)]
        RenderBlock {DIV} at (20,20) size 744x72
          RenderText {#text} at (0,0) size 67x28
            text run at (0,0) width 67: "Tests: "
          RenderBR {BR} at (67,0) size 0x28
          RenderText {#text} at (0,28) size 663x22
            text run at (0,28) width 663: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
          RenderBR {BR} at (663,28) size 0x22
          RenderInline {I} at (0,0) size 99x22
            RenderText {#text} at (0,50) size 99x22
              text run at (0,50) width 99: "For this test: "
          RenderText {#text} at (99,50) size 228x22
            text run at (99,50) width 228: "Test typing at the start of a list."
        RenderBlock (anonymous) at (20,92) size 744x22
          RenderBR {BR} at (0,0) size 0x22
        RenderBlock {DIV} at (20,114) size 744x94
          RenderText {#text} at (0,0) size 189x28
            text run at (0,0) width 189: "Expected Results: "
          RenderBR {BR} at (189,0) size 0x28
          RenderText {#text} at (0,28) size 709x44
            text run at (0,28) width 709: "The content in the red box must exactly match the content in the green box (except for the border"
            text run at (0,50) width 53: "color). "
          RenderBR {BR} at (53,50) size 0x22
          RenderInline {I} at (0,0) size 99x22
            RenderText {#text} at (0,72) size 99x22
              text run at (0,72) width 99: "For this test: "
          RenderText {#text} at (99,72) size 415x22
            text run at (99,72) width 415: "Typed text should appear at the start of the first list item."
      RenderBlock {DIV} at (0,238) size 784x136 [border: (2px solid #008000)]
        RenderBlock {UL} at (2,26) size 780x84
          RenderListItem {LI} at (40,0) size 740x28
            RenderListMarker at (-22,0) size 9x28: bullet
            RenderText {#text} at (0,0) size 114x28
              text run at (0,0) width 114: "xxxline one"
          RenderListItem {LI} at (40,28) size 740x28
            RenderListMarker at (-22,0) size 9x28: bullet
            RenderText {#text} at (0,0) size 79x28
              text run at (0,0) width 79: "line two"
          RenderListItem {LI} at (40,56) size 740x28
            RenderListMarker at (-22,0) size 9x28: bullet
            RenderText {#text} at (0,0) size 92x28
              text run at (0,0) width 92: "line three"
      RenderBlock {DIV} at (0,384) size 784x136
        RenderBlock {DIV} at (0,0) size 784x136 [border: (2px solid #FF0000)]
          RenderBlock {UL} at (2,26) size 780x84
            RenderListItem {LI} at (40,0) size 740x28
              RenderListMarker at (-22,0) size 9x28: bullet
              RenderText {#text} at (0,0) size 114x28
                text run at (0,0) width 114: "xxxline one"
            RenderListItem {LI} at (40,28) size 740x28
              RenderListMarker at (-22,0) size 9x28: bullet
              RenderText {#text} at (0,0) size 79x28
                text run at (0,0) width 79: "line two"
            RenderListItem {LI} at (40,56) size 740x28
              RenderListMarker at (-22,0) size 9x28: bullet
              RenderText {#text} at (0,0) size 92x28
                text run at (0,0) width 92: "line three"
caret: position 3 of child 0 {#text} of child 1 {LI} of child 1 {UL} of child 1 {DIV} of child 5 {DIV} of body
