Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Nov 2004 23:15:37 +0000 (23:15 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Nov 2004 23:15:37 +0000 (23:15 +0000)
        * khtml/editing/htmlediting.cpp:
        (khtml::CompositeEditCommand::deleteInsignificantText): Call new compareBoundaryPoints convenience.
        (khtml::ApplyStyleCommand::removeBlockStyle): Ditto.
        (khtml::ApplyStyleCommand::removeInlineStyle): Ditto.
        (khtml::ApplyStyleCommand::nodeFullySelected): Ditto.
        (khtml::DeleteSelectionCommand::initializePositionData): Ditto.
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::compareBoundaryPoints): New convenience variant of this function which takes two Position objects.
        * khtml/xml/dom2_rangeimpl.h: Ditto.

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

WebCore/ChangeLog-2005-08-23
WebCore/khtml/editing/htmlediting.cpp
WebCore/khtml/xml/dom2_rangeimpl.cpp
WebCore/khtml/xml/dom2_rangeimpl.h

index 6c23a1e..a3b53ad 100644 (file)
@@ -1,5 +1,19 @@
 2004-11-11  Ken Kocienda  <kocienda@apple.com>
 
+        Reviewed by Hyatt
+
+        * khtml/editing/htmlediting.cpp:
+        (khtml::CompositeEditCommand::deleteInsignificantText): Call new compareBoundaryPoints convenience.
+        (khtml::ApplyStyleCommand::removeBlockStyle): Ditto.
+        (khtml::ApplyStyleCommand::removeInlineStyle): Ditto.
+        (khtml::ApplyStyleCommand::nodeFullySelected): Ditto.
+        (khtml::DeleteSelectionCommand::initializePositionData): Ditto.
+        * khtml/xml/dom2_rangeimpl.cpp:
+        (DOM::RangeImpl::compareBoundaryPoints): New convenience variant of this function which takes two Position objects.
+        * khtml/xml/dom2_rangeimpl.h: Ditto.
+
+2004-11-11  Ken Kocienda  <kocienda@apple.com>
+
         Reviewed by Harrison
 
         Some improvements to deleting when complete lines are selected.
index d5da152..f2943ec 100644 (file)
@@ -846,7 +846,7 @@ void CompositeEditCommand::deleteInsignificantText(const Position &start, const
     if (start.isNull() || end.isNull())
         return;
 
-    if (RangeImpl::compareBoundaryPoints(start.node(), start.offset(), end.node(), end.offset()) >= 0)
+    if (RangeImpl::compareBoundaryPoints(start, end) >= 0)
         return;
 
     NodeImpl *node = start.node();
@@ -1165,7 +1165,7 @@ void ApplyStyleCommand::removeBlockStyle(CSSStyleDeclarationImpl *style, const P
     ASSERT(end.isNotNull());
     ASSERT(start.node()->inDocument());
     ASSERT(end.node()->inDocument());
-    ASSERT(RangeImpl::compareBoundaryPoints(start.node(), start.offset(), end.node(), end.offset()) <= 0);
+    ASSERT(RangeImpl::compareBoundaryPoints(start, end) <= 0);
     
 }
 
@@ -1175,7 +1175,7 @@ void ApplyStyleCommand::removeInlineStyle(CSSStyleDeclarationImpl *style, const
     ASSERT(end.isNotNull());
     ASSERT(start.node()->inDocument());
     ASSERT(end.node()->inDocument());
-    ASSERT(RangeImpl::compareBoundaryPoints(start.node(), start.offset(), end.node(), end.offset()) <= 0);
+    ASSERT(RangeImpl::compareBoundaryPoints(start, end) <= 0);
     
     NodeImpl *node = start.node();
     while (node) {
@@ -1199,7 +1199,7 @@ bool ApplyStyleCommand::nodeFullySelected(NodeImpl *node, const Position &start,
 
     Position pos = Position(node, node->childNodeCount()).upstream();
     return RangeImpl::compareBoundaryPoints(node, 0, start.node(), start.offset()) >= 0 &&
-        RangeImpl::compareBoundaryPoints(pos.node(), pos.offset(), end.node(), end.offset()) <= 0;
+        RangeImpl::compareBoundaryPoints(pos, end) <= 0;
 }
 
 //------------------------------------------------------------------------------------------
@@ -1467,7 +1467,7 @@ void DeleteSelectionCommand::initializePositionData()
     VisiblePosition visibleEnd(end);
     if (isFirstVisiblePositionOnLine(visibleEnd)) {
         Position previousLineStart = previousLinePosition(visibleEnd, DOWNSTREAM, 0).deepEquivalent();
-        if (RangeImpl::compareBoundaryPoints(previousLineStart.node(), previousLineStart.offset(), m_downstreamStart.node(), m_downstreamStart.offset()) >= 0)
+        if (RangeImpl::compareBoundaryPoints(previousLineStart, m_downstreamStart) >= 0)
             m_mergeBlocksAfterDelete = false;
     }
 
index 17ea157..3f62fc8 100644 (file)
@@ -31,6 +31,7 @@
 #include "html/html_elementimpl.h"
 #include "misc/htmltags.h"
 #include "editing/visible_text.h"
+#include "xml/dom_position.h"
 
 #include "render_block.h"
 
@@ -377,6 +378,11 @@ short RangeImpl::compareBoundaryPoints( NodeImpl *containerA, long offsetA, Node
     else  return 1;                        // A is after B
 }
 
+short RangeImpl::compareBoundaryPoints( const Position &a, const Position &b )
+{
+    return compareBoundaryPoints(a.node(), a.offset(), b.node(), b.offset());
+}
+
 bool RangeImpl::boundaryPointsValid(  ) const
 {
     return compareBoundaryPoints( m_startContainer, m_startOffset, m_endContainer, m_endOffset ) <= 0;
index 496c035..11bfea8 100644 (file)
@@ -35,6 +35,7 @@ namespace DOM {
 
 class DocumentPtr;
 class NodeImpl;
+class Position;
 
 class RangeImpl : public khtml::Shared<RangeImpl>
 {
@@ -61,6 +62,7 @@ public:
     void collapse ( bool toStart, int &exceptioncode );
     short compareBoundaryPoints ( Range::CompareHow how, const RangeImpl *sourceRange, int &exceptioncode ) const;
     static short compareBoundaryPoints ( NodeImpl *containerA, long offsetA, NodeImpl *containerB, long offsetB );
+    static short compareBoundaryPoints ( const Position &a, const Position &b );
     bool boundaryPointsValid (  ) const;
     void deleteContents ( int &exceptioncode );
     DocumentFragmentImpl *extractContents ( int &exceptioncode );