LayoutTests:
authorjusting <justing@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2006 00:47:01 +0000 (00:47 +0000)
committerjusting <justing@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 23 Aug 2006 00:47:01 +0000 (00:47 +0000)
        Reviewed by harrison

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
        REGRESSION(r15918): drag-into-marker.html failing

        * editing/pasteboard/paste-list-001-expected.txt:
        * fast/lists/drag-into-marker.html: Added.
        * fast/lists/drag-into-marker.html-disabled: Removed.

WebCore:

        Reviewed by harrison

        <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
        REGRESSION(r15918): drag-into-marker.html failing

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
        in a list item.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/editing/pasteboard/paste-list-001-expected.txt
WebCore/ChangeLog
WebCore/editing/ReplaceSelectionCommand.cpp

index 3c044f44a1d38c47890528472a33f24f51e218ef..4af8c3ad8146eb5127c4024c5a9d22152af9c95b 100644 (file)
@@ -1,3 +1,14 @@
+2006-08-22  Justin Garcia  <justin.garcia@apple.com>
+
+        Reviewed by harrison
+        
+        <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
+        REGRESSION(r15918): drag-into-marker.html failing
+
+        * editing/pasteboard/paste-list-001-expected.txt:
+        * fast/lists/drag-into-marker.html: Added.
+        * fast/lists/drag-into-marker.html-disabled: Removed.
+
 2006-08-22  Justin Garcia  <justin.garcia@apple.com>
 
         Reviewed by harrison
index 23277a53370c53ea4a7d3b671ddd5d566b8d9cce..5fb7e2eee644d79a01f02870f1de09eeb85aba4a 100644 (file)
@@ -7,7 +7,7 @@ EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotificatio
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: shouldInsertNode:#document-fragment replacingDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document givenAction:WebViewInsertActionPasted
-EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document toDOMRange:range from 21 of #text > LI > OL > SPAN > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > SPAN > OL > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
+EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 21 of #text > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > DIV > BODY > HTML > #document toDOMRange:range from 21 of #text > LI > OL > SPAN > LI > OL > DIV > BODY > HTML > #document to 21 of #text > LI > OL > SPAN > LI > OL > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE
 EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification
 EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification
 layer at (0,0) size 800x600
@@ -29,24 +29,24 @@ layer at (0,0) size 800x600
               text run at (0,0) width 211: "I should be number 1."
           RenderListItem {LI} at (40,28) size 716x28
             RenderListMarker at (-31,0) size 24x28
