#include "third_party/blink/renderer/core/editing/caret_display_item_client.h"
#include "third_party/blink/renderer/core/display_lock/display_lock_utilities.h"
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/local_caret_rect.h"
#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/visible_units.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/layout/layout_block.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/paint/object_paint_invalidator.h"
#include "third_party/blink/renderer/core/paint/paint_auto_dark_mode.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/paint_invalidator.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor.h"
#include "third_party/blink/renderer/platform/graphics/dark_mode_filter.h"
#include "third_party/blink/renderer/platform/graphics/graphics_context.h"
#include "third_party/blink/renderer/platform/graphics/paint/drawing_recorder.h"
namespace blink {
CaretDisplayItemClient::CaretDisplayItemClient() = default;
CaretDisplayItemClient::~CaretDisplayItemClient() = default;
void CaretDisplayItemClient::Trace(Visitor* visitor) const { … }
namespace {
inline bool CaretRendersInsideNode(const Node* node) { … }
LayoutBlock* CaretLayoutBlock(const Node* node,
const LayoutObject* layout_object) { … }
PhysicalRect MapCaretRectToCaretPainter(const LayoutBlock* caret_block,
const LocalCaretRect& caret_rect) { … }
}
CaretDisplayItemClient::CaretRectAndPainterBlock
CaretDisplayItemClient::ComputeCaretRectAndPainterBlock(
const PositionWithAffinity& caret_position) { … }
void CaretDisplayItemClient::LayoutBlockWillBeDestroyed(
const LayoutBlock& block) { … }
bool CaretDisplayItemClient::ShouldPaintCaret(
const PhysicalBoxFragment& box_fragment) const { … }
void CaretDisplayItemClient::UpdateStyleAndLayoutIfNeeded(
const PositionWithAffinity& caret_position) { … }
void CaretDisplayItemClient::SetActive(bool active) { … }
void CaretDisplayItemClient::EnsureInvalidationOfPreviousLayoutBlock() { … }
void CaretDisplayItemClient::InvalidatePaint(
const LayoutBlock& block,
const PaintInvalidatorContext& context) { … }
void CaretDisplayItemClient::InvalidatePaintInPreviousLayoutBlock(
const PaintInvalidatorContext& context) { … }
void CaretDisplayItemClient::InvalidatePaintInCurrentLayoutBlock(
const PaintInvalidatorContext& context) { … }
void CaretDisplayItemClient::PaintCaret(
GraphicsContext& context,
const PhysicalOffset& paint_offset,
DisplayItem::Type display_item_type) const { … }
void CaretDisplayItemClient::RecordSelection(GraphicsContext& context,
const PhysicalOffset& paint_offset,
gfx::SelectionBound::Type type) { … }
String CaretDisplayItemClient::DebugName() const { … }
}