Index: sync/sessions/model_type_registry.cc |
diff --git a/sync/sessions/model_type_registry.cc b/sync/sessions/model_type_registry.cc |
index 52222022185fcd3a27012e32a8388b2dcee4fd27..c2ba5f4cbc900e3c54c2eae49459f452b831735a 100644 |
--- a/sync/sessions/model_type_registry.cc |
+++ b/sync/sessions/model_type_registry.cc |
@@ -15,6 +15,7 @@ |
#include "sync/engine/model_type_sync_worker_impl.h" |
#include "sync/internal_api/public/non_blocking_sync_common.h" |
#include "sync/sessions/directory_type_debug_info_emitter.h" |
+#include "sync/util/cryptographer.h" |
namespace syncer { |
@@ -32,7 +33,8 @@ class ModelTypeSyncProxyWrapper : public ModelTypeSyncProxy { |
const CommitResponseDataList& response_list) OVERRIDE; |
virtual void OnUpdateReceived( |
const DataTypeState& type_state, |
- const UpdateResponseDataList& response_list) OVERRIDE; |
+ const UpdateResponseDataList& response_list, |
+ const UpdateResponseDataList& pending_updates) OVERRIDE; |
private: |
base::WeakPtr<ModelTypeSyncProxyImpl> processor_; |
@@ -61,13 +63,15 @@ void ModelTypeSyncProxyWrapper::OnCommitCompleted( |
void ModelTypeSyncProxyWrapper::OnUpdateReceived( |
const DataTypeState& type_state, |
- const UpdateResponseDataList& response_list) { |
+ const UpdateResponseDataList& response_list, |
+ const UpdateResponseDataList& pending_updates) { |
processor_task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&ModelTypeSyncProxyImpl::OnUpdateReceived, |
processor_, |
type_state, |
- response_list)); |
+ response_list, |
+ pending_updates)); |
} |
class ModelTypeSyncWorkerWrapper : public ModelTypeSyncWorker { |
@@ -107,6 +111,7 @@ ModelTypeRegistry::ModelTypeRegistry( |
syncable::Directory* directory, |
NudgeHandler* nudge_handler) |
: directory_(directory), |
+ cryptographer_provider_(directory_), |
nudge_handler_(nudge_handler), |
weak_ptr_factory_(this) { |
for (size_t i = 0u; i < workers.size(); ++i) { |
@@ -185,6 +190,7 @@ void ModelTypeRegistry::SetEnabledDirectoryTypes( |
void ModelTypeRegistry::ConnectSyncTypeToWorker( |
ModelType type, |
const DataTypeState& data_type_state, |
+ const UpdateResponseDataList& saved_pending_updates, |
const scoped_refptr<base::SequencedTaskRunner>& type_task_runner, |
const base::WeakPtr<ModelTypeSyncProxyImpl>& proxy_impl) { |
DVLOG(1) << "Enabling an off-thread sync type: " << ModelTypeToString(type); |
@@ -192,8 +198,13 @@ void ModelTypeRegistry::ConnectSyncTypeToWorker( |
// Initialize Worker -> Proxy communication channel. |
scoped_ptr<ModelTypeSyncProxy> proxy( |
new ModelTypeSyncProxyWrapper(proxy_impl, type_task_runner)); |
- scoped_ptr<ModelTypeSyncWorkerImpl> worker(new ModelTypeSyncWorkerImpl( |
- type, data_type_state, nudge_handler_, proxy.Pass())); |
+ scoped_ptr<ModelTypeSyncWorkerImpl> worker( |
+ new ModelTypeSyncWorkerImpl(type, |
+ data_type_state, |
+ saved_pending_updates, |
+ &cryptographer_provider_, |
+ nudge_handler_, |
+ proxy.Pass())); |
// Initialize Proxy -> Worker communication channel. |
scoped_ptr<ModelTypeSyncWorker> wrapped_worker( |