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&); ...@@ -138,6 +138,9 @@ CORE_EXPORT PositionWithAffinity PreviousWordPosition(const Position&);
CORE_EXPORT PositionWithAffinity NextWordPosition(const Position&); CORE_EXPORT PositionWithAffinity NextWordPosition(const Position&);
// sentences // sentences
CORE_EXPORT Position StartOfSentencePosition(const Position&);
CORE_EXPORT PositionInFlatTree
StartOfSentencePosition(const PositionInFlatTree&);
CORE_EXPORT VisiblePosition StartOfSentence(const VisiblePosition&); CORE_EXPORT VisiblePosition StartOfSentence(const VisiblePosition&);
CORE_EXPORT VisiblePositionInFlatTree CORE_EXPORT VisiblePositionInFlatTree
StartOfSentence(const VisiblePositionInFlatTree&); StartOfSentence(const VisiblePositionInFlatTree&);
......
...@@ -191,10 +191,8 @@ VisiblePositionInFlatTree EndOfSentence(const VisiblePositionInFlatTree& c) { ...@@ -191,10 +191,8 @@ VisiblePositionInFlatTree EndOfSentence(const VisiblePositionInFlatTree& c) {
EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) { EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) {
DCHECK(range.IsNotNull()); DCHECK(range.IsNotNull());
const VisiblePosition& visible_end = const Position& sentence_end =
CreateVisiblePosition(range.EndPosition()); EndOfSentence(range.EndPosition()).GetPosition();
DCHECK(visible_end.IsNotNull());
const Position& sentence_end = EndOfSentence(visible_end).DeepEquivalent();
// TODO(editing-dev): |sentenceEnd < range.endPosition()| is possible, // TODO(editing-dev): |sentenceEnd < range.endPosition()| is possible,
// which would trigger a DCHECK in EphemeralRange's constructor if we return // which would trigger a DCHECK in EphemeralRange's constructor if we return
// it directly. However, this shouldn't happen and needs to be fixed. // it directly. However, this shouldn't happen and needs to be fixed.
...@@ -207,11 +205,8 @@ EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) { ...@@ -207,11 +205,8 @@ EphemeralRange ExpandEndToSentenceBoundary(const EphemeralRange& range) {
EphemeralRange ExpandRangeToSentenceBoundary(const EphemeralRange& range) { EphemeralRange ExpandRangeToSentenceBoundary(const EphemeralRange& range) {
DCHECK(range.IsNotNull()); DCHECK(range.IsNotNull());
const VisiblePosition& visible_start =
CreateVisiblePosition(range.StartPosition());
DCHECK(visible_start.IsNotNull());
const Position& sentence_start = const Position& sentence_start =
StartOfSentence(visible_start).DeepEquivalent(); StartOfSentencePosition(range.StartPosition());
// TODO(editing-dev): |sentenceStart > range.startPosition()| is possible, // TODO(editing-dev): |sentenceStart > range.startPosition()| is possible,
// which would trigger a DCHECK in EphemeralRange's constructor if we return // which would trigger a DCHECK in EphemeralRange's constructor if we return
// it directly. However, this shouldn't happen and needs to be fixed. // 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