Index: chrome/browser/sync_file_system/drive_backend/sync_worker.cc |
diff --git a/chrome/browser/sync_file_system/drive_backend/sync_worker.cc b/chrome/browser/sync_file_system/drive_backend/sync_worker.cc |
index c2b7f87f6c4845a891b87221d8f8b1b5d3f5d626..3bd73207b1754eb5a1dd5b18e819628f137a790b 100644 |
--- a/chrome/browser/sync_file_system/drive_backend/sync_worker.cc |
+++ b/chrome/browser/sync_file_system/drive_backend/sync_worker.cc |
@@ -85,6 +85,7 @@ void QueryAppStatusOnUIThread( |
} // namespace |
+// static |
scoped_ptr<SyncWorker> SyncWorker::CreateOnWorker( |
const base::FilePath& base_dir, |
Observer* observer, |
@@ -97,7 +98,6 @@ scoped_ptr<SyncWorker> SyncWorker::CreateOnWorker( |
sync_engine_context.Pass(), |
env_override)); |
sync_worker->AddObserver(observer); |
- sync_worker->Initialize(); |
return sync_worker.Pass(); |
} |
@@ -108,7 +108,8 @@ void SyncWorker::Initialize() { |
DCHECK(!task_manager_); |
task_manager_.reset(new SyncTaskManager( |
- weak_ptr_factory_.GetWeakPtr(), 0 /* maximum_background_task */)); |
+ AsWeakPtr(), |
+ 0 /* maximum_background_task */)); |
task_manager_->Initialize(SYNC_STATUS_OK); |
PostInitializeTask(); |
@@ -133,7 +134,6 @@ void SyncWorker::RegisterOrigin( |
return; |
} |
- // TODO(peria): Forward |callback| to UI thread. |
task_manager_->ScheduleSyncTask( |
FROM_HERE, |
task.PassAs<SyncTask>(), |
@@ -144,11 +144,10 @@ void SyncWorker::RegisterOrigin( |
void SyncWorker::EnableOrigin( |
const GURL& origin, |
const SyncStatusCallback& callback) { |
- // TODO(peria): Forward |callback| to UI thread. |
task_manager_->ScheduleTask( |
FROM_HERE, |
base::Bind(&SyncWorker::DoEnableApp, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
origin.host()), |
SyncTaskManager::PRIORITY_HIGH, |
callback); |
@@ -157,11 +156,10 @@ void SyncWorker::EnableOrigin( |
void SyncWorker::DisableOrigin( |
const GURL& origin, |
const SyncStatusCallback& callback) { |
- // TODO(peria): Forward |callback| to UI thread. |
task_manager_->ScheduleTask( |
FROM_HERE, |
base::Bind(&SyncWorker::DoDisableApp, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
origin.host()), |
SyncTaskManager::PRIORITY_HIGH, |
callback); |
@@ -171,7 +169,6 @@ void SyncWorker::UninstallOrigin( |
const GURL& origin, |
RemoteFileSyncService::UninstallFlag flag, |
const SyncStatusCallback& callback) { |
- // TODO(peria): Forward |callback| to UI thread. |
task_manager_->ScheduleSyncTask( |
FROM_HERE, |
scoped_ptr<SyncTask>( |
@@ -188,7 +185,7 @@ void SyncWorker::ProcessRemoteChange( |
scoped_ptr<SyncTask>(syncer), |
SyncTaskManager::PRIORITY_MED, |
base::Bind(&SyncWorker::DidProcessRemoteChange, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
syncer, callback)); |
} |
@@ -290,7 +287,7 @@ void SyncWorker::ApplyLocalChange( |
scoped_ptr<SyncTask>(syncer), |
SyncTaskManager::PRIORITY_MED, |
base::Bind(&SyncWorker::DidApplyLocalChange, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
syncer, callback)); |
} |
@@ -397,8 +394,7 @@ SyncWorker::SyncWorker( |
CONFLICT_RESOLUTION_POLICY_LAST_WRITE_WIN), |
network_available_(false), |
extension_service_(extension_service), |
- context_(sync_engine_context.Pass()), |
- weak_ptr_factory_(this) {} |
+ context_(sync_engine_context.Pass()) {} |
void SyncWorker::DoDisableApp(const std::string& app_id, |
const SyncStatusCallback& callback) { |
@@ -434,7 +430,7 @@ void SyncWorker::PostInitializeTask() { |
scoped_ptr<SyncTask>(initializer), |
SyncTaskManager::PRIORITY_HIGH, |
base::Bind(&SyncWorker::DidInitialize, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
initializer)); |
} |
@@ -469,7 +465,7 @@ void SyncWorker::UpdateRegisteredApp() { |
AppStatusMap* app_status = new AppStatusMap; |
base::Closure callback = |
base::Bind(&SyncWorker::DidQueryAppStatus, |
- weak_ptr_factory_.GetWeakPtr(), |
+ AsWeakPtr(), |
base::Owned(app_status)); |
context_->GetUITaskRunner()->PostTask( |
@@ -583,7 +579,7 @@ void SyncWorker::DidApplyLocalChange(LocalToRemoteSyncer* syncer, |
scoped_ptr<SyncTask>(new ListChangesTask(context_.get())), |
SyncTaskManager::PRIORITY_HIGH, |
base::Bind(&SyncWorker::DidFetchChanges, |
- weak_ptr_factory_.GetWeakPtr())); |
+ AsWeakPtr())); |
should_check_remote_change_ = false; |
listing_remote_changes_ = true; |
time_to_check_changes_ = |
@@ -616,7 +612,7 @@ void SyncWorker::MaybeStartFetchChanges() { |
FROM_HERE, |
scoped_ptr<SyncTask>(new ConflictResolver(context_.get())), |
base::Bind(&SyncWorker::DidResolveConflict, |
- weak_ptr_factory_.GetWeakPtr())); |
+ AsWeakPtr())); |
} |
return; |
} |
@@ -625,7 +621,7 @@ void SyncWorker::MaybeStartFetchChanges() { |
FROM_HERE, |
scoped_ptr<SyncTask>(new ListChangesTask(context_.get())), |
base::Bind(&SyncWorker::DidFetchChanges, |
- weak_ptr_factory_.GetWeakPtr()))) { |
+ AsWeakPtr()))) { |
should_check_remote_change_ = false; |
listing_remote_changes_ = true; |
time_to_check_changes_ = |