EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 1 of BODY > HTML > #document to 4 of BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of BODY > HTML > #document to 5 of BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
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
      RenderTable {TABLE} at (0,0) size 776x26
        RenderTableSection {TBODY} at (0,0) size 776x26
          RenderTableRow {TR} at (0,2) size 776x22
            RenderTableCell {TD} at (2,2) size 660x22 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 658x19
                text run at (1,1) width 658: "This tests that a style can be applied to a selection that contains both editable and non-editable content."
                text run at (658,1) width 1: "             "
            RenderTableCell {TD} at (663,2) size 111x22 [r=0 c=1 rs=1 cs=1]
              RenderInline {SPAN} at (0,0) size 109x19
                RenderInline {B} at (0,0) size 109x19
                  RenderText {#text} at (1,1) size 109x19
                    text run at (1,1) width 109: "Editable - line 1"
              RenderText {#text} at (109,1) size 1x19
                text run at (109,1) width 1: "             "
      RenderTable {TABLE} at (0,26) size 725x26
        RenderTableSection {TBODY} at (0,0) size 725x26
          RenderTableRow {TR} at (0,2) size 725x22
            RenderTableCell {TD} at (2,2) size 609x22 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (1,1) size 607x19
                text run at (1,1) width 607: "The test passes if the editable content is bold, and the non editable content remains unchanged."
                text run at (607,1) width 1: "             "
            RenderTableCell {TD} at (612,2) size 111x22 [r=0 c=1 rs=1 cs=1]
              RenderInline {SPAN} at (0,0) size 109x19
                RenderInline {B} at (0,0) size 109x19
                  RenderText {#text} at (1,1) size 109x19
                    text run at (1,1) width 109: "Editable - line 2"
              RenderText {#text} at (109,1) size 1x19
                text run at (109,1) width 1: "             "
selection start: position 0 of child 1 {TABLE} of body
selection end:   position 2 of child 3 {TABLE} of body
