summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/ibus
diff options
context:
space:
mode:
authorharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-19 18:36:17 +0000
committerharuki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-19 18:36:17 +0000
commitc6052d0ed2169eaf7747e8e7a56ee3c8645fc29c (patch)
tree571e555ace48a03c534606a5f89d9f90388655ff /chromeos/dbus/ibus
parentc0384241b0b43cc98cba1f8b3357928245f04b0f (diff)
downloadchromium_src-c6052d0ed2169eaf7747e8e7a56ee3c8645fc29c.zip
chromium_src-c6052d0ed2169eaf7747e8e7a56ee3c8645fc29c.tar.gz
chromium_src-c6052d0ed2169eaf7747e8e7a56ee3c8645fc29c.tar.bz2
Fix the service name argument for an ObjectProxy listening NameOwnerChanged signal. The "Rejecting a message from a wrong sender." warning was produced since the ObjectProxy has wrong service name and asks the IBus for the wrong owner information.
BUG=164525 TEST=try using Japanese IME and check the user log in chrome://system Review URL: https://chromiumcodereview.appspot.com/11590011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173959 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/ibus')
-rw-r--r--chromeos/dbus/ibus/ibus_config_client.cc5
-rw-r--r--chromeos/dbus/ibus/ibus_config_client_unittest.cc14
-rw-r--r--chromeos/dbus/ibus/ibus_constants.h3
3 files changed, 14 insertions, 8 deletions
diff --git a/chromeos/dbus/ibus/ibus_config_client.cc b/chromeos/dbus/ibus/ibus_config_client.cc
index 8be2e09..e3f0430 100644
--- a/chromeos/dbus/ibus/ibus_config_client.cc
+++ b/chromeos/dbus/ibus/ibus_config_client.cc
@@ -48,8 +48,11 @@ class IBusConfigClientImpl : public IBusConfigClient {
virtual void InitializeAsync(const OnIBusConfigReady& on_ready) OVERRIDE {
// We should check that the ibus-config daemon actually works first, so we
// can't initialize synchronously.
+ // NameOwnerChanged signal will be emitted by ibus-daemon, but from the
+ // service name kDBusServiceName instead of kServiceName. The signal will be
+ // used to detect start of ibus-daemon.
dbus::ObjectProxy* dbus_proxy = bus_->GetObjectProxy(
- ibus::kServiceName,
+ ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath));
// Watch NameOwnerChanged signal which is fired when the ibus-config daemon
diff --git a/chromeos/dbus/ibus/ibus_config_client_unittest.cc b/chromeos/dbus/ibus/ibus_config_client_unittest.cc
index bb526d6..f49fe86 100644
--- a/chromeos/dbus/ibus/ibus_config_client_unittest.cc
+++ b/chromeos/dbus/ibus/ibus_config_client_unittest.cc
@@ -307,7 +307,7 @@ class IBusConfigClientTest : public testing::Test {
ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath));
EXPECT_CALL(*mock_bus_,
- GetObjectProxy(ibus::kServiceName,
+ GetObjectProxy(ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath)))
.WillOnce(Return(mock_dbus_proxy.get()));
@@ -479,10 +479,10 @@ TEST_F(IBusConfigClientTest, IBusConfigDaemon_NotAvailableTest) {
scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
= new dbus::MockObjectProxy(mock_bus_.get(),
- ibus::kServiceName,
+ ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath));
EXPECT_CALL(*mock_bus_,
- GetObjectProxy(ibus::kServiceName,
+ GetObjectProxy(ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath)))
.WillOnce(Return(mock_dbus_proxy.get()));
EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _))
@@ -521,10 +521,10 @@ TEST_F(IBusConfigClientTest, IBusConfigDaemon_SlowInitializeTest) {
scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
= new dbus::MockObjectProxy(mock_bus_.get(),
- ibus::kServiceName,
+ ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath));
EXPECT_CALL(*mock_bus_,
- GetObjectProxy(ibus::kServiceName,
+ GetObjectProxy(ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath)))
.WillOnce(Return(mock_dbus_proxy.get()));
EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _))
@@ -573,10 +573,10 @@ TEST_F(IBusConfigClientTest, IBusConfigDaemon_ShutdownTest) {
scoped_refptr<dbus::MockObjectProxy> mock_dbus_proxy
= new dbus::MockObjectProxy(mock_bus_.get(),
- ibus::kServiceName,
+ ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath));
EXPECT_CALL(*mock_bus_,
- GetObjectProxy(ibus::kServiceName,
+ GetObjectProxy(ibus::kDBusServiceName,
dbus::ObjectPath(ibus::kDBusObjectPath)))
.WillOnce(Return(mock_dbus_proxy.get()));
EXPECT_CALL(*mock_dbus_proxy, CallMethodWithErrorCallback(_, _, _, _))
diff --git a/chromeos/dbus/ibus/ibus_constants.h b/chromeos/dbus/ibus/ibus_constants.h
index 628ac82..f375099 100644
--- a/chromeos/dbus/ibus/ibus_constants.h
+++ b/chromeos/dbus/ibus/ibus_constants.h
@@ -11,6 +11,9 @@ namespace ibus {
const char kServiceName[] = "org.freedesktop.IBus";
+// Constants used to receive NameOwner signals from ibus-daemon. Note that
+// "org.freedesktop.DBus" is used instead of "org.freedesktop.IBus" for these
+// signals.
const char kDBusServiceName[] = "org.freedesktop.DBus";
const char kDBusObjectPath[] = "/org/freedesktop/DBus";
const char kDBusInterface[] = "org.freedesktop.DBus";