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

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

Issue 1596663002: arc-bridge: Introduce the ArcService class (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Fixed Chrome OS builds Created 4 years, 11 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_ipc_host.cc
diff --git a/components/arc/ime/arc_ime_ipc_host.cc b/components/arc/ime/arc_ime_ipc_host.cc
index 93fcef43325261c16d63b3e6512c797810bdcb04..86a3bc5b185097fbd07b1a4b63192716b02a2100 100644
--- a/components/arc/ime/arc_ime_ipc_host.cc
+++ b/components/arc/ime/arc_ime_ipc_host.cc
@@ -70,24 +70,33 @@ mojo::Array<arc::CompositionSegmentPtr> ConvertSegments(
} // namespace
ArcImeIpcHost::ArcImeIpcHost(Delegate* delegate,
- ArcBridgeService* bridge_service)
- : binding_(this), delegate_(delegate), bridge_service_(bridge_service) {
- bridge_service_->AddObserver(this);
+ ArcBridgeService* arc_bridge_service)
+ : arc_bridge_service_(arc_bridge_service),
+ binding_(this),
+ delegate_(delegate) {
+ DCHECK(arc_bridge_service_);
+ arc_bridge_service_->AddObserver(this);
+
+ // If ImeInstance was ready before we AddObserver(), we won't get
+ // OnImeInstanceReady events. For such case, we have to call it
+ // explicitly.
+ if (arc_bridge_service_->ime_instance())
elijahtaylor1 2016/01/20 00:41:19 I don't think I understand why this can't be done
Luis Héctor Chávez 2016/01/20 17:39:59 Hmmm adding it to AddObserver might work. Regardle
Luis Héctor Chávez 2016/01/20 18:40:46 This is now done.
+ OnImeInstanceReady();
}
ArcImeIpcHost::~ArcImeIpcHost() {
- bridge_service_->RemoveObserver(this);
+ arc_bridge_service_->RemoveObserver(this);
}
void ArcImeIpcHost::OnImeInstanceReady() {
arc::ImeHostPtr host;
binding_.Bind(mojo::GetProxy(&host));
- bridge_service_->ime_instance()->Init(std::move(host));
+ arc_bridge_service_->ime_instance()->Init(std::move(host));
}
void ArcImeIpcHost::SendSetCompositionText(
const ui::CompositionText& composition) {
- ImeInstance* ime_instance = bridge_service_->ime_instance();
+ ImeInstance* ime_instance = arc_bridge_service_->ime_instance();
if (!ime_instance) {
LOG(ERROR) << "ArcImeInstance method called before being ready.";
return;
@@ -98,7 +107,7 @@ void ArcImeIpcHost::SendSetCompositionText(
}
void ArcImeIpcHost::SendConfirmCompositionText() {
- ImeInstance* ime_instance = bridge_service_->ime_instance();
+ ImeInstance* ime_instance = arc_bridge_service_->ime_instance();
if (!ime_instance) {
LOG(ERROR) << "ArcImeInstance method called before being ready.";
return;
@@ -108,7 +117,7 @@ void ArcImeIpcHost::SendConfirmCompositionText() {
}
void ArcImeIpcHost::SendInsertText(const base::string16& text) {
- ImeInstance* ime_instance = bridge_service_->ime_instance();
+ ImeInstance* ime_instance = arc_bridge_service_->ime_instance();
if (!ime_instance) {
LOG(ERROR) << "ArcImeInstance method called before being ready.";
return;

Powered by Google App Engine
This is Rietveld 408576698