Reviewed by Anders.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 Aug 2007 16:13:54 +0000 (16:13 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 31 Aug 2007 16:13:54 +0000 (16:13 +0000)
        - http://bugs.webkit.org/show_bug.cgi?id=15122

        * editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode):
        Change assertion so that it only fires when actually modifying the selection.
        This isn't nearly as helpful, because the old assertion could catch potential
        problems in more cases, but it's not obvious how to do better.

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

WebCore/ChangeLog
WebCore/editing/htmlediting.cpp

index 8c78696..fd65dc4 100644 (file)
@@ -1,3 +1,14 @@
+2007-08-31  Darin Adler  <darin@apple.com>
+
+        Reviewed by Anders.
+
+        - http://bugs.webkit.org/show_bug.cgi?id=15122
+
+        * editing/htmlediting.cpp: (WebCore::avoidIntersectionWithNode):
+        Change assertion so that it only fires when actually modifying the selection.
+        This isn't nearly as helpful, because the old assertion could catch potential
+        problems in more cases, but it's not obvious how to do better.
+
 2007-08-30  Oliver Hunt  <oliver@apple.com>
 
         Reviewed by Adam.
index a7eebe9..8d0c6c1 100644 (file)
@@ -888,13 +888,14 @@ PassRefPtr<Range> avoidIntersectionWithNode(const Range* range, Node* node)
 
     ASSERT(startContainer);
     ASSERT(endContainer);
-    ASSERT(!node || node->parentNode());
 
     if (startContainer == node || startContainer->isDescendantOf(node)) {
+        ASSERT(node->parentNode());
         startContainer = node->parentNode();
         startOffset = node->nodeIndex();
     }
     if (endContainer == node || endContainer->isDescendantOf(node)) {
+        ASSERT(node->parentNode());
         endContainer = node->parentNode();
         endOffset = node->nodeIndex();
     }
@@ -912,13 +913,16 @@ Selection avoidIntersectionWithNode(const Selection& selection, Node* node)
     Node* extent = selection.extent().node();
     ASSERT(base);
     ASSERT(extent);
-    ASSERT(!node || node->parentNode());
     
-    if (base == node || base->isDescendantOf(node))
+    if (base == node || base->isDescendantOf(node)) {
+        ASSERT(node->parentNode());
         updatedSelection.setBase(Position(node->parentNode(), node->nodeIndex()));
+    }
     
-    if (extent == node || extent->isDescendantOf(node))
+    if (extent == node || extent->isDescendantOf(node)) {
+        ASSERT(node->parentNode());
         updatedSelection.setExtent(Position(node->parentNode(), node->nodeIndex()));
+    }
         
     return updatedSelection;
 }