Chromium Code Reviews| Index: chrome/browser/sync/engine/model_changing_syncer_command.cc |
| diff --git a/chrome/browser/sync/engine/model_changing_syncer_command.cc b/chrome/browser/sync/engine/model_changing_syncer_command.cc |
| index 797f795f96bd08580aeb6ac466459e231e7c7763..c31e60f9bdf8afc12fb8637a72c5c02b8948f5d5 100644 |
| --- a/chrome/browser/sync/engine/model_changing_syncer_command.cc |
| +++ b/chrome/browser/sync/engine/model_changing_syncer_command.cc |
| @@ -5,11 +5,14 @@ |
| #include "chrome/browser/sync/engine/model_changing_syncer_command.h" |
| #include "base/callback_old.h" |
| +#include "base/basictypes.h" |
|
akalin
2011/10/26 01:44:45
put before callback_old.h
|
| #include "chrome/browser/sync/engine/model_safe_worker.h" |
| #include "chrome/browser/sync/sessions/status_controller.h" |
| #include "chrome/browser/sync/sessions/sync_session.h" |
| +#include "chrome/browser/sync/sessions/unrecoverable_error_info.h" |
| namespace browser_sync { |
| +using sessions::UnrecoverableErrorInfo; |
| void ModelChangingSyncerCommand::ExecuteImpl(sessions::SyncSession* session) { |
| work_session_ = session; |
| @@ -45,9 +48,15 @@ void ModelChangingSyncerCommand::ExecuteImpl(sessions::SyncSession* session) { |
| sessions::StatusController* status = work_session_->status_controller(); |
| sessions::ScopedModelSafeGroupRestriction r(status, group); |
| - scoped_ptr<Callback0::Type> c(NewCallback(this, |
| - &ModelChangingSyncerCommand::StartChangingModel)); |
| - worker->DoWorkAndWaitUntilDone(c.get()); |
| + WorkCallback c = base::Bind( |
| + &ModelChangingSyncerCommand::StartChangingModel, |
| + // We wait until the callback is executed. So it is safe to use |
| + // unretained. |
| + base::Unretained(this)); |
| + |
| + // TODO(lipalani): Check the return value for an unrecoverable error. |
| + ignore_result(worker->DoWorkAndWaitUntilDone(c)); |
| + |
| } |
| } |