Commit f87db449 authored by Xiaocheng Hu's avatar Xiaocheng Hu Committed by Commit Bot

Improve readability of SelectionModifierCharacter

This patch improves the readability of the file by moving variable
|line_layout_item| into the iteration body and making it const.

The refactoring is correct because:
- Every time |box| is modified, |line_layout_item| is modified accordingly
- Every time |box| is modified, the iteration either breaks or continues

Bug: 771398
Change-Id: I2a4eecc27870f33a0f16e50762742fff9811cda1
Reviewed-on: https://chromium-review.googlesource.com/1026801Reviewed-by: default avatarYoshifumi Inoue <yosin@chromium.org>
Commit-Queue: Xiaocheng Hu <xiaochengh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553426}
parent 171f3b5c
...@@ -271,20 +271,21 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -271,20 +271,21 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
return Traversal::ForwardVisuallyDistinctCandidateOf(primary_direction, return Traversal::ForwardVisuallyDistinctCandidateOf(primary_direction,
deep_position); deep_position);
} }
LineLayoutItem line_layout_item = box->GetLineLayoutItem();
while (true) { while (true) {
if (IsAfterAtomicInlineOrLineBreak<Traversal>(*box, offset)) { if (IsAfterAtomicInlineOrLineBreak<Traversal>(*box, offset)) {
return Traversal::ForwardVisuallyDistinctCandidateOf(box->Direction(), return Traversal::ForwardVisuallyDistinctCandidateOf(box->Direction(),
deep_position); deep_position);
} }
const LineLayoutItem line_layout_item = box->GetLineLayoutItem();
if (!line_layout_item.GetNode()) { if (!line_layout_item.GetNode()) {
box = Traversal::ForwardLeafChildOf(*box); box = Traversal::ForwardLeafChildOf(*box);
if (!box) { if (!box) {
return Traversal::ForwardVisuallyDistinctCandidateOf( return Traversal::ForwardVisuallyDistinctCandidateOf(
primary_direction, deep_position); primary_direction, deep_position);
} }
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretEndOffsetOf(*box); offset = Traversal::CaretEndOffsetOf(*box);
continue; continue;
} }
...@@ -321,7 +322,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -321,7 +322,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
// Reposition at the other logical position corresponding to our // Reposition at the other logical position corresponding to our
// edge's visual position and go for another round. // edge's visual position and go for another round.
box = prev_box; box = prev_box;
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretEndOffsetOf(*prev_box); offset = Traversal::CaretEndOffsetOf(*prev_box);
continue; continue;
} }
...@@ -337,7 +337,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -337,7 +337,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
if (Traversal::LogicalStartBoxOf(primary_direction, *box, if (Traversal::LogicalStartBoxOf(primary_direction, *box,
logical_start)) { logical_start)) {
box = logical_start; box = logical_start;
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretMinOffsetOf(primary_direction, *box); offset = Traversal::CaretMinOffsetOf(primary_direction, *box);
} }
break; break;
...@@ -352,7 +351,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -352,7 +351,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
break; break;
box = prev_box; box = prev_box;
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretEndOffsetOf(*box); offset = Traversal::CaretEndOffsetOf(*box);
if (box->Direction() == primary_direction) if (box->Direction() == primary_direction)
break; break;
...@@ -364,7 +362,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -364,7 +362,6 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
if (prev_box) { if (prev_box) {
box = prev_box; box = prev_box;
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretEndOffsetOf(*box); offset = Traversal::CaretEndOffsetOf(*box);
if (box->BidiLevel() > level) { if (box->BidiLevel() > level) {
prev_box = Traversal::FindForwardBidiRun(*prev_box, level); prev_box = Traversal::FindForwardBidiRun(*prev_box, level);
...@@ -385,13 +382,12 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm( ...@@ -385,13 +382,12 @@ static PositionTemplate<Strategy> TraverseInternalAlgorithm(
break; break;
level = box->BidiLevel(); level = box->BidiLevel();
} }
line_layout_item = box->GetLineLayoutItem();
offset = Traversal::CaretMinOffsetOf(primary_direction, *box); offset = Traversal::CaretMinOffsetOf(primary_direction, *box);
break; break;
} }
p = PositionTemplate<Strategy>::EditingPositionOf( p = PositionTemplate<Strategy>::EditingPositionOf(
line_layout_item.GetNode(), offset); box->GetLineLayoutItem().GetNode(), offset);
if ((IsVisuallyEquivalentCandidate(p) && if ((IsVisuallyEquivalentCandidate(p) &&
MostForwardCaretPosition(p) != downstream_start) || MostForwardCaretPosition(p) != downstream_start) ||
......
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