Reviewed by John
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Oct 2004 00:01:20 +0000 (00:01 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Oct 2004 00:01:20 +0000 (00:01 +0000)
        Fix for this bug:

        <rdar://problem/3839989> REGRESSION (Mail): Left arrow does nothing after inserting attachment

        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::deepEquivalent): Remove code that attempted to bridge old-style
        position code to new-style VisiblePosition code. In retrospect, this code was misguided.
        Since we do a good job of insulating external code from the internal workings of
        VisiblePosition, the "hop ahead" being done here was not doing anyone any real good, and
        in the case of this bug, was doing harm. Simply removing this code makes the bug
        go away and does not cause any editing layout test regresssions.

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/visible_position.cpp

index 255f04a3785d92147c5f889e5cc11cae453ba9af..1927fbb5c8f25d79db26adcc45f3ab7b73b1b952 100644 (file)
@@ -1,3 +1,19 @@
+2004-10-14  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by John
+
+        Fix for this bug:
+        
+        <rdar://problem/3839989> REGRESSION (Mail): Left arrow does nothing after inserting attachment
+
+        * khtml/editing/visible_position.cpp:
+        (khtml::VisiblePosition::deepEquivalent): Remove code that attempted to bridge old-style
+        position code to new-style VisiblePosition code. In retrospect, this code was misguided.
+        Since we do a good job of insulating external code from the internal workings of 
+        VisiblePosition, the "hop ahead" being done here was not doing anyone any real good, and
+        in the case of this bug, was doing harm. Simply removing this code makes the bug
+        go away and does not cause any editing layout test regresssions.
+
 2004-10-14  Ken Kocienda  <kocienda@apple.com>
 
         Reviewed by Hyatt
index 887ca075ab7dc64b87702779569e5d150f567b14..7bb8971f0ceccd9d696d7feebf665ad07b603665 100644 (file)
@@ -317,16 +317,8 @@ Position VisiblePosition::deepEquivalent(const Position &pos)
     if (!node)
         return Position();
     
-    if (isAtomicNode(node)) {
-        // This is part of the strategy to wean the code off Positions with BRs and replaced elements
-        // as the nodes and offsets > 0.
-        if (offset > 0 && (node->id() == ID_BR || node->renderer() && node->renderer()->isReplaced())) {
-            NodeImpl *next = node->traverseNextNode();
-            if (next && node->enclosingBlockFlowElement() == next->enclosingBlockFlowElement())
-                return deepEquivalent(Position(next, 0));
-        }
+    if (isAtomicNode(node))
         return pos;
-    }
 
     if (offset >= (long)node->childNodeCount()) {
         do {