Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(729)

Unified Diff: Source/core/editing/VisiblePosition.cpp

Issue 1309513007: Move member functions skipTo{Start,End}OfEditingBoundary() out from VisiblePosition (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 2015-08-31T11:04:46 Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/editing/VisiblePosition.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/editing/VisiblePosition.cpp
diff --git a/Source/core/editing/VisiblePosition.cpp b/Source/core/editing/VisiblePosition.cpp
index 320ce7a661d5eea577589eacf2b9e2ec0f9b48b5..4e9143e54e075f79c754781d676ee90002c60d5a 100644
--- a/Source/core/editing/VisiblePosition.cpp
+++ b/Source/core/editing/VisiblePosition.cpp
@@ -64,6 +64,10 @@ VisiblePosition::VisiblePosition(const PositionWithAffinity& positionWithAffinit
init(positionWithAffinity.position(), positionWithAffinity.affinity());
}
+// TODO(yosin) We should move implementation of |skipToEndOfEditingBoundary()|
+// here to avoid forward declaration.
+static VisiblePosition skipToEndOfEditingBoundary(const VisiblePosition&, const Position& anchor);
+
// TODO(yosin) We should move |nextPositionOf()| to "VisibleUnits.cpp".
VisiblePosition nextPositionOf(const VisiblePosition& visiblePosition, EditingBoundaryCrossingRule rule)
{
@@ -75,12 +79,16 @@ VisiblePosition nextPositionOf(const VisiblePosition& visiblePosition, EditingBo
case CannotCrossEditingBoundary:
return visiblePosition.honorEditingBoundaryAtOrAfter(next);
case CanSkipOverEditingBoundary:
- return visiblePosition.skipToEndOfEditingBoundary(next);
+ return skipToEndOfEditingBoundary(next, visiblePosition.deepEquivalent());
}
ASSERT_NOT_REACHED();
return visiblePosition.honorEditingBoundaryAtOrAfter(next);
}
+// TODO(yosin) We should move implementation of |skipToStartOfEditingBoundary()|
+// here to avoid forward declaration.
+static VisiblePosition skipToStartOfEditingBoundary(const VisiblePosition&, const Position& anchor);
+
VisiblePosition previousPositionOf(const VisiblePosition& visiblePosition, EditingBoundaryCrossingRule rule)
{
Position pos = previousVisuallyDistinctCandidate(visiblePosition.deepEquivalent());
@@ -108,7 +116,7 @@ VisiblePosition previousPositionOf(const VisiblePosition& visiblePosition, Editi
case CannotCrossEditingBoundary:
return visiblePosition.honorEditingBoundaryAtOrBefore(prev);
case CanSkipOverEditingBoundary:
- return visiblePosition.skipToStartOfEditingBoundary(prev);
+ return skipToStartOfEditingBoundary(prev, visiblePosition.deepEquivalent());
}
ASSERT_NOT_REACHED();
@@ -514,12 +522,14 @@ VisiblePosition VisiblePosition::honorEditingBoundaryAtOrAfter(const VisiblePosi
return firstEditableVisiblePositionAfterPositionInRoot(pos.deepEquivalent(), highestRoot);
}
-VisiblePosition VisiblePosition::skipToStartOfEditingBoundary(const VisiblePosition &pos) const
+// TODO(yosin) We should move implementation of |skipToStartOfEditingBoundary()|
+// at forward declaration and re-format comments to fit 80 chars.
+static VisiblePosition skipToStartOfEditingBoundary(const VisiblePosition& pos, const Position& anchor)
{
if (pos.isNull())
return pos;
- ContainerNode* highestRoot = highestEditableRoot(deepEquivalent());
+ ContainerNode* highestRoot = highestEditableRoot(anchor);
ContainerNode* highestRootOfPos = highestEditableRoot(pos.deepEquivalent());
// Return pos itself if the two are from the very same editable region, or both are non-editable.
@@ -534,12 +544,14 @@ VisiblePosition VisiblePosition::skipToStartOfEditingBoundary(const VisiblePosit
return lastEditableVisiblePositionBeforePositionInRoot(pos.deepEquivalent(), highestRoot);
}
-VisiblePosition VisiblePosition::skipToEndOfEditingBoundary(const VisiblePosition &pos) const
+// TODO(yosin) We should move implementation of |skipToEndOfEditingBoundary()|
+// at forward declaration and re-format comments to fit 80 chars.
+static VisiblePosition skipToEndOfEditingBoundary(const VisiblePosition& pos, const Position& anchor)
{
if (pos.isNull())
return pos;
- ContainerNode* highestRoot = highestEditableRoot(deepEquivalent());
+ ContainerNode* highestRoot = highestEditableRoot(anchor);
ContainerNode* highestRootOfPos = highestEditableRoot(pos.deepEquivalent());
// Return pos itself if the two are from the very same editable region, or both are non-editable.
« no previous file with comments | « Source/core/editing/VisiblePosition.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698