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); |
} |