Chromium Code Reviews| 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 59b334f3b4a9240646cdc0f5da0eb3512b215420..7100d61f1c9ec27e60e3b9c92032a808fc329fb3 100644 |
| --- a/components/arc/ime/arc_ime_bridge_impl.cc |
| +++ b/components/arc/ime/arc_ime_bridge_impl.cc |
| @@ -16,8 +16,9 @@ |
| namespace arc { |
| namespace { |
| -constexpr int kMinVersionForOnKeyboardsBoundsChanging = 3; |
| -constexpr int kMinVersionForExtendSelectionAndDelete = 4; |
| +constexpr uint32_t kMinInstanceVersion = 0; |
|
Yusuke Sato
2016/09/16 23:58:48
You didn't introduce version zero checks for BT, s
Luis Héctor Chávez
2016/09/17 00:30:53
Added version zero checks for BT.
Yusuke Sato
2016/09/17 01:38:56
Ok, so I think you're saying that we should always
|
| +constexpr uint32_t kMinVersionForOnKeyboardsBoundsChanging = 3; |
| +constexpr uint32_t kMinVersionForExtendSelectionAndDelete = 4; |
| ui::TextInputType ConvertTextInputType(arc::mojom::TextInputType ipc_type) { |
| // The two enum types are similar, but intentionally made not identical. |
| @@ -94,64 +95,49 @@ void ArcImeBridgeImpl::OnInstanceReady() { |
| void ArcImeBridgeImpl::SendSetCompositionText( |
| const ui::CompositionText& composition) { |
| - mojom::ImeInstance* ime_instance = bridge_service_->ime()->instance(); |
| - if (!ime_instance) { |
| - LOG(ERROR) << "ArcImeInstance method called before being ready."; |
| + auto* ime_instance = bridge_service_->ime()->GetInstanceForVersion( |
| + kMinInstanceVersion, "SetCompositionText"); |
| + if (!ime_instance) |
| return; |
| - } |
| ime_instance->SetCompositionText(base::UTF16ToUTF8(composition.text), |
| ConvertSegments(composition)); |
| } |
| void ArcImeBridgeImpl::SendConfirmCompositionText() { |
| - mojom::ImeInstance* ime_instance = bridge_service_->ime()->instance(); |
| - if (!ime_instance) { |
| - LOG(ERROR) << "ArcImeInstance method called before being ready."; |
| + auto* ime_instance = bridge_service_->ime()->GetInstanceForVersion( |
| + kMinInstanceVersion, "ConfirmCompositionText"); |
| + if (!ime_instance) |
| return; |
| - } |
| ime_instance->ConfirmCompositionText(); |
| } |
| void ArcImeBridgeImpl::SendInsertText(const base::string16& text) { |
| - mojom::ImeInstance* ime_instance = bridge_service_->ime()->instance(); |
| - if (!ime_instance) { |
| - LOG(ERROR) << "ArcImeInstance method called before being ready."; |
| + auto* ime_instance = bridge_service_->ime()->GetInstanceForVersion( |
| + kMinInstanceVersion, "SendInsertText"); |
|
Yusuke Sato
2016/09/16 23:58:48
s/Send// ?
Luis Héctor Chávez
2016/09/17 00:30:53
Done.
|
| + if (!ime_instance) |
| return; |
| - } |
| ime_instance->InsertText(base::UTF16ToUTF8(text)); |
| } |
| void ArcImeBridgeImpl::SendOnKeyboardBoundsChanging( |
| const gfx::Rect& new_bounds) { |
| - 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() < |
| - kMinVersionForOnKeyboardsBoundsChanging) { |
| - LOG(ERROR) << "ArcImeInstance is too old for OnKeyboardsBoundsChanging."; |
| + auto* ime_instance = bridge_service_->ime()->GetInstanceForVersion( |
| + kMinVersionForOnKeyboardsBoundsChanging, "OnKeyboardBoundsChanging"); |
| + if (!ime_instance) |
| return; |
| - } |
| 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."; |
| + auto* ime_instance = bridge_service_->ime()->GetInstanceForVersion( |
| + kMinVersionForExtendSelectionAndDelete, "ExtendSelectionAndDelete"); |
| + if (!ime_instance) |
| return; |
| - } |
| ime_instance->ExtendSelectionAndDelete(before, after); |
| } |