Commit 350f5ba2 authored by Yoshifumi Inoue's avatar Yoshifumi Inoue Committed by Chromium LUCI CQ

Make StartOfDocument() to take/return Position

This patch changes |StartOfDocument()| to take/return |Position| instead
of |VisiblePosition| to reduce usage of |VisiblePosition|.

Note: This patch doesn't change behavior.

Bug: 657237
Change-Id: I3832f42b8c08b63dee92a390945e7993f92bcc71
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2567843
Auto-Submit: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: default avatarKoji Ishii <kojii@chromium.org>
Commit-Queue: Koji Ishii <kojii@chromium.org>
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#832707}
parent ff460536
...@@ -1597,7 +1597,7 @@ void Range::expand(const String& unit, ExceptionState& exception_state) { ...@@ -1597,7 +1597,7 @@ void Range::expand(const String& unit, ExceptionState& exception_state) {
start = StartOfParagraph(start); start = StartOfParagraph(start);
end = EndOfParagraph(end); end = EndOfParagraph(end);
} else if (unit == "document") { } else if (unit == "document") {
start = StartOfDocument(start); start = CreateVisiblePosition(StartOfDocument(start.DeepEquivalent()));
end = EndOfDocument(end); end = EndOfDocument(end);
} else { } else {
return; return;
......
...@@ -143,7 +143,8 @@ class GranularityAdjuster final { ...@@ -143,7 +143,8 @@ class GranularityAdjuster final {
return StartOfParagraph(pos).DeepEquivalent(); return StartOfParagraph(pos).DeepEquivalent();
} }
case TextGranularity::kDocumentBoundary: case TextGranularity::kDocumentBoundary:
return StartOfDocument(CreateVisiblePosition(passed_start)) return CreateVisiblePosition(
StartOfDocument(passed_start.GetPosition()))
.DeepEquivalent(); .DeepEquivalent();
case TextGranularity::kParagraphBoundary: case TextGranularity::kParagraphBoundary:
return StartOfParagraph(CreateVisiblePosition(passed_start)) return StartOfParagraph(CreateVisiblePosition(passed_start))
......
...@@ -601,7 +601,7 @@ VisiblePosition SelectionModifier::ModifyExtendingBackwardInternal( ...@@ -601,7 +601,7 @@ VisiblePosition SelectionModifier::ModifyExtendingBackwardInternal(
return CreateVisiblePosition( return CreateVisiblePosition(
StartOfEditableContent(pos.DeepEquivalent())); StartOfEditableContent(pos.DeepEquivalent()));
} }
return StartOfDocument(pos); return CreateVisiblePosition(StartOfDocument(pos.DeepEquivalent()));
} }
} }
NOTREACHED() << static_cast<int>(granularity); NOTREACHED() << static_cast<int>(granularity);
...@@ -697,7 +697,7 @@ VisiblePosition SelectionModifier::ModifyMovingBackward( ...@@ -697,7 +697,7 @@ VisiblePosition SelectionModifier::ModifyMovingBackward(
pos = pos =
CreateVisiblePosition(StartOfEditableContent(pos.DeepEquivalent())); CreateVisiblePosition(StartOfEditableContent(pos.DeepEquivalent()));
} else { } else {
pos = StartOfDocument(pos); pos = CreateVisiblePosition(StartOfDocument(pos.DeepEquivalent()));
} }
break; break;
} }
......
...@@ -357,22 +357,21 @@ static Node* ParentEditingBoundary(const PositionTemplate<Strategy>& position) { ...@@ -357,22 +357,21 @@ static Node* ParentEditingBoundary(const PositionTemplate<Strategy>& position) {
// --------- // ---------
template <typename Strategy> template <typename Strategy>
static VisiblePositionTemplate<Strategy> StartOfDocumentAlgorithm( static PositionTemplate<Strategy> StartOfDocumentAlgorithm(
const VisiblePositionTemplate<Strategy>& visible_position) { const PositionTemplate<Strategy>& position) {
DCHECK(visible_position.IsValid()) << visible_position; const Node* const node = position.AnchorNode();
Node* node = visible_position.DeepEquivalent().AnchorNode();
if (!node || !node->GetDocument().documentElement()) if (!node || !node->GetDocument().documentElement())
return VisiblePositionTemplate<Strategy>(); return PositionTemplate<Strategy>();
return CreateVisiblePosition(PositionTemplate<Strategy>::FirstPositionInNode( return PositionTemplate<Strategy>::FirstPositionInNode(
*node->GetDocument().documentElement())); *node->GetDocument().documentElement());
} }
VisiblePosition StartOfDocument(const VisiblePosition& c) { Position StartOfDocument(const Position& c) {
return StartOfDocumentAlgorithm<EditingStrategy>(c); return StartOfDocumentAlgorithm<EditingStrategy>(c);
} }
VisiblePositionInFlatTree StartOfDocument(const VisiblePositionInFlatTree& c) { PositionInFlatTree StartOfDocument(const PositionInFlatTree& c) {
return StartOfDocumentAlgorithm<EditingInFlatTreeStrategy>(c); return StartOfDocumentAlgorithm<EditingInFlatTreeStrategy>(c);
} }
......
...@@ -230,9 +230,8 @@ bool InSameParagraph(const VisiblePosition&, ...@@ -230,9 +230,8 @@ bool InSameParagraph(const VisiblePosition&,
EphemeralRange ExpandToParagraphBoundary(const EphemeralRange&); EphemeralRange ExpandToParagraphBoundary(const EphemeralRange&);
// document // document
CORE_EXPORT VisiblePosition StartOfDocument(const VisiblePosition&); CORE_EXPORT Position StartOfDocument(const Position&);
CORE_EXPORT VisiblePositionInFlatTree CORE_EXPORT PositionInFlatTree StartOfDocument(const PositionInFlatTree&);
StartOfDocument(const VisiblePositionInFlatTree&);
CORE_EXPORT VisiblePosition EndOfDocument(const VisiblePosition&); CORE_EXPORT VisiblePosition EndOfDocument(const VisiblePosition&);
CORE_EXPORT VisiblePositionInFlatTree CORE_EXPORT VisiblePositionInFlatTree
EndOfDocument(const VisiblePositionInFlatTree&); EndOfDocument(const VisiblePositionInFlatTree&);
......
...@@ -780,17 +780,17 @@ TEST_F(VisibleUnitsTest, startOfDocument) { ...@@ -780,17 +780,17 @@ TEST_F(VisibleUnitsTest, startOfDocument) {
Node* two = GetDocument().getElementById("two")->firstChild(); Node* two = GetDocument().getElementById("two")->firstChild();
EXPECT_EQ(Position(one, 0), EXPECT_EQ(Position(one, 0),
StartOfDocument(CreateVisiblePositionInDOMTree(*one, 0)) CreateVisiblePosition(StartOfDocument(Position(*one, 0)))
.DeepEquivalent()); .DeepEquivalent());
EXPECT_EQ(PositionInFlatTree(two, 0), EXPECT_EQ(PositionInFlatTree(two, 0),
StartOfDocument(CreateVisiblePositionInFlatTree(*one, 0)) CreateVisiblePosition(StartOfDocument(PositionInFlatTree(*one, 0)))
.DeepEquivalent()); .DeepEquivalent());
EXPECT_EQ(Position(one, 0), EXPECT_EQ(Position(one, 0),
StartOfDocument(CreateVisiblePositionInDOMTree(*two, 1)) CreateVisiblePosition(StartOfDocument(Position(*two, 1)))
.DeepEquivalent()); .DeepEquivalent());
EXPECT_EQ(PositionInFlatTree(two, 0), EXPECT_EQ(PositionInFlatTree(two, 0),
StartOfDocument(CreateVisiblePositionInFlatTree(*two, 1)) CreateVisiblePosition(StartOfDocument(PositionInFlatTree(*two, 1)))
.DeepEquivalent()); .DeepEquivalent());
} }
......
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