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,11) size 0x26
        RenderBR {BR} at (0,59) size 0x26
        RenderText {#text} at (0,107) size 600x602
          text run at (0,107) width 552: "Four score and seven years ago our fathers brought forth,"
          text run at (552,107) width 6: " "
          text run at (0,155) width 583: "upon this continent, a new nation, conceived in Liberty, and"
          text run at (583,155) width 6: " "
          text run at (0,203) width 571: "dedicated to the proposition that all men are created equal."
          text run at (571,203) width 6: " "
          text run at (0,251) width 596: "Now we are engaged in a great civil war, testing whether that"
          text run at (596,251) width 4: " "
          text run at (0,299) width 559: "nation, or any nation, so conceived, and so dedicated, can"
          text run at (559,299) width 6: " "
          text run at (0,347) width 565: "long endure. We are met here on a great battlefield of that"
          text run at (565,347) width 6: " "
          text run at (0,395) width 539: "war. We have come to dedicate a portion of it as a final"
          text run at (539,395) width 6: " "
          text run at (0,443) width 551: "resting place for those who here gave their lives that that"
          text run at (551,443) width 6: " "
          text run at (0,491) width 573: "nation might live. It is altogether fitting and proper that we"
          text run at (573,491) width 6: " "
          text run at (0,539) width 559: "should do this. Four score and seven years ago our fathers"
          text run at (559,539) width 6: " "
          text run at (0,587) width 598: "brought forth, upon this continent, a new nation, conceived in"
          text run at (598,587) width 2: " "
          text run at (0,635) width 554: "Liberty, and dedicated to the proposition that all men are"
          text run at (554,635) width 6: " "
          text run at (0,683) width 142: "created equal. "
        RenderBR {BR} at (142,704) size 0x0
        RenderBR {BR} at (0,731) size 0x26
      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
