#include "ui/base/ime/surrounding_text_tracker.h"
#include <string_view>
#include <utility>
#include "base/check.h"
#include "base/logging.h"
#include "base/notreached.h"
namespace ui {
namespace {
void ReplaceString16WithOffset(std::u16string& str,
size_t& offset,
size_t pos,
size_t n,
const std::u16string& replacement) { … }
void EraseString16WithOffset(std::u16string& str,
size_t& offset,
size_t pos,
size_t n) { … }
}
gfx::Range SurroundingTextTracker::State::GetSurroundingTextRange() const { … }
std::optional<std::u16string_view>
SurroundingTextTracker::State::GetCompositionText() const { … }
SurroundingTextTracker::Entry::Entry(State state,
base::RepeatingClosure command)
: … { … }
SurroundingTextTracker::Entry::Entry(const Entry&) = default;
SurroundingTextTracker::Entry::Entry(Entry&&) = default;
SurroundingTextTracker::Entry& SurroundingTextTracker::Entry::operator=(
const Entry&) = default;
SurroundingTextTracker::Entry& SurroundingTextTracker::Entry::operator=(
Entry&&) = default;
SurroundingTextTracker::Entry::~Entry() = default;
SurroundingTextTracker::SurroundingTextTracker() { … }
SurroundingTextTracker::~SurroundingTextTracker() = default;
void SurroundingTextTracker::Reset() { … }
void SurroundingTextTracker::CancelComposition() { … }
SurroundingTextTracker::UpdateResult SurroundingTextTracker::Update(
const std::u16string_view surrounding_text,
size_t utf16_offset,
const gfx::Range& selection) { … }
void SurroundingTextTracker::OnSetEditableSelectionRange(
const gfx::Range& range) { … }
void SurroundingTextTracker::OnSetCompositionText(
const ui::CompositionText& composition) { … }
void SurroundingTextTracker::OnSetCompositionFromExistingText(
const gfx::Range& range) { … }
void SurroundingTextTracker::OnConfirmCompositionText(bool keep_selection) { … }
void SurroundingTextTracker::OnClearCompositionText() { … }
void SurroundingTextTracker::OnInsertText(
const std::u16string_view text,
TextInputClient::InsertTextCursorBehavior cursor_behavior) { … }
void SurroundingTextTracker::OnExtendSelectionAndDelete(size_t before,
size_t after) { … }
void SurroundingTextTracker::ResetInternal(std::u16string_view surrounding_text,
size_t utf16_offset,
const gfx::Range& selection) { … }
}