| Index: chrome/browser/sync/glue/password_model_worker.cc
|
| diff --git a/chrome/browser/sync/glue/password_model_worker.cc b/chrome/browser/sync/glue/password_model_worker.cc
|
| index 1b4ad83f9bb8f478ed90824711b261c7a0f48fab..2d0d7038a617350d345b3178f652158822f50daa 100644
|
| --- a/chrome/browser/sync/glue/password_model_worker.cc
|
| +++ b/chrome/browser/sync/glue/password_model_worker.cc
|
| @@ -13,6 +13,7 @@
|
| using base::WaitableEvent;
|
|
|
| namespace browser_sync {
|
| +using sessions::UnrecoverableErrorInfo;
|
|
|
| PasswordModelWorker::PasswordModelWorker(PasswordStore* password_store)
|
| : password_store_(password_store) {
|
| @@ -21,17 +22,22 @@ PasswordModelWorker::PasswordModelWorker(PasswordStore* password_store)
|
|
|
| PasswordModelWorker::~PasswordModelWorker() {}
|
|
|
| -void PasswordModelWorker::DoWorkAndWaitUntilDone(Callback0::Type* work) {
|
| +UnrecoverableErrorInfo PasswordModelWorker::DoWorkAndWaitUntilDone(
|
| + const WorkCallback& work) {
|
| WaitableEvent done(false, false);
|
| + UnrecoverableErrorInfo error_info;
|
| password_store_->ScheduleTask(
|
| NewRunnableMethod(this, &PasswordModelWorker::CallDoWorkAndSignalTask,
|
| - work, &done));
|
| + work, &done, &error_info));
|
| done.Wait();
|
| + return error_info;
|
| }
|
|
|
| -void PasswordModelWorker::CallDoWorkAndSignalTask(Callback0::Type* work,
|
| - WaitableEvent* done) {
|
| - work->Run();
|
| +void PasswordModelWorker::CallDoWorkAndSignalTask(
|
| + const WorkCallback& work,
|
| + WaitableEvent* done,
|
| + UnrecoverableErrorInfo* error_info) {
|
| + *error_info = work.Run();
|
| done->Signal();
|
| }
|
|
|
|
|