#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/glue/change_processor.h"
#include "chrome/browser/sync/glue/chrome_report_unrecoverable_error.h"
-#include "chrome/browser/sync/glue/model_associator.h"
#include "chrome/browser/sync/profile_sync_components_factory.h"
#include "chrome/browser/sync/profile_sync_service.h"
+#include "components/sync_driver/model_associator.h"
#include "content/public/browser/browser_thread.h"
#include "sync/api/sync_error.h"
#include "sync/internal_api/public/base/model_type.h"
NonFrontendDataTypeController::
BackendComponentsContainer::BackendComponentsContainer(
NonFrontendDataTypeController* controller)
- : controller_(controller),
- type_(controller->type()) {
+ : controller_(controller),
+ type_(controller->type()) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
controller_handle_ =
syncer::MakeWeakHandle(controller_->weak_ptr_factory_.GetWeakPtr());
}
void NonFrontendDataTypeController::BackendComponentsContainer::Run() {
- DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(controller_->IsOnBackendThread());
if (CreateComponents())
Associate();
}
NonFrontendDataTypeController::AssociationResult::~AssociationResult() {}
NonFrontendDataTypeController::NonFrontendDataTypeController(
+ scoped_refptr<base::MessageLoopProxy> ui_thread,
+ const base::Closure& error_callback,
ProfileSyncComponentsFactory* profile_sync_factory,
Profile* profile,
ProfileSyncService* sync_service)
- : state_(NOT_RUNNING),
+ : DataTypeController(ui_thread, error_callback),
+ state_(NOT_RUNNING),
profile_sync_factory_(profile_sync_factory),
profile_(profile),
profile_sync_service_(sync_service),
}
void DestroyComponentsInBackend(
- NonFrontendDataTypeController::BackendComponentsContainer *containter) {
- delete containter;
+ NonFrontendDataTypeController::BackendComponentsContainer *container) {
+ delete container;
}
void NonFrontendDataTypeController::Stop() {
void NonFrontendDataTypeController::OnSingleDatatypeUnrecoverableError(
const tracked_objects::Location& from_here,
const std::string& message) {
- DCHECK(!BrowserThread::CurrentlyOn(BrowserThread::UI));
+ DCHECK(IsOnBackendThread());
RecordUnrecoverableError(from_here, message);
BrowserThread::PostTask(BrowserThread::UI, from_here,
base::Bind(&NonFrontendDataTypeController::DisableImpl,
}
NonFrontendDataTypeController::NonFrontendDataTypeController()
- : state_(NOT_RUNNING),
+ : DataTypeController(base::MessageLoopProxy::current(), base::Closure()),
+ state_(NOT_RUNNING),
profile_sync_factory_(NULL),
profile_(NULL),
profile_sync_service_(NULL),
return true;
}
+bool NonFrontendDataTypeController::IsOnBackendThread() {
+ return !BrowserThread::CurrentlyOn(BrowserThread::UI);
+}
+
void NonFrontendDataTypeController::StartDone(
DataTypeController::StartResult start_result,
const syncer::SyncMergeResult& local_merge_result,