EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 8 of BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > B > P > BODY > HTML > #document to 3 of #text > B > P > BODY > HTML > #document toDOMRange:range from 0 of P > BODY > HTML > #document to 0 of P > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 1 of #text > B > P > BODY > HTML > #document to 1 of #text > B > P > BODY > HTML > #document toDOMRange:range from 1 of #text > B > P > BODY > HTML > #document to 1 of #text > B > P > 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 784x568
      RenderBlock (anonymous) at (0,0) size 784x112
        RenderText {#text} at (0,0) size 784x83
          text run at (0,0) width 748: "Test inserting paragraphs: should see \"foo\" in a blue box, then a blue box with"
          text run at (748,0) width 6: " "
          text run at (0,28) width 780: "with two lines in it: First line a bold \"x\"; second line a non-bold \"bar\". Fix for this"
          text run at (780,28) width 4: " "
          text run at (0,56) width 47: "bug: "
        RenderInline {A} at (0,0) size 257x27 [color=#0000EE]
          RenderText {#text} at (47,56) size 257x27
            text run at (47,56) width 257: "<rdar://problem/3927554>"
        RenderText {#text} at (304,56) size 784x55
          text run at (304,56) width 480: " Style info applied to remainder of document after"
          text run at (784,56) width 0: " "
          text run at (0,84) width 191: "a newline is entered"
      RenderBlock {DIV} at (0,112) size 784x12
      RenderBlock {P} at (0,148) size 784x55 [border: (2px solid #0000FF)]
        RenderInline {B} at (0,0) size 31x26
          RenderText {#text} at (14,14) size 31x26
            text run at (14,14) width 31: "foo"
      RenderBlock {P} at (0,227) size 784x83 [border: (2px solid #0000FF)]
        RenderInline {B} at (0,0) size 12x26
          RenderText {#text} at (14,14) size 12x26
            text run at (14,14) width 12: "x"
          RenderBR {BR} at (26,35) size 0x0 [bgcolor=#008000]
        RenderText {#text} at (14,41) size 31x27
          text run at (14,41) width 31: "bar"
caret: position 1 of child 0 {#text} of child 0 {B} of child 6 {P} of body
