#include "ui/base/ime/fake_text_input_client.h"
#include "base/check_op.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "ui/base/ime/input_method.h"
#include "ui/events/event_constants.h"
#include "ui/gfx/geometry/rect.h"
namespace ui {
FakeTextInputClient::FakeTextInputClient(TextInputType text_input_type)
: … { … }
FakeTextInputClient::FakeTextInputClient(Options options)
: … { … }
FakeTextInputClient::FakeTextInputClient(InputMethod* input_method,
Options options)
: … { … }
FakeTextInputClient::~FakeTextInputClient() { … }
void FakeTextInputClient::set_text_input_type(TextInputType text_input_type) { … }
void FakeTextInputClient::set_source_id(ukm::SourceId source_id) { … }
void FakeTextInputClient::SetTextAndSelection(const std::u16string& text,
gfx::Range selection) { … }
void FakeTextInputClient::Focus() { … }
void FakeTextInputClient::Blur() { … }
base::WeakPtr<ui::TextInputClient> FakeTextInputClient::AsWeakPtr() { … }
void FakeTextInputClient::SetCompositionText(
const CompositionText& composition) { … }
size_t FakeTextInputClient::ConfirmCompositionText(bool keep_selection) { … }
void FakeTextInputClient::ClearCompositionText() { … }
void FakeTextInputClient::InsertText(
const std::u16string& text,
TextInputClient::InsertTextCursorBehavior cursor_behavior) { … }
void FakeTextInputClient::InsertChar(const KeyEvent& event) { … }
bool FakeTextInputClient::CanInsertImage() { … }
void FakeTextInputClient::InsertImage(const GURL& src) { … }
TextInputType FakeTextInputClient::GetTextInputType() const { … }
TextInputMode FakeTextInputClient::GetTextInputMode() const { … }
base::i18n::TextDirection FakeTextInputClient::GetTextDirection() const { … }
int FakeTextInputClient::GetTextInputFlags() const { … }
void FakeTextInputClient::SetFlags(const int flags) { … }
void FakeTextInputClient::SetUrl(const GURL& url) { … }
bool FakeTextInputClient::CanComposeInline() const { … }
gfx::Rect FakeTextInputClient::GetCaretBounds() const { … }
gfx::Rect FakeTextInputClient::GetSelectionBoundingBox() const { … }
bool FakeTextInputClient::GetCompositionCharacterBounds(size_t index,
gfx::Rect* rect) const { … }
bool FakeTextInputClient::HasCompositionText() const { … }
ui::TextInputClient::FocusReason FakeTextInputClient::GetFocusReason() const { … }
bool FakeTextInputClient::GetTextRange(gfx::Range* range) const { … }
bool FakeTextInputClient::GetCompositionTextRange(gfx::Range* range) const { … }
bool FakeTextInputClient::GetEditableSelectionRange(gfx::Range* range) const { … }
bool FakeTextInputClient::SetEditableSelectionRange(const gfx::Range& range) { … }
#if BUILDFLAG(IS_MAC)
bool FakeTextInputClient::DeleteRange(const gfx::Range& range) {
return false;
}
#endif
bool FakeTextInputClient::GetTextFromRange(const gfx::Range& range,
std::u16string* text) const { … }
void FakeTextInputClient::OnInputMethodChanged() { … }
bool FakeTextInputClient::ChangeTextDirectionAndLayoutAlignment(
base::i18n::TextDirection direction) { … }
void FakeTextInputClient::ExtendSelectionAndDelete(size_t before,
size_t after) { … }
void FakeTextInputClient::EnsureCaretNotInRect(const gfx::Rect& rect) { … }
bool FakeTextInputClient::IsTextEditCommandEnabled(
TextEditCommand command) const { … }
void FakeTextInputClient::SetTextEditCommandForNextKeyEvent(
TextEditCommand command) { … }
ukm::SourceId FakeTextInputClient::GetClientSourceForMetrics() const { … }
bool FakeTextInputClient::ShouldDoLearning() { … }
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
bool FakeTextInputClient::SetCompositionFromExistingText(
const gfx::Range& range,
const std::vector<ui::ImeTextSpan>& ui_ime_text_spans) { … }
#endif
#if BUILDFLAG(IS_CHROMEOS)
gfx::Range FakeTextInputClient::GetAutocorrectRange() const {
return autocorrect_range_;
}
gfx::Rect FakeTextInputClient::GetAutocorrectCharacterBounds() const {
return {};
}
bool FakeTextInputClient::SetAutocorrectRange(const gfx::Range& range) {
autocorrect_range_ = range;
return true;
}
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS)
void FakeTextInputClient::GetActiveTextInputControlLayoutBounds(
std::optional<gfx::Rect>* control_bounds,
std::optional<gfx::Rect>* selection_bounds) {}
#endif
#if BUILDFLAG(IS_WIN)
void FakeTextInputClient::SetActiveCompositionForAccessibility(
const gfx::Range& range,
const std::u16string& active_composition_text,
bool is_composition_committed) {}
#endif
#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_CHROMEOS_ASH)
ui::TextInputClient::EditingContext
FakeTextInputClient::GetTextEditingContext() {
return EditingContext{.page_url = url_};
}
#endif
}