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: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 3 of #text > DIV > DIV > DIV > BODY > HTML > #document to 3 of #text > DIV > DIV > DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > DIV > DIV > BODY > HTML > #document to 0 of DIV > 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 784x271 [border: (2px solid #0000FF)]
        RenderBlock {DIV} at (14,14) size 756x97
          RenderText {#text} at (0,0) size 77x33
            text run at (0,0) width 77: "Tests: "
          RenderBR {BR} at (0,0) size 0x0
          RenderText {#text} at (0,33) size 171x31
            text run at (0,33) width 171: "Fix for this bug: "
          RenderInline {A} at (0,0) size 274x31 [color=#0000EE]
            RenderText {#text} at (171,33) size 274x31
              text run at (171,33) width 274: "<rdar://problem/3977962>"
          RenderText {#text} at (445,33) size 716x63
            text run at (445,33) width 271: " font loses bold style after"
            text run at (0,65) width 499: "pasting next to existing text and pressing return"
        RenderBlock {DIV} at (14,127) size 756x130
          RenderBlock (anonymous) at (0,0) size 756x65
            RenderText {#text} at (0,0) size 214x33
              text run at (0,0) width 214: "Expected Results: "
            RenderBR {BR} at (214,24) size 0x0
            RenderText {#text} at (0,33) size 473x31
              text run at (0,33) width 473: "Should see this content in the red box below:"
          RenderBlock {DIV} at (0,65) size 756x65
            RenderBlock (anonymous) at (0,0) size 756x32
              RenderText {#text} at (0,0) size 33x31
                text run at (0,0) width 33: "foo"
            RenderBlock {DIV} at (0,32) size 756x33
              RenderInline {B} at (0,0) size 37x33
                RenderText {#text} at (0,0) size 37x33
                  text run at (0,0) width 37: "bar"
      RenderBlock {DIV} at (0,295) size 784x69
        RenderBlock {DIV} at (0,0) size 784x69 [border: (2px solid #FF0000)]
          RenderBlock {DIV} at (2,2) size 780x32
            RenderText {#text} at (0,0) size 33x31
              text run at (0,0) width 33: "foo"
            RenderInline {B} at (0,0) size 0x31
          RenderBlock {DIV} at (2,34) size 780x33
            RenderInline {B} at (0,0) size 37x33
              RenderText {#text} at (0,0) size 37x33
                text run at (0,0) width 37: "bar"
caret: position 0 of child 0 {#text} of child 0 {B} of child 1 {DIV} of child 1 {DIV} of child 3 {DIV} of child 1 {BODY} of child 0 {HTML} of document
