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: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldDeleteDOMRange:range from 7 of #text > DIV > DIV > BODY > HTML > #document to 6 of #text > DIV > DIV > BODY > HTML > #document
EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 7 of #text > DIV > DIV > BODY > HTML > #document to 7 of #text > DIV > DIV > BODY > HTML > #document toDOMRange:range from 7 of #text > DIV > DIV > BODY > HTML > #document to 7 of #text > 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 784x250 [border: (4px solid #0000FF)]
        RenderBlock {DIV} at (20,20) size 744x72
          RenderText {#text} at (0,0) size 66x28
            text run at (0,0) width 66: "Tests: "
          RenderBR {BR} at (65,0) size 1x28
          RenderText {#text} at (0,28) size 655x22
            text run at (0,28) width 655: "Our ability to \"edit around\" content the HTML editing code does not yet handle very well. "
          RenderBR {BR} at (654,28) size 1x22
          RenderInline {I} at (0,0) size 98x22
            RenderText {#text} at (0,50) size 98x22
              text run at (0,50) width 98: "For this test: "
          RenderText {#text} at (97,50) size 401x22
            text run at (97,50) width 401: "Select and delete a table and some surrounding content."
        RenderBlock (anonymous) at (20,92) size 744x22
          RenderBR {BR} at (0,0) size 0x22
        RenderBlock {DIV} at (20,114) size 744x116
          RenderText {#text} at (0,0) size 190x28
            text run at (0,0) width 190: "Expected Results: "
          RenderBR {BR} at (189,0) size 1x28
          RenderText {#text} at (0,28) size 700x44
            text run at (0,28) width 700: "The content in the red box must exactly match the content in the green box (except for the border"
            text run at (0,50) width 52: "color). "
          RenderBR {BR} at (51,50) size 1x22
          RenderInline {I} at (0,0) size 98x22
            RenderText {#text} at (0,72) size 98x22
              text run at (0,72) width 98: "For this test: "
          RenderText {#text} at (97,72) size 736x44
            text run at (97,72) width 301: "Only selected content should get deleted. "
            text run at (397,72) width 339: "Surrounding content that is not selected should"
            text run at (0,94) width 199: "(obviously) not be affected."
      RenderBlock {DIV} at (0,260) size 784x32 [border: (2px solid #008000)]
        RenderText {#text} at (2,2) size 62x28
          text run at (2,2) width 62: "before"
      RenderBlock {DIV} at (0,302) size 784x32
        RenderBlock {DIV} at (0,0) size 784x32 [border: (2px solid #FF0000)]
          RenderText {#text} at (2,2) size 62x28
            text run at (2,2) width 62: "before"
caret: position 7 of child 0 {#text} of child 1 {DIV} of child 5 {DIV} of body
