#include "third_party/blink/renderer/core/editing/granularity_strategy.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/frame_selection.h"
#include "third_party/blink/renderer/core/editing/local_caret_rect.h"
#include "third_party/blink/renderer/core/editing/selection_template.h"
#include "third_party/blink/renderer/core/editing/visible_position.h"
#include "third_party/blink/renderer/core/editing/visible_selection.h"
#include "third_party/blink/renderer/core/editing/visible_units.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
namespace blink {
enum class BoundAdjust { … };
enum class SearchDirection { … };
static gfx::Point PositionLocation(const VisiblePosition& vp) { … }
static bool ArePositionsInSpecifiedOrder(const VisiblePosition& vp1,
const VisiblePosition& vp2,
int specified_order) { … }
static Position NextWordBound(const Position& pos,
SearchDirection direction,
BoundAdjust word_bound_adjust) { … }
GranularityStrategy::GranularityStrategy() = default;
GranularityStrategy::~GranularityStrategy() = default;
CharacterGranularityStrategy::CharacterGranularityStrategy() = default;
CharacterGranularityStrategy::~CharacterGranularityStrategy() = default;
SelectionStrategy CharacterGranularityStrategy::GetType() const { … }
void CharacterGranularityStrategy::Clear() { … }
SelectionInDOMTree CharacterGranularityStrategy::UpdateExtent(
const gfx::Point& extent_point,
LocalFrame* frame) { … }
DirectionGranularityStrategy::DirectionGranularityStrategy()
: … { … }
DirectionGranularityStrategy::~DirectionGranularityStrategy() = default;
SelectionStrategy DirectionGranularityStrategy::GetType() const { … }
void DirectionGranularityStrategy::Clear() { … }
SelectionInDOMTree DirectionGranularityStrategy::UpdateExtent(
const gfx::Point& extent_point,
LocalFrame* frame) { … }
}