| Index: dbus/object_proxy.cc
|
| diff --git a/dbus/object_proxy.cc b/dbus/object_proxy.cc
|
| index 441dc757bd707add204cd4b07f53a74edca27b33..3d410a3ba0e1b044d5f693096263911e8be4b575 100644
|
| --- a/dbus/object_proxy.cc
|
| +++ b/dbus/object_proxy.cc
|
| @@ -329,7 +329,7 @@ void ObjectProxy::RunResponseCallback(ResponseCallback response_callback,
|
| bus_->GetDBusTaskRunner()->PostTask(
|
| FROM_HERE,
|
| base::Bind(&base::DeletePointer<ErrorResponse>,
|
| - error_response.release()));
|
| + base::Passed(&error_response)));
|
| } else {
|
| // This will take |response_message| and release (unref) it.
|
| scoped_ptr<Response> response(Response::FromRawMessage(response_message));
|
| @@ -355,7 +355,7 @@ void ObjectProxy::RunResponseCallback(ResponseCallback response_callback,
|
| // thread, not from the current thread here, which is likely UI thread.
|
| bus_->GetDBusTaskRunner()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&base::DeletePointer<Response>, response.release()));
|
| + base::Bind(&base::DeletePointer<Response>, base::Passed(&response)));
|
|
|
| method_call_successful = true;
|
| // Record time spent for the method call. Don't include failures.
|
| @@ -506,19 +506,17 @@ DBusHandlerResult ObjectProxy::HandleMessage(
|
| // Post a task to run the method in the origin thread.
|
| // Transfer the ownership of |signal| to RunMethod().
|
| // |released_signal| will be deleted in RunMethod().
|
| - Signal* released_signal = signal.release();
|
| bus_->GetOriginTaskRunner()->PostTask(FROM_HERE,
|
| base::Bind(&ObjectProxy::RunMethod,
|
| this,
|
| start_time,
|
| iter->second,
|
| - released_signal));
|
| + base::Passed(&signal)));
|
| } else {
|
| const base::TimeTicks start_time = base::TimeTicks::Now();
|
| // If the D-Bus thread is not used, just call the callback on the
|
| // current thread. Transfer the ownership of |signal| to RunMethod().
|
| - Signal* released_signal = signal.release();
|
| - RunMethod(start_time, iter->second, released_signal);
|
| + RunMethod(start_time, iter->second, signal.Pass());
|
| }
|
|
|
| // We don't return DBUS_HANDLER_RESULT_HANDLED for signals because other
|
| @@ -528,18 +526,18 @@ DBusHandlerResult ObjectProxy::HandleMessage(
|
|
|
| void ObjectProxy::RunMethod(base::TimeTicks start_time,
|
| std::vector<SignalCallback> signal_callbacks,
|
| - Signal* signal) {
|
| + scoped_ptr<Signal> signal) {
|
| bus_->AssertOnOriginThread();
|
|
|
| for (std::vector<SignalCallback>::iterator iter = signal_callbacks.begin();
|
| iter != signal_callbacks.end(); ++iter)
|
| - iter->Run(signal);
|
| + iter->Run(signal.get());
|
|
|
| // Delete the message on the D-Bus thread. See comments in
|
| // RunResponseCallback().
|
| bus_->GetDBusTaskRunner()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&base::DeletePointer<Signal>, signal));
|
| + base::Bind(&base::DeletePointer<Signal>, base::Passed(&signal)));
|
|
|
| // Record time spent for handling the signal.
|
| UMA_HISTOGRAM_TIMES("DBus.SignalHandleTime",
|
|
|