Commit 28c5a3cf authored by Xiaocheng Hu's avatar Xiaocheng Hu Committed by Commit Bot

Expose noncanonical versions of Previous/NextWordPosition

This patch exposes noncanonical versions of Previous/NextWordPosition to
reduce usage of VisiblePosition.

Bug: 657237
Change-Id: I0815b0c0bf4de34427432ca8f6aa769c356c6385
Reviewed-on: https://chromium-review.googlesource.com/c/1313876Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Reviewed-by: default avatarYoichi Osato <yoichio@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604832}
parent 265d9c20
...@@ -133,7 +133,10 @@ EndOfWordPosition(const VisiblePositionInFlatTree&, ...@@ -133,7 +133,10 @@ EndOfWordPosition(const VisiblePositionInFlatTree&,
EWordSide = kNextWordIfOnBoundary); EWordSide = kNextWordIfOnBoundary);
CORE_EXPORT VisiblePositionInFlatTree CORE_EXPORT VisiblePositionInFlatTree
EndOfWord(const VisiblePositionInFlatTree&, EWordSide = kNextWordIfOnBoundary); EndOfWord(const VisiblePositionInFlatTree&, EWordSide = kNextWordIfOnBoundary);
// TODO(crbug.com/657237): Change all callers to use non-canonical versions.
CORE_EXPORT PositionWithAffinity PreviousWordPosition(const Position&);
CORE_EXPORT VisiblePosition PreviousWordPosition(const VisiblePosition&); CORE_EXPORT VisiblePosition PreviousWordPosition(const VisiblePosition&);
CORE_EXPORT PositionWithAffinity NextWordPosition(const Position&);
CORE_EXPORT VisiblePosition NextWordPosition(const VisiblePosition&); CORE_EXPORT VisiblePosition NextWordPosition(const VisiblePosition&);
// sentences // sentences
......
...@@ -33,13 +33,13 @@ class VisibleUnitsWordTest : public EditingTestBase { ...@@ -33,13 +33,13 @@ class VisibleUnitsWordTest : public EditingTestBase {
std::string DoNextWord(const std::string& selection_text) { std::string DoNextWord(const std::string& selection_text) {
const Position position = SetSelectionTextToBody(selection_text).Base(); const Position position = SetSelectionTextToBody(selection_text).Base();
return GetCaretTextFromBody( return GetCaretTextFromBody(
NextWordPosition(CreateVisiblePosition(position)).DeepEquivalent()); CreateVisiblePosition(NextWordPosition(position)).DeepEquivalent());
} }
std::string DoPreviousWord(const std::string& selection_text) { std::string DoPreviousWord(const std::string& selection_text) {
const Position position = SetSelectionTextToBody(selection_text).Base(); const Position position = SetSelectionTextToBody(selection_text).Base();
const Position result = const Position result =
PreviousWordPosition(CreateVisiblePosition(position)).DeepEquivalent(); CreateVisiblePosition(PreviousWordPosition(position)).DeepEquivalent();
if (result.IsNull()) if (result.IsNull())
return GetSelectionTextFromBody(SelectionInDOMTree()); return GetSelectionTextFromBody(SelectionInDOMTree());
return GetCaretTextFromBody(result); return GetCaretTextFromBody(result);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment