Title: [164188] trunk/Source/WebCore
Revision
164188
Author
[email protected]
Date
2014-02-15 19:33:57 -0800 (Sat, 15 Feb 2014)

Log Message

DOMSelection shouldn't instantiate VisibleSelection everywhere
https://bugs.webkit.org/show_bug.cgi?id=128879

Reviewed by Antti Koivisto.

Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

* page/DOMSelection.cpp:
(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::addRange):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (164187 => 164188)


--- trunk/Source/WebCore/ChangeLog	2014-02-16 03:11:47 UTC (rev 164187)
+++ trunk/Source/WebCore/ChangeLog	2014-02-16 03:33:57 UTC (rev 164188)
@@ -1,5 +1,24 @@
 2014-02-15  Ryosuke Niwa  <[email protected]>
 
+        DOMSelection shouldn't instantiate VisibleSelection everywhere
+        https://bugs.webkit.org/show_bug.cgi?id=128879
+
+        Reviewed by Antti Koivisto.
+
+        Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.
+
+        * page/DOMSelection.cpp:
+        (WebCore::DOMSelection::collapse):
+        (WebCore::DOMSelection::collapseToEnd):
+        (WebCore::DOMSelection::collapseToStart):
+        (WebCore::DOMSelection::setBaseAndExtent):
+        (WebCore::DOMSelection::setPosition):
+        (WebCore::DOMSelection::extend):
+        (WebCore::DOMSelection::getRangeAt):
+        (WebCore::DOMSelection::addRange):
+
+2014-02-15  Ryosuke Niwa  <[email protected]>
+
         Remove unused arguments from moveTo(Range*)
         https://bugs.webkit.org/show_bug.cgi?id=128878
 

Modified: trunk/Source/WebCore/page/DOMSelection.cpp (164187 => 164188)


--- trunk/Source/WebCore/page/DOMSelection.cpp	2014-02-16 03:11:47 UTC (rev 164187)
+++ trunk/Source/WebCore/page/DOMSelection.cpp	2014-02-16 03:33:57 UTC (rev 164188)
@@ -204,7 +204,7 @@
         return;
 
     // FIXME: Eliminate legacy editing positions
-    m_frame->selection().moveTo(VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));
+    m_frame->selection().moveTo(createLegacyEditingPosition(node, offset), DOWNSTREAM);
 }
 
 void DOMSelection::collapseToEnd(ExceptionCode& ec)
@@ -219,7 +219,7 @@
         return;
     }
 
-    m_frame->selection().moveTo(VisiblePosition(selection.end(), DOWNSTREAM));
+    m_frame->selection().moveTo(selection.end(), DOWNSTREAM);
 }
 
 void DOMSelection::collapseToStart(ExceptionCode& ec)
@@ -234,7 +234,7 @@
         return;
     }
 
-    m_frame->selection().moveTo(VisiblePosition(selection.start(), DOWNSTREAM));
+    m_frame->selection().moveTo(selection.start(), DOWNSTREAM);
 }
 
 void DOMSelection::empty()
@@ -258,10 +258,7 @@
         return;
 
     // FIXME: Eliminate legacy editing positions
-    VisiblePosition visibleBase = VisiblePosition(createLegacyEditingPosition(baseNode, baseOffset), DOWNSTREAM);
-    VisiblePosition visibleExtent = VisiblePosition(createLegacyEditingPosition(extentNode, extentOffset), DOWNSTREAM);
-
-    m_frame->selection().moveTo(visibleBase, visibleExtent);
+    m_frame->selection().moveTo(createLegacyEditingPosition(baseNode, baseOffset), createLegacyEditingPosition(extentNode, extentOffset), DOWNSTREAM);
 }
 
 void DOMSelection::setPosition(Node* node, int offset, ExceptionCode& ec)
@@ -277,7 +274,7 @@
         return;
 
     // FIXME: Eliminate legacy editing positions
-    m_frame->selection().moveTo(VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));
+    m_frame->selection().moveTo(createLegacyEditingPosition(node, offset), DOWNSTREAM);
 }
 
 void DOMSelection::modify(const String& alterString, const String& directionString, const String& granularityString)
@@ -349,7 +346,7 @@
         return;
 
     // FIXME: Eliminate legacy editing positions
-    m_frame->selection().setExtent(VisiblePosition(createLegacyEditingPosition(node, offset), DOWNSTREAM));
+    m_frame->selection().setExtent(createLegacyEditingPosition(node, offset), DOWNSTREAM);
 }
 
 PassRefPtr<Range> DOMSelection::getRangeAt(int index, ExceptionCode& ec)
@@ -371,8 +368,7 @@
         return Range::create(shadowAncestor->document(), container, offset, container, offset);
     }
 
-    const VisibleSelection& selection = m_frame->selection().selection();
-    return selection.firstRange();
+    return m_frame->selection().selection().firstRange();
 }
 
 void DOMSelection::removeAllRanges()
@@ -392,7 +388,7 @@
     FrameSelection& selection = m_frame->selection();
 
     if (selection.isNone()) {
-        selection.setSelection(VisibleSelection(r));
+        selection.moveTo(r);
         return;
     }
 
@@ -400,23 +396,25 @@
     if (r->compareBoundaryPoints(Range::START_TO_START, range.get(), IGNORE_EXCEPTION) == -1) {
         // We don't support discontiguous selection. We don't do anything if r and range don't intersect.
         if (r->compareBoundaryPoints(Range::START_TO_END, range.get(), IGNORE_EXCEPTION) > -1) {
-            if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1)
+            if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) {
                 // The original range and r intersect.
-                selection.setSelection(VisibleSelection(r->startPosition(), range->endPosition(), DOWNSTREAM));
-            else
+                selection.moveTo(r->startPosition(), range->endPosition(), DOWNSTREAM);
+            } else {
                 // r contains the original range.
-                selection.setSelection(VisibleSelection(r));
+                selection.moveTo(r);
+            }
         }
     } else {
         // We don't support discontiguous selection. We don't do anything if r and range don't intersect.
         ExceptionCode ec = 0;
         if (r->compareBoundaryPoints(Range::END_TO_START, range.get(), ec) < 1 && !ec) {
-            if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1)
+            if (r->compareBoundaryPoints(Range::END_TO_END, range.get(), IGNORE_EXCEPTION) == -1) {
                 // The original range contains r.
-                selection.setSelection(VisibleSelection(range.get()));
-            else
+                selection.moveTo(range.get());
+            } else {
                 // The original range and r intersect.
-                selection.setSelection(VisibleSelection(range->startPosition(), r->endPosition(), DOWNSTREAM));
+                selection.moveTo(range->startPosition(), r->endPosition(), DOWNSTREAM);
+            }
         }
     }
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to