Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: components/arc/ime/arc_ime_bridge_impl.cc

Issue 2347293002: arc: Add InstanceHelper::GetInstanceForMethod() (Closed)
Patch Set: git cl format/lint Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698