Commit 64d0d824 authored by Yoshifumi Inoue's avatar Yoshifumi Inoue Committed by Commit Bot

Move FrameSelection::VerticalDirection to SelectionModifyVerticalDirection

This patch renames |FrameSelection::VerticalDirection| to
|SelectionModifyVerticalDirection| since it is used for a parameter of
|SelectionModifier::ModifyWithPageGranularity()| for improving code health.

Change-Id: Ic7c5c53a5b7d6cdb2f4c5350a4b7074d522ef5ef
Reviewed-on: https://chromium-review.googlesource.com/578911
Commit-Queue: Yoshifumi Inoue <yosin@chromium.org>
Reviewed-by: default avatarYoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488170}
parent b4b56a2c
......@@ -141,7 +141,6 @@ class CORE_EXPORT FrameSelection final
SelectionDirection,
TextGranularity,
EUserTriggered = kNotUserTriggered);
enum VerticalDirection { kDirectionUp, kDirectionDown };
// Moves the selection extent based on the selection granularity strategy.
// This function does not allow the selection to collapse. If the new
......
......@@ -715,7 +715,7 @@ static bool AbsoluteCaretY(const VisiblePosition& c, int& y) {
bool SelectionModifier::ModifyWithPageGranularity(
SelectionModifyAlteration alter,
unsigned vertical_distance,
VerticalDirection direction) {
SelectionModifyVerticalDirection direction) {
if (!vertical_distance)
return false;
......@@ -725,7 +725,7 @@ bool SelectionModifier::ModifyWithPageGranularity(
if (alter == SelectionModifyAlteration::kExtend) {
selection_ = CreateVisibleSelection(PrepareToExtendSeelction(
selection_, direction == FrameSelection::kDirectionUp
selection_, direction == SelectionModifyVerticalDirection::kUp
? kDirectionBackward
: kDirectionForward));
}
......@@ -734,12 +734,14 @@ bool SelectionModifier::ModifyWithPageGranularity(
LayoutUnit x_pos;
switch (alter) {
case SelectionModifyAlteration::kMove:
pos = CreateVisiblePosition(direction == FrameSelection::kDirectionUp
pos = CreateVisiblePosition(
direction == SelectionModifyVerticalDirection::kUp
? selection_.Start()
: selection_.End(),
selection_.Affinity());
x_pos = LineDirectionPointForBlockDirectionNavigation(
direction == FrameSelection::kDirectionUp ? selection_.Start()
direction == SelectionModifyVerticalDirection::kUp
? selection_.Start()
: selection_.End());
break;
case SelectionModifyAlteration::kExtend:
......@@ -752,14 +754,14 @@ bool SelectionModifier::ModifyWithPageGranularity(
int start_y;
if (!AbsoluteCaretY(pos, start_y))
return false;
if (direction == FrameSelection::kDirectionUp)
if (direction == SelectionModifyVerticalDirection::kUp)
start_y = -start_y;
int last_y = start_y;
VisiblePosition result;
VisiblePosition next;
for (VisiblePosition p = pos;; p = next) {
if (direction == FrameSelection::kDirectionUp)
if (direction == SelectionModifyVerticalDirection::kUp)
next = PreviousLinePosition(p, x_pos);
else
next = NextLinePosition(p, x_pos);
......@@ -769,7 +771,7 @@ bool SelectionModifier::ModifyWithPageGranularity(
int next_y;
if (!AbsoluteCaretY(next, next_y))
break;
if (direction == FrameSelection::kDirectionUp)
if (direction == SelectionModifyVerticalDirection::kUp)
next_y = -next_y;
if (next_y - start_y > static_cast<int>(vertical_distance))
break;
......@@ -788,7 +790,7 @@ bool SelectionModifier::ModifyWithPageGranularity(
SelectionInDOMTree::Builder()
.Collapse(result.ToPositionWithAffinity())
.SetIsDirectional(ShouldAlwaysUseDirectionalSelection(GetFrame()))
.SetAffinity(direction == FrameSelection::kDirectionUp
.SetAffinity(direction == SelectionModifyVerticalDirection::kUp
? TextAffinity::kUpstream
: TextAffinity::kDownstream)
.Build());
......
......@@ -28,20 +28,21 @@
#define SelectionModifier_h
#include "base/macros.h"
#include "core/editing/FrameSelection.h"
#include "core/editing/VisibleSelection.h"
#include "platform/LayoutUnit.h"
#include "platform/wtf/Allocator.h"
namespace blink {
class LocalFrame;
enum class SelectionModifyAlteration { kMove, kExtend };
enum class SelectionModifyVerticalDirection { kUp, kDown };
class SelectionModifier {
STACK_ALLOCATED();
public:
using VerticalDirection = FrameSelection::VerticalDirection;
// |frame| is used for providing settings.
SelectionModifier(const LocalFrame& /* frame */,
const VisibleSelection&,
......@@ -56,7 +57,7 @@ class SelectionModifier {
bool Modify(SelectionModifyAlteration, SelectionDirection, TextGranularity);
bool ModifyWithPageGranularity(SelectionModifyAlteration,
unsigned vertical_distance,
VerticalDirection);
SelectionModifyVerticalDirection);
private:
LocalFrame* GetFrame() const { return frame_; }
......
......@@ -1231,7 +1231,7 @@ bool ModifySelectionyWithPageGranularity(
LocalFrame& frame,
SelectionModifyAlteration alter,
unsigned vertical_distance,
FrameSelection::VerticalDirection direction) {
SelectionModifyVerticalDirection direction) {
SelectionModifier selection_modifier(
frame, frame.Selection().ComputeVisibleSelectionInDOMTree());
if (!selection_modifier.ModifyWithPageGranularity(alter, vertical_distance,
......@@ -1258,7 +1258,7 @@ static bool ExecuteMovePageDown(LocalFrame& frame,
return false;
return ModifySelectionyWithPageGranularity(
frame, SelectionModifyAlteration::kMove, distance,
FrameSelection::kDirectionDown);
SelectionModifyVerticalDirection::kDown);
}
static bool ExecuteMovePageDownAndModifySelection(LocalFrame& frame,
......@@ -1270,7 +1270,7 @@ static bool ExecuteMovePageDownAndModifySelection(LocalFrame& frame,
return false;
return ModifySelectionyWithPageGranularity(
frame, SelectionModifyAlteration::kExtend, distance,
FrameSelection::kDirectionDown);
SelectionModifyVerticalDirection::kDown);
}
static bool ExecuteMovePageUp(LocalFrame& frame,
......@@ -1282,7 +1282,7 @@ static bool ExecuteMovePageUp(LocalFrame& frame,
return false;
return ModifySelectionyWithPageGranularity(
frame, SelectionModifyAlteration::kMove, distance,
FrameSelection::kDirectionUp);
SelectionModifyVerticalDirection::kUp);
}
static bool ExecuteMovePageUpAndModifySelection(LocalFrame& frame,
......@@ -1294,7 +1294,7 @@ static bool ExecuteMovePageUpAndModifySelection(LocalFrame& frame,
return false;
return ModifySelectionyWithPageGranularity(
frame, SelectionModifyAlteration::kExtend, distance,
FrameSelection::kDirectionUp);
SelectionModifyVerticalDirection::kUp);
}
static bool ExecuteMoveRight(LocalFrame& frame,
......
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