diff options
author | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-19 18:36:17 +0000 |
---|---|---|
committer | haruki@chromium.org <haruki@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-19 18:36:17 +0000 |
commit | c6052d0ed2169eaf7747e8e7a56ee3c8645fc29c (patch) | |
tree | 571e555ace48a03c534606a5f89d9f90388655ff /chromeos/dbus/ibus | |
parent | c0384241b0b43cc98cba1f8b3357928245f04b0f (diff) | |
download | chromium_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.cc | 5 | ||||
-rw-r--r-- | chromeos/dbus/ibus/ibus_config_client_unittest.cc | 14 | ||||
-rw-r--r-- | chromeos/dbus/ibus/ibus_constants.h | 3 |
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"; |