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