EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 4 of BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document toDOMRange:range from 11 of #text > DIV > BODY > HTML > #document to 11 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 11 of #text > DIV > BODY > HTML > #document to 11 of #text > DIV > BODY > HTML > #document toDOMRange:range from 0 of #text > DIV > BODY > HTML > #document to 11 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 0 of #text > DIV > BODY > HTML > #document to 11 of #text > DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of DIV > BODY > HTML > #document toDOMRange:range from 0 of DIV > BODY > HTML > #document to 0 of 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 784x576
      RenderBlock (anonymous) at (0,0) size 784x174
        RenderIFrame {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
          layer at (0,0) size 300x150
            RenderView at (0,0) size 300x150
          layer at (0,0) size 300x150
            RenderBlock {HTML} at (0,0) size 300x150
              RenderBody {BODY} at (8,8) size 284x134 [bgcolor=#FFFFE0]
                RenderBlock {DIV} at (0,0) size 284x20
                  RenderBR {BR} at (0,0) size 0x19
        RenderBR {BR} at (304,154) size 0x0
        RenderBR {BR} at (0,154) size 0x19
      RenderBlock {P} at (0,190) size 784x40
        RenderInline {B} at (0,0) size 673x19
          RenderText {#text} at (0,0) size 673x19
            text run at (0,0) width 498: "This test uses the eventSender to do a mouse click to focus the subframe. "
            text run at (497,0) width 176: "It won't run interactively."
        RenderText {#text} at (672,0) size 731x39
          text run at (672,0) width 5: " "
          text run at (676,0) width 55: "To run it"
          text run at (0,20) width 362: "manually, click on the iframe, Select All, then hit delete."
      RenderBlock (anonymous) at (0,246) size 784x60
        RenderText {#text} at (0,0) size 779x59
          text run at (0,0) width 779: "Selecting all the content in a contenteditable iframe should select the iframe itself (to help the user delete the iframe) only"
          text run at (0,20) width 237: "if the iframe is in an editable region. "
          text run at (236,20) width 439: "This test loads ../resources/select-all-iframe-src.html into an iframe. "
          text run at (674,20) width 100: "That file does a"
          text run at (0,40) width 131: "Select All + Delete. "
          text run at (130,40) width 173: "Two things should happen:"
      RenderBlock {UL} at (0,322) size 784x60
        RenderListItem {LI} at (40,0) size 744x40
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 689x39
            text run at (0,0) width 462: "The Select All operation should not select the iframe, only it's contents. "
            text run at (461,0) width 228: "The results of the Select All will be"
            text run at (0,20) width 517: "apparent from the delegate messages that DumpRenderTree receives and dumps."
        RenderListItem {LI} at (40,40) size 744x20
          RenderListMarker at (-18,0) size 7x19: bullet
          RenderText {#text} at (0,0) size 344x19
            text run at (0,0) width 344: "The contents of the editable iframe should be deleted."
