Index: chrome/browser/sync/glue/ui_model_worker.h |
diff --git a/chrome/browser/sync/glue/ui_model_worker.h b/chrome/browser/sync/glue/ui_model_worker.h |
index a9d35bdd50068f26d7052e01a497b71f790e9e6a..49119c20b097dcc004da51d5514754e0c03f397a 100644 |
--- a/chrome/browser/sync/glue/ui_model_worker.h |
+++ b/chrome/browser/sync/glue/ui_model_worker.h |
@@ -7,10 +7,12 @@ |
#pragma once |
#include "base/callback.h" |
+#include "base/compiler_specific.h" |
#include "base/synchronization/condition_variable.h" |
#include "base/synchronization/lock.h" |
#include "base/task.h" |
#include "chrome/browser/sync/engine/model_safe_worker.h" |
+#include "chrome/browser/sync/sessions/unrecoverable_error_info.h" |
namespace base { |
class WaitableEvent; |
@@ -36,10 +38,13 @@ class UIModelWorker : public browser_sync::ModelSafeWorker { |
// A simple task to signal a waitable event after Run()ning a Closure. |
class CallDoWorkAndSignalTask : public Task { |
public: |
- CallDoWorkAndSignalTask(Callback0::Type* work, |
- base::WaitableEvent* work_done, |
- UIModelWorker* scheduler) |
- : work_(work), work_done_(work_done), scheduler_(scheduler) { |
+ CallDoWorkAndSignalTask( |
+ const WorkCallback& work, |
+ base::WaitableEvent* work_done, |
+ UIModelWorker* scheduler, |
+ sessions::UnrecoverableErrorInfo* error_info) |
+ : work_(work), work_done_(work_done), scheduler_(scheduler), |
+ error_info_(error_info) { |
} |
virtual ~CallDoWorkAndSignalTask() { } |
@@ -49,12 +54,14 @@ class UIModelWorker : public browser_sync::ModelSafeWorker { |
private: |
// Task data - a closure and a waitable event to signal after the work has |
// been done. |
- Callback0::Type* work_; |
+ WorkCallback work_; |
base::WaitableEvent* work_done_; |
// The UIModelWorker responsible for scheduling us. |
UIModelWorker* const scheduler_; |
+ sessions::UnrecoverableErrorInfo* error_info_; |
+ |
DISALLOW_COPY_AND_ASSIGN(CallDoWorkAndSignalTask); |
}; |
@@ -65,7 +72,8 @@ class UIModelWorker : public browser_sync::ModelSafeWorker { |
void Stop(); |
// ModelSafeWorker implementation. Called on syncapi SyncerThread. |
- virtual void DoWorkAndWaitUntilDone(Callback0::Type* work); |
+ virtual sessions::UnrecoverableErrorInfo DoWorkAndWaitUntilDone( |
+ const WorkCallback& work) OVERRIDE; |
virtual ModelSafeGroup GetModelSafeGroup(); |
// Upon receiving this idempotent call, the ModelSafeWorker can |