#include "third_party/blink/renderer/core/editing/markers/suggestion_marker_list_impl.h"
#include "third_party/blink/renderer/core/editing/markers/overlapping_document_marker_list_editor.h"
#include "third_party/blink/renderer/core/editing/markers/sorted_document_marker_list_editor.h"
#include "third_party/blink/renderer/core/editing/markers/suggestion_marker_replacement_scope.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
namespace blink {
namespace {
UChar32 GetCodePointAt(const String& text, wtf_size_t index) { … }
std::optional<DocumentMarker::MarkerOffsets>
ComputeOffsetsAfterNonSuggestionEditingOperating(const DocumentMarker& marker,
const String& node_text,
unsigned offset,
unsigned old_length,
unsigned new_length) { … }
}
DocumentMarker::MarkerType SuggestionMarkerListImpl::MarkerType() const { … }
bool SuggestionMarkerListImpl::IsEmpty() const { … }
void SuggestionMarkerListImpl::Add(DocumentMarker* marker) { … }
void SuggestionMarkerListImpl::Clear() { … }
const HeapVector<Member<DocumentMarker>>& SuggestionMarkerListImpl::GetMarkers()
const { … }
DocumentMarker* SuggestionMarkerListImpl::FirstMarkerIntersectingRange(
unsigned start_offset,
unsigned end_offset) const { … }
HeapVector<Member<DocumentMarker>>
SuggestionMarkerListImpl::MarkersIntersectingRange(unsigned start_offset,
unsigned end_offset) const { … }
bool SuggestionMarkerListImpl::MoveMarkers(int length,
DocumentMarkerList* dst_list) { … }
bool SuggestionMarkerListImpl::RemoveMarkers(unsigned start_offset,
int length) { … }
bool SuggestionMarkerListImpl::ShiftMarkers(const String& node_text,
unsigned offset,
unsigned old_length,
unsigned new_length) { … }
bool SuggestionMarkerListImpl::ShiftMarkersForSuggestionReplacement(
unsigned offset,
unsigned old_length,
unsigned new_length) { … }
bool SuggestionMarkerListImpl::ShiftMarkersForNonSuggestionEditingOperation(
const String& node_text,
unsigned offset,
unsigned old_length,
unsigned new_length) { … }
void SuggestionMarkerListImpl::Trace(Visitor* visitor) const { … }
bool SuggestionMarkerListImpl::RemoveMarkerByTag(int32_t tag) { … }
bool SuggestionMarkerListImpl::RemoveMarkerByType(
const SuggestionMarker::SuggestionType& type) { … }
}