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) {
start = StartOfParagraph(start);
end = EndOfParagraph(end);
} else if (unit == "document") {
start = StartOfDocument(start);
start = CreateVisiblePosition(StartOfDocument(start.DeepEquivalent()));
end = EndOfDocument(end);
} else {
return;
......
......@@ -143,7 +143,8 @@ class GranularityAdjuster final {
return StartOfParagraph(pos).DeepEquivalent();
}
case TextGranularity::kDocumentBoundary:
return StartOfDocument(CreateVisiblePosition(passed_start))
return CreateVisiblePosition(
StartOfDocument(passed_start.GetPosition()))
.DeepEquivalent();
case TextGranularity::kParagraphBoundary:
return StartOfParagraph(CreateVisiblePosition(passed_start))
......
......@@ -601,7 +601,7 @@ VisiblePosition SelectionModifier::ModifyExtendingBackwardInternal(
return CreateVisiblePosition(
StartOfEditableContent(pos.DeepEquivalent()));
}
return StartOfDocument(pos);
return CreateVisiblePosition(StartOfDocument(pos.DeepEquivalent()));
}
}
NOTREACHED() << static_cast<int>(granularity);
......@@ -697,7 +697,7 @@ VisiblePosition SelectionModifier::ModifyMovingBackward(
pos =
CreateVisiblePosition(StartOfEditableContent(pos.DeepEquivalent()));
} else {
pos = StartOfDocument(pos);
pos = CreateVisiblePosition(StartOfDocument(pos.DeepEquivalent()));
}
break;
}
......
......@@ -357,22 +357,21 @@ static Node* ParentEditingBoundary(const PositionTemplate<Strategy>& position) {
// ---------
template <typename Strategy>
static VisiblePositionTemplate<Strategy> StartOfDocumentAlgorithm(
const VisiblePositionTemplate<Strategy>& visible_position) {
DCHECK(visible_position.IsValid()) << visible_position;
Node* node = visible_position.DeepEquivalent().AnchorNode();
static PositionTemplate<Strategy> StartOfDocumentAlgorithm(
const PositionTemplate<Strategy>& position) {
const Node* const node = position.AnchorNode();
if (!node || !node->GetDocument().documentElement())
return VisiblePositionTemplate<Strategy>();
return PositionTemplate<Strategy>();
return CreateVisiblePosition(PositionTemplate<Strategy>::FirstPositionInNode(
*node->GetDocument().documentElement()));
return PositionTemplate<Strategy>::FirstPositionInNode(
*node->GetDocument().documentElement());
}
VisiblePosition StartOfDocument(const VisiblePosition& c) {
Position StartOfDocument(const Position& c) {
return StartOfDocumentAlgorithm<EditingStrategy>(c);
}
VisiblePositionInFlatTree StartOfDocument(const VisiblePositionInFlatTree& c) {
PositionInFlatTree StartOfDocument(const PositionInFlatTree& c) {
return StartOfDocumentAlgorithm<EditingInFlatTreeStrategy>(c);
}
......
......@@ -230,9 +230,8 @@ bool InSameParagraph(const VisiblePosition&,
EphemeralRange ExpandToParagraphBoundary(const EphemeralRange&);
// document
CORE_EXPORT VisiblePosition StartOfDocument(const VisiblePosition&);
CORE_EXPORT VisiblePositionInFlatTree
StartOfDocument(const VisiblePositionInFlatTree&);
CORE_EXPORT Position StartOfDocument(const Position&);
CORE_EXPORT PositionInFlatTree StartOfDocument(const PositionInFlatTree&);
CORE_EXPORT VisiblePosition EndOfDocument(const VisiblePosition&);
CORE_EXPORT VisiblePositionInFlatTree
EndOfDocument(const VisiblePositionInFlatTree&);
......
......@@ -780,17 +780,17 @@ TEST_F(VisibleUnitsTest, startOfDocument) {
Node* two = GetDocument().getElementById("two")->firstChild();
EXPECT_EQ(Position(one, 0),
StartOfDocument(CreateVisiblePositionInDOMTree(*one, 0))
CreateVisiblePosition(StartOfDocument(Position(*one, 0)))
.DeepEquivalent());
EXPECT_EQ(PositionInFlatTree(two, 0),
StartOfDocument(CreateVisiblePositionInFlatTree(*one, 0))
CreateVisiblePosition(StartOfDocument(PositionInFlatTree(*one, 0)))
.DeepEquivalent());
EXPECT_EQ(Position(one, 0),
StartOfDocument(CreateVisiblePositionInDOMTree(*two, 1))
CreateVisiblePosition(StartOfDocument(Position(*two, 1)))
.DeepEquivalent());
EXPECT_EQ(PositionInFlatTree(two, 0),
StartOfDocument(CreateVisiblePositionInFlatTree(*two, 1))
CreateVisiblePosition(StartOfDocument(PositionInFlatTree(*two, 1)))
.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