EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 12 of BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of BODY > HTML > #document to 6 of BODY > HTML > #document toDOMRange:range from 1 of BODY > HTML > #document to 6 of BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
layer at (0,0) size 812x1044
  RenderView at (0,0) size 785x585
layer at (0,0) size 785x1044
  RenderBlock {HTML} at (0,0) size 785x1044
    RenderBody {BODY} at (64,64) size 748x916 [border: (50px solid #FF0000)]
      RenderBlock (anonymous) at (74,74) size 600x768
        RenderBR {BR} at (0,10) size 0x27
        RenderBR {BR} at (0,58) size 0x27
        RenderText {#text} at (0,106) size 598x603
          text run at (0,106) width 550: "Four score and seven years ago our fathers brought forth,"
          text run at (550,106) width 6: " "
          text run at (0,154) width 577: "upon this continent, a new nation, conceived in Liberty, and"
          text run at (577,154) width 6: " "
          text run at (0,202) width 564: "dedicated to the proposition that all men are created equal."
          text run at (564,202) width 6: " "
          text run at (0,250) width 587: "Now we are engaged in a great civil war, testing whether that"
          text run at (587,250) width 6: " "
          text run at (0,298) width 555: "nation, or any nation, so conceived, and so dedicated, can"
          text run at (555,298) width 6: " "
          text run at (0,346) width 558: "long endure. We are met here on a great battlefield of that"
          text run at (558,346) width 6: " "
          text run at (0,394) width 533: "war. We have come to dedicate a portion of it as a final"
          text run at (533,394) width 6: " "
          text run at (0,442) width 544: "resting place for those who here gave their lives that that"
          text run at (544,442) width 6: " "
          text run at (0,490) width 561: "nation might live. It is altogether fitting and proper that we"
          text run at (561,490) width 6: " "
          text run at (0,538) width 556: "should do this. Four score and seven years ago our fathers"
          text run at (556,538) width 6: " "
          text run at (0,586) width 592: "brought forth, upon this continent, a new nation, conceived in"
          text run at (592,586) width 6: " "
          text run at (0,634) width 547: "Liberty, and dedicated to the proposition that all men are"
          text run at (547,634) width 6: " "
          text run at (0,682) width 141: "created equal. "
        RenderBR {BR} at (141,703) size 0x0
        RenderBR {BR} at (0,730) size 0x27
      RenderBlock {DIV} at (74,842) size 600x0
selection start: position 0 of child 1 {BR} of body
selection end:   position 1 of child 5 {BR} of body
