| Index: components/arc/ime/arc_ime_bridge_impl.cc
|
| diff --git a/components/arc/ime/arc_ime_bridge_impl.cc b/components/arc/ime/arc_ime_bridge_impl.cc
|
| index 6b375d9c49776d18d7362f0ed758f568ef8ef255..b575a4a8df12c368442f7f795873046eb2cc7b6c 100644
|
| --- a/components/arc/ime/arc_ime_bridge_impl.cc
|
| +++ b/components/arc/ime/arc_ime_bridge_impl.cc
|
| @@ -15,6 +15,7 @@ namespace arc {
|
| namespace {
|
|
|
| constexpr int kMinVersionForOnKeyboardsBoundsChanging = 3;
|
| +constexpr int kMinVersionForExtendSelectionAndDelete = 4;
|
|
|
| ui::TextInputType ConvertTextInputType(arc::mojom::TextInputType ipc_type) {
|
| // The two enum types are similar, but intentionally made not identical.
|
| @@ -135,6 +136,22 @@ void ArcImeBridgeImpl::SendOnKeyboardBoundsChanging(
|
| ime_instance->OnKeyboardBoundsChanging(new_bounds);
|
| }
|
|
|
| +void ArcImeBridgeImpl::SendExtendSelectionAndDelete(
|
| + size_t before, size_t after) {
|
| + mojom::ImeInstance* ime_instance = bridge_service_->ime_instance();
|
| + if (!ime_instance) {
|
| + LOG(ERROR) << "ArcImeInstance method called before being ready.";
|
| + return;
|
| + }
|
| + if (bridge_service_->ime_version() <
|
| + kMinVersionForExtendSelectionAndDelete) {
|
| + LOG(ERROR) << "ArcImeInstance is too old for ExtendSelectionAndDelete.";
|
| + return;
|
| + }
|
| +
|
| + ime_instance->ExtendSelectionAndDelete(before, after);
|
| +}
|
| +
|
| void ArcImeBridgeImpl::OnTextInputTypeChanged(arc::mojom::TextInputType type) {
|
| delegate_->OnTextInputTypeChanged(ConvertTextInputType(type));
|
| }
|
|
|