-          RenderListItem {LI} at (40,56) size 716x28
-            RenderListMarker at (-31,0) size 24x28
-            RenderText {#text} at (0,0) size 211x28
-              text run at (0,0) width 211: "I should be number 3."
-          RenderBlock (anonymous) at (40,84) size 716x0
-            RenderInline {SPAN} at (0,0) size 0x0
-          RenderBlock (anonymous) at (40,84) size 716x84
-            RenderBlock {OL} at (0,0) size 716x84
-              RenderListItem {LI} at (40,0) size 676x28
-                RenderListMarker at (-31,0) size 24x28
-                RenderText {#text} at (0,0) size 211x28
-                  text run at (0,0) width 211: "I should be number 1."
-              RenderListItem {LI} at (40,28) size 676x28
-                RenderListMarker at (-31,0) size 24x28
-              RenderListItem {LI} at (40,56) size 676x28
-                RenderListMarker at (-31,0) size 24x28
-                RenderText {#text} at (0,0) size 211x28
-                  text run at (0,0) width 211: "I should be number 3."
-          RenderBlock (anonymous) at (40,168) size 716x0
-            RenderInline {SPAN} at (0,0) size 0x0
-caret: position 21 of child 0 {#text} of child 2 {LI} of child 0 {OL} of child 6 {SPAN} of child 4 {OL} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
+          RenderListItem {LI} at (40,56) size 716x112
+            RenderBlock (anonymous) at (0,0) size 716x28
+              RenderListMarker at (-31,0) size 24x28
+              RenderText {#text} at (0,0) size 211x28
+                text run at (0,0) width 211: "I should be number 3."
+              RenderInline {SPAN} at (0,0) size 0x18
+            RenderBlock (anonymous) at (0,28) size 716x84
+              RenderBlock {OL} at (0,0) size 716x84
+                RenderListItem {LI} at (40,0) size 676x28
+                  RenderListMarker at (-31,0) size 24x28
+                  RenderText {#text} at (0,0) size 211x28
+                    text run at (0,0) width 211: "I should be number 1."
+                RenderListItem {LI} at (40,28) size 676x28
+                  RenderListMarker at (-31,0) size 24x28
+                RenderListItem {LI} at (40,56) size 676x28
+                  RenderListMarker at (-31,0) size 24x28
+                  RenderText {#text} at (0,0) size 211x28
+                    text run at (0,0) width 211: "I should be number 3."
+            RenderBlock (anonymous) at (0,112) size 716x0
+              RenderInline {SPAN} at (0,0) size 0x0
+caret: position 21 of child 0 {#text} of child 2 {LI} of child 0 {OL} of child 1 {SPAN} of child 5 {LI} of child 4 {OL} of child 1 {DIV} of child 1 {BODY} of child 0 {HTML} of document
index 693df46fece2ff96971a7891ad882ac1470aaab4..d5c8659e91c07916300d29b05187f9527e007041 100644 (file)
@@ -1,3 +1,14 @@
+2006-08-22  Justin Garcia  <justin.garcia@apple.com>
+
+        Reviewed by harrison
+        
+        <http://bugzilla.opendarwin.org/show_bug.cgi?id=10449>
+        REGRESSION(r15918): drag-into-marker.html failing
+
+        * editing/ReplaceSelectionCommand.cpp:
+        (WebCore::ReplaceSelectionCommand::doApply): Don't avoid nesting
+        in a list item.
+
 2006-08-22  Brady Eidson  <beidson@apple.com>
 
         Reviewed by Kevin
index e236e649d0c52df4cef85af39fd5ab4801f43948..16f141a3192d4880a7e2c8c285cb2baae9b7c3ab 100644 (file)
@@ -435,8 +435,11 @@ void ReplaceSelectionCommand::doApply()
     bool selectionEndWasEndOfParagraph = isEndOfParagraph(visibleEnd);
     bool selectionStartWasStartOfParagraph = isStartOfParagraph(visibleStart);
     
+    Node* startBlock = enclosingBlock(visibleStart.deepEquivalent().node());
+    
     if (selectionStartWasStartOfParagraph && selectionEndWasEndOfParagraph ||
-        enclosingBlock(visibleStart.deepEquivalent().node()) == currentRoot)
+        startBlock == currentRoot ||
+        startBlock->renderer() && startBlock->renderer()->isListItem())
         m_preventNesting = false;
     
     Position insertionPos = selection.start();
@@ -457,8 +460,7 @@ void ReplaceSelectionCommand::doApply()
                 insertParagraphSeparator();
         }
         insertionPos = endingSelection().start();
-    } 
-    else {
+    } else {
         ASSERT(selection.isCaret());
         if (fragment.hasInterchangeNewlineAtStart()) {
             VisiblePosition next = visibleStart.next(true);
@@ -483,7 +485,7 @@ void ReplaceSelectionCommand::doApply()
     // away, there are positions after the br which map to the same visible position as [br, 0]).  
     Node* endBR = insertionPos.downstream().node()->hasTagName(brTag) ? insertionPos.downstream().node() : 0;
     
-    Node* startBlock = enclosingBlock(insertionPos.node());
+    startBlock = enclosingBlock(insertionPos.node());
     
     // Adjust insertionPos to prevent nesting.
     if (m_preventNesting) {