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

Unified Diff: third_party/WebKit/Source/core/editing/VisibleUnits.cpp

Issue 2732863004: Add VisibleUnits::startOfWordPosition (Closed)
Patch Set: Created 3 years, 9 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 | « third_party/WebKit/Source/core/editing/VisibleUnits.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/WebKit/Source/core/editing/VisibleUnits.cpp
diff --git a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
index 6a27a1aee1507e328c2acde4490b9faedc9dabd9..d35c2251b1b38fb399dff5344620804650c5a7cf 100644
--- a/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
+++ b/third_party/WebKit/Source/core/editing/VisibleUnits.cpp
@@ -1043,7 +1043,7 @@ static unsigned startWordBoundary(
}
template <typename Strategy>
-static VisiblePositionTemplate<Strategy> startOfWordAlgorithm(
+static PositionTemplate<Strategy> startOfWordAlgorithm(
const VisiblePositionTemplate<Strategy>& c,
EWordSide side) {
DCHECK(c.isValid()) << c;
@@ -1053,22 +1053,32 @@ static VisiblePositionTemplate<Strategy> startOfWordAlgorithm(
if (side == RightWordIfOnBoundary) {
// at paragraph end, the startofWord is the current position
if (isEndOfParagraph(c))
- return c;
+ return c.deepEquivalent();
p = nextPositionOf(c);
if (p.isNull())
- return c;
+ return c.deepEquivalent();
}
- return createVisiblePosition(previousBoundary(p, startWordBoundary));
+ return previousBoundary(p, startWordBoundary);
}
-VisiblePosition startOfWord(const VisiblePosition& c, EWordSide side) {
- return startOfWordAlgorithm<EditingStrategy>(c, side);
+Position startOfWordPosition(const VisiblePosition& position, EWordSide side) {
+ return startOfWordAlgorithm<EditingStrategy>(position, side);
+}
+
+VisiblePosition startOfWord(const VisiblePosition& position, EWordSide side) {
+ return createVisiblePosition(startOfWordPosition(position, side));
+}
+
+PositionInFlatTree startOfWordPosition(
+ const VisiblePositionInFlatTree& position,
+ EWordSide side) {
+ return startOfWordAlgorithm<EditingInFlatTreeStrategy>(position, side);
}
-VisiblePositionInFlatTree startOfWord(const VisiblePositionInFlatTree& c,
+VisiblePositionInFlatTree startOfWord(const VisiblePositionInFlatTree& position,
EWordSide side) {
- return startOfWordAlgorithm<EditingInFlatTreeStrategy>(c, side);
+ return createVisiblePosition(startOfWordPosition(position, side));
}
static unsigned endWordBoundary(
« no previous file with comments | « third_party/WebKit/Source/core/editing/VisibleUnits.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698