diff options
author | lambroslambrou@google.com <lambroslambrou@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-22 00:30:16 +0000 |
---|---|---|
committer | lambroslambrou@google.com <lambroslambrou@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-11-22 00:30:16 +0000 |
commit | 1c312401aa737ff868e6c6af92ca4a38387cdb5f (patch) | |
tree | 91ff6094f0dc07468e138a24bd81d520512a4c1f /dbus/object_proxy.cc | |
parent | 6053a5915fd25b5ffcf7763713fb5c319d0a4b01 (diff) | |
download | chromium_src-1c312401aa737ff868e6c6af92ca4a38387cdb5f.zip chromium_src-1c312401aa737ff868e6c6af92ca4a38387cdb5f.tar.gz chromium_src-1c312401aa737ff868e6c6af92ca4a38387cdb5f.tar.bz2 |
Revert 169164 - Allow multiple object proxies to handle NameOwnerChanged
Failed on Linux ChromiumOS Tests:
SignalSenderVerificationTest.TestMultipleObjects:
[4218:4244:1121/160846:447516037:ERROR:object_proxy.cc(624)] Failed to get name owner. Got org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'org.chromium.TestService': no such name
[4218:4244:1121/160846:447531010:ERROR:bus.cc(444)] Failed to get the ownership of org.chromium.TestService:
[4218:4248:1121/160846:447531228:ERROR:test_service.cc(134)] Failed to own: org.chromium.TestService
dbus/signal_sender_verification_unittest.cc:302: Failure
Value of: on_name_owner_changed_called_
Actual: false
Expected: true
[4218:4244:1121/160846:447535382:ERROR:bus.cc(604)] Requested to remove an unknown match rule: type='signal',interface='org.freedesktop.DBus',member='NameOwnerChanged',path='/org/freedesktop/DBus',sender='org.freedesktop.DBus',arg0='org.chromium.TestService'
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/12886/steps/dbus_unittests/logs/TestMultipleObjects
Multiple object proxies may be registered for any single D-Bus service, one per interface. Returning "handled" means only the first interface object proxy gets to handle the signal, others never see it.
Change to always return "not yet handled", while this means D-Bus never knows we actually handled the NameOwnerChanged signal, that's quite ok and is actually what all other bindings do for all signals.
BUG=chromium-os:36486
TEST=dbus_unittests
Review URL: https://chromiumcodereview.appspot.com/11280073
TBR=keybuk@chromium.org
Review URL: https://codereview.chromium.org/11299149
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169170 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/object_proxy.cc')
-rw-r--r-- | dbus/object_proxy.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/dbus/object_proxy.cc b/dbus/object_proxy.cc index b20f544..87950d1 100644 --- a/dbus/object_proxy.cc +++ b/dbus/object_proxy.cc @@ -661,11 +661,11 @@ DBusHandlerResult ObjectProxy::HandleNameOwnerChanged( name_owner_changed_callback_, released_signal)); } + return DBUS_HANDLER_RESULT_HANDLED; } } - // Always return unhandled to let other object proxies handle the same - // signal. + // Untrusted or uninteresting signal return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; } |