EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 6 of DIV > BODY > HTML > #document
EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of LI > UL > SPAN > DIV > BODY > HTML > #document to 0 of LI > UL > SPAN > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of LI > UL > DIV > BODY > HTML > #document to 0 of LI > UL > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of LI > UL > DIV > BODY > HTML > #document to 0 of LI > UL > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of LI > OL > DIV > BODY > HTML > #document to 0 of LI > OL > 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 {P} at (0,0) size 784x18
        RenderText {#text} at (0,0) size 495x18
          text run at (0,0) width 495: "This test checks to see if InsertOrderedList can switch the list type of list items."
      RenderBlock {DIV} at (0,34) size 784x334
        RenderBlock {OL} at (0,0) size 784x20 [border: (1px solid #FF0000)]
          RenderListItem {LI} at (41,1) size 742x18
            RenderListMarker at (-20,0) size 16x18: "1"
            RenderText {#text} at (0,0) size 206x18
              text run at (0,0) width 206: "This should be in an ordered list."
          RenderBlock (anonymous) at (41,19) size 742x0
        RenderBlock (anonymous) at (0,36) size 784x0
          RenderInline {SPAN} at (0,0) size 0x0
        RenderBlock (anonymous) at (0,36) size 784x18
          RenderBlock {UL} at (0,0) size 784x18
            RenderListItem {LI} at (40,0) size 744x18
              RenderListMarker at (-17,0) size 7x18: bullet
              RenderInline {SPAN} at (0,0) size 222x18
                RenderText {#text} at (0,0) size 222x18
                  text run at (0,0) width 222: "This should be in an unordered list."
              RenderText {#text} at (222,0) size 4x18
                text run at (222,0) width 4: " "
        RenderBlock (anonymous) at (0,70) size 784x0
          RenderInline {SPAN} at (0,0) size 0x0
        RenderBlock {OL} at (0,70) size 784x56 [border: (1px solid #FF0000)]
          RenderBlock (anonymous) at (41,1) size 742x36
            RenderBR {BR} at (0,0) size 0x18
            RenderText {#text} at (0,18) size 206x18
              text run at (0,18) width 206: "This should be in an ordered list."
          RenderListItem {LI} at (41,37) size 742x18
            RenderListMarker at (-20,0) size 16x18: "1"
            RenderText {#text} at (0,0) size 206x18
              text run at (0,0) width 206: "This should be in an ordered list."
          RenderBlock (anonymous) at (41,55) size 742x0
        RenderBlock {UL} at (0,142) size 784x18
          RenderListItem {LI} at (40,0) size 744x18
            RenderListMarker at (-17,0) size 7x18: bullet
            RenderText {#text} at (0,0) size 222x18
              text run at (0,0) width 222: "This should be in an unordered list."
        RenderBlock (anonymous) at (0,176) size 784x0
        RenderBlock {OL} at (0,176) size 784x20 [border: (1px solid #FF0000)]
          RenderListItem {LI} at (41,1) size 742x18
            RenderListMarker at (-20,0) size 16x18: "1"
            RenderText {#text} at (0,0) size 206x18
              text run at (0,0) width 206: "This should be in an ordered list."
        RenderBlock {UL} at (0,212) size 784x18
          RenderListItem {LI} at (40,0) size 744x18
            RenderListMarker at (-17,0) size 7x18: bullet
            RenderText {#text} at (0,0) size 222x18
              text run at (0,0) width 222: "This should be in an unordered list."
        RenderBlock (anonymous) at (0,246) size 784x0
        RenderBlock {OL} at (0,246) size 784x20 [border: (1px solid #FF0000)]
          RenderBlock (anonymous) at (41,1) size 742x0
          RenderListItem {LI} at (41,1) size 742x18
            RenderListMarker at (-20,0) size 16x18: "1"
            RenderText {#text} at (0,0) size 206x18
              text run at (0,0) width 206: "This should be in an ordered list."
        RenderBlock (anonymous) at (0,282) size 784x18
          RenderText {#text} at (0,0) size 170x18
            text run at (0,0) width 170: "This should not be in a list."
          RenderBR {BR} at (170,14) size 0x0
        RenderBlock {OL} at (0,316) size 784x18
          RenderListItem {LI} at (40,0) size 744x18
            RenderListMarker at (-20,0) size 16x18: "1"
            RenderText {#text} at (0,0) size 206x18
              text run at (0,0) width 206: "This should be in an ordered list."
        RenderBlock (anonymous) at (0,350) size 784x0
caret: position 0 of child 0 {#text} of child 0 {LI} of child 10 {OL} of child 2 {DIV} of child 1 {BODY} of child 0 {HTML} of document
