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 66x28
            text run at (0,0) width 66: "Tests: "
          RenderBR {BR} at (65,0) size 1x28
          RenderText {#text} at (0,28) size 655x22
            text run at (0,28) width 655: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
          RenderBR {BR} at (654,28) size 1x22
          RenderInline {I} at (0,0) size 98x22
            RenderText {#text} at (0,50) size 98x22
              text run at (0,50) width 98: "For this test: "
          RenderText {#text} at (97,50) size 224x22
            text run at (97,50) width 224: "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 190x28
            text run at (0,0) width 190: "Expected Results: "
          RenderBR {BR} at (189,0) size 1x28
          RenderText {#text} at (0,28) size 700x44
            text run at (0,28) width 700: "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 52: "color). "
          RenderBR {BR} at (51,50) size 1x22
          RenderInline {I} at (0,0) size 98x22
            RenderText {#text} at (0,72) size 98x22
              text run at (0,72) width 98: "For this test: "
          RenderText {#text} at (97,72) size 408x22
            text run at (97,72) width 408: "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 113x28
              text run at (0,0) width 113: "xxxline one"
          RenderListItem {LI} at (40,28) size 740x28
            RenderListMarker at (-22,0) size 9x28: bullet
            RenderText {#text} at (0,0) size 78x28
              text run at (0,0) width 78: "line two"
          RenderListItem {LI} at (40,56) size 740x28
            RenderListMarker at (-22,0) size 9x28: bullet
            RenderText {#text} at (0,0) size 90x28
              text run at (0,0) width 90: "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 113x28
                text run at (0,0) width 113: "xxxline one"
            RenderListItem {LI} at (40,28) size 740x28
              RenderListMarker at (-22,0) size 9x28: bullet
              RenderText {#text} at (0,0) size 78x28
                text run at (0,0) width 78: "line two"
            RenderListItem {LI} at (40,56) size 740x28
              RenderListMarker at (-22,0) size 9x28: bullet
              RenderText {#text} at (0,0) size 90x28
                text run at (0,0) width 90: "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
