#include "third_party/blink/renderer/core/editing/local_caret_rect.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/inline_box_position.h"
#include "third_party/blink/renderer/core/editing/ng_flat_tree_shorthands.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/visible_position.h"
#include "third_party/blink/renderer/core/layout/inline/caret_rect.h"
#include "third_party/blink/renderer/core/layout/inline/inline_caret_position.h"
#include "third_party/blink/renderer/core/layout/layout_block_flow.h"
#include "ui/gfx/geometry/rect_conversions.h"
namespace blink {
namespace {
template <typename Strategy>
PositionWithAffinityTemplate<Strategy> AdjustForInlineCaretPosition(
const PositionWithAffinityTemplate<Strategy>& position_with_affinity) { … }
template <typename Strategy>
LocalCaretRect LocalCaretRectOfPositionTemplate(
const PositionWithAffinityTemplate<Strategy>& position,
LayoutUnit* extra_width_to_end_of_line,
EditingBoundaryCrossingRule rule) { … }
template <typename Strategy>
LocalCaretRect LocalSelectionRectOfPositionTemplate(
const PositionWithAffinityTemplate<Strategy>& position) { … }
}
LocalCaretRect LocalCaretRectOfPosition(const PositionWithAffinity& position,
EditingBoundaryCrossingRule rule) { … }
LocalCaretRect LocalCaretRectOfPosition(
const PositionInFlatTreeWithAffinity& position,
EditingBoundaryCrossingRule rule) { … }
LocalCaretRect LocalSelectionRectOfPosition(
const PositionWithAffinity& position) { … }
template <typename Strategy>
static gfx::Rect AbsoluteCaretBoundsOfAlgorithm(
const PositionWithAffinityTemplate<Strategy>& position,
LayoutUnit* extra_width_to_end_of_line,
EditingBoundaryCrossingRule rule) { … }
gfx::Rect AbsoluteCaretBoundsOf(const PositionWithAffinity& position,
LayoutUnit* extra_width_to_end_of_line,
EditingBoundaryCrossingRule rule) { … }
template <typename Strategy>
static gfx::Rect AbsoluteSelectionBoundsOfAlgorithm(
const VisiblePositionTemplate<Strategy>& visible_position) { … }
gfx::Rect AbsoluteSelectionBoundsOf(const VisiblePosition& visible_position) { … }
gfx::Rect AbsoluteCaretBoundsOf(
const PositionInFlatTreeWithAffinity& position) { … }
}