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

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

Issue 2347293002: arc: Add InstanceHelper::GetInstanceForMethod() (Closed)
Patch Set: Addressed feedback 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..68308e0b49b7a1217e46d8194d53b005221cc79b 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;
+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, "InsertText");
+ 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