Commit 390c941f authored by Xiaocheng Hu's avatar Xiaocheng Hu Committed by Commit Bot

Stop ExpandRange/EndToSentenceBoundary from using VisiblePosition

This patch stops the two functions from using VisiblePosition by switch
to the VP-free versions of Start/EndOfSentence(). Hence, this patch
reduces the usage of legacy VisiblePosition.

Bug: 657237
Change-Id: I933a020f9bd6643ba1b2cd5111b8be18b2f49086
Reviewed-on: https://chromium-review.googlesource.com/c/1337816Reviewed-by: default avatarYoichi Osato <yoichio@chromium.org>
Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608849}
parent 032590ee
......@@ -138,6 +138,9 @@ CORE_EXPORT PositionWithAffinity PreviousWordPosition(const Position&);
CORE_EXPORT PositionWithAffinity NextWordPosition(const Position&);
// sentences
CORE_EXPORT Position StartOfSentencePosition(const Position&);
CORE_EXPORT PositionInFlatTree
StartOfSentencePosition(const PositionInFlatTree&);
CORE_EXPORT VisiblePosition StartOfSentence(const VisiblePosition&);
CORE_EXPORT VisiblePositionInFlatTree
StartOfSentence(const VisiblePositionInFlatTree&);
......
......@@ -191,10 +191,8 @@ VisiblePositionInFlatTree EndOfSentence(const VisiblePositionInFlatTree& c) {
EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) {
DCHECK(range.IsNotNull());
const VisiblePosition& visible_end =
CreateVisiblePosition(range.EndPosition());
DCHECK(visible_end.IsNotNull());
const Position& sentence_end = EndOfSentence(visible_end).DeepEquivalent();
const Position& sentence_end =
EndOfSentence(range.EndPosition()).GetPosition();
// TODO(editing-dev): |sentenceEnd < range.endPosition()| is possible,
// which would trigger a DCHECK in EphemeralRange's constructor if we return
// it directly. However, this shouldn't happen and needs to be fixed.
......@@ -207,11 +205,8 @@ EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) {
EphemeralRange ExpandRangeToSentenceBoundary(const EphemeralRange& range) {
DCHECK(range.IsNotNull());
const VisiblePosition& visible_start =
CreateVisiblePosition(range.StartPosition());
DCHECK(visible_start.IsNotNull());
const Position& sentence_start =
StartOfSentence(visible_start).DeepEquivalent();
StartOfSentencePosition(range.StartPosition());
// TODO(editing-dev): |sentenceStart > range.startPosition()| is possible,
// which would trigger a DCHECK in EphemeralRange's constructor if we return
// it directly. However, this shouldn't happen and needs to be fixed.
......
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