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)); |
+ |
} |
} |