Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(218)

Side by Side Diff: chrome/browser/sync_file_system/drive_backend/sync_engine.cc

Issue 190243003: [SyncFS] Move FROM_HEREs in SyncTaskManager to its client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h" 5 #include "chrome/browser/sync_file_system/drive_backend/sync_engine.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/threading/sequenced_worker_pool.h" 8 #include "base/threading/sequenced_worker_pool.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/browser/drive/drive_api_service.h" 10 #include "chrome/browser/drive/drive_api_service.h"
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 if (!metadata_database_ && drive_service_->HasRefreshToken()) 158 if (!metadata_database_ && drive_service_->HasRefreshToken())
159 PostInitializeTask(); 159 PostInitializeTask();
160 160
161 scoped_ptr<RegisterAppTask> task(new RegisterAppTask(this, origin.host())); 161 scoped_ptr<RegisterAppTask> task(new RegisterAppTask(this, origin.host()));
162 if (task->CanFinishImmediately()) { 162 if (task->CanFinishImmediately()) {
163 callback.Run(SYNC_STATUS_OK); 163 callback.Run(SYNC_STATUS_OK);
164 return; 164 return;
165 } 165 }
166 166
167 task_manager_->ScheduleSyncTaskAtPriority( 167 task_manager_->ScheduleSyncTaskAtPriority(
168 task.PassAs<SyncTask>(), SyncTaskManager::PRIORITY_HIGH, callback); 168 FROM_HERE, task.PassAs<SyncTask>(), SyncTaskManager::PRIORITY_HIGH,
nhiroki 2014/03/07 07:12:03 style-nit: can you have a line-break per each argu
tzik 2014/03/07 09:38:11 Done.
169 callback);
169 } 170 }
170 171
171 void SyncEngine::EnableOrigin( 172 void SyncEngine::EnableOrigin(
172 const GURL& origin, 173 const GURL& origin,
173 const SyncStatusCallback& callback) { 174 const SyncStatusCallback& callback) {
174 task_manager_->ScheduleTaskAtPriority( 175 task_manager_->ScheduleTaskAtPriority(
176 FROM_HERE,
175 base::Bind(&SyncEngine::DoEnableApp, 177 base::Bind(&SyncEngine::DoEnableApp,
176 weak_ptr_factory_.GetWeakPtr(), 178 weak_ptr_factory_.GetWeakPtr(),
177 origin.host()), 179 origin.host()),
178 SyncTaskManager::PRIORITY_HIGH, 180 SyncTaskManager::PRIORITY_HIGH,
179 callback); 181 callback);
180 } 182 }
181 183
182 void SyncEngine::DisableOrigin( 184 void SyncEngine::DisableOrigin(
183 const GURL& origin, 185 const GURL& origin,
184 const SyncStatusCallback& callback) { 186 const SyncStatusCallback& callback) {
185 task_manager_->ScheduleTaskAtPriority( 187 task_manager_->ScheduleTaskAtPriority(
188 FROM_HERE,
186 base::Bind(&SyncEngine::DoDisableApp, 189 base::Bind(&SyncEngine::DoDisableApp,
187 weak_ptr_factory_.GetWeakPtr(), 190 weak_ptr_factory_.GetWeakPtr(),
188 origin.host()), 191 origin.host()),
189 SyncTaskManager::PRIORITY_HIGH, 192 SyncTaskManager::PRIORITY_HIGH,
190 callback); 193 callback);
191 } 194 }
192 195
193 void SyncEngine::UninstallOrigin( 196 void SyncEngine::UninstallOrigin(
194 const GURL& origin, 197 const GURL& origin,
195 UninstallFlag flag, 198 UninstallFlag flag,
196 const SyncStatusCallback& callback) { 199 const SyncStatusCallback& callback) {
197 task_manager_->ScheduleSyncTaskAtPriority( 200 task_manager_->ScheduleSyncTaskAtPriority(
201 FROM_HERE,
198 scoped_ptr<SyncTask>(new UninstallAppTask(this, origin.host(), flag)), 202 scoped_ptr<SyncTask>(new UninstallAppTask(this, origin.host(), flag)),
199 SyncTaskManager::PRIORITY_HIGH, 203 SyncTaskManager::PRIORITY_HIGH,
200 callback); 204 callback);
201 } 205 }
202 206
203 void SyncEngine::ProcessRemoteChange( 207 void SyncEngine::ProcessRemoteChange(
204 const SyncFileCallback& callback) { 208 const SyncFileCallback& callback) {
205 RemoteToLocalSyncer* syncer = new RemoteToLocalSyncer(this); 209 RemoteToLocalSyncer* syncer = new RemoteToLocalSyncer(this);
206 task_manager_->ScheduleSyncTask( 210 task_manager_->ScheduleSyncTask(
211 FROM_HERE,
207 scoped_ptr<SyncTask>(syncer), 212 scoped_ptr<SyncTask>(syncer),
208 base::Bind(&SyncEngine::DidProcessRemoteChange, 213 base::Bind(&SyncEngine::DidProcessRemoteChange,
209 weak_ptr_factory_.GetWeakPtr(), 214 weak_ptr_factory_.GetWeakPtr(),
210 syncer, callback)); 215 syncer, callback));
211 } 216 }
212 217
213 void SyncEngine::SetRemoteChangeProcessor( 218 void SyncEngine::SetRemoteChangeProcessor(
214 RemoteChangeProcessor* processor) { 219 RemoteChangeProcessor* processor) {
215 remote_change_processor_ = processor; 220 remote_change_processor_ = processor;
216 } 221 }
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 333
329 void SyncEngine::ApplyLocalChange( 334 void SyncEngine::ApplyLocalChange(
330 const FileChange& local_change, 335 const FileChange& local_change,
331 const base::FilePath& local_path, 336 const base::FilePath& local_path,
332 const SyncFileMetadata& local_metadata, 337 const SyncFileMetadata& local_metadata,
333 const fileapi::FileSystemURL& url, 338 const fileapi::FileSystemURL& url,
334 const SyncStatusCallback& callback) { 339 const SyncStatusCallback& callback) {
335 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer( 340 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer(
336 this, local_metadata, local_change, local_path, url); 341 this, local_metadata, local_change, local_path, url);
337 task_manager_->ScheduleSyncTask( 342 task_manager_->ScheduleSyncTask(
343 FROM_HERE,
338 scoped_ptr<SyncTask>(syncer), 344 scoped_ptr<SyncTask>(syncer),
339 base::Bind(&SyncEngine::DidApplyLocalChange, 345 base::Bind(&SyncEngine::DidApplyLocalChange,
340 weak_ptr_factory_.GetWeakPtr(), 346 weak_ptr_factory_.GetWeakPtr(),
341 syncer, callback)); 347 syncer, callback));
342 } 348 }
343 349
344 void SyncEngine::MaybeScheduleNextTask() { 350 void SyncEngine::MaybeScheduleNextTask() {
345 if (GetCurrentState() == REMOTE_SERVICE_DISABLED) 351 if (GetCurrentState() == REMOTE_SERVICE_DISABLED)
346 return; 352 return;
347 353
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 489
484 // This initializer task may not run if metadata_database_ is already 490 // This initializer task may not run if metadata_database_ is already
485 // initialized when it runs. 491 // initialized when it runs.
486 SyncEngineInitializer* initializer = 492 SyncEngineInitializer* initializer =
487 new SyncEngineInitializer(this, 493 new SyncEngineInitializer(this,
488 task_runner_.get(), 494 task_runner_.get(),
489 drive_service_.get(), 495 drive_service_.get(),
490 base_dir_.Append(kDatabaseName), 496 base_dir_.Append(kDatabaseName),
491 env_override_); 497 env_override_);
492 task_manager_->ScheduleSyncTaskAtPriority( 498 task_manager_->ScheduleSyncTaskAtPriority(
499 FROM_HERE,
493 scoped_ptr<SyncTask>(initializer), 500 scoped_ptr<SyncTask>(initializer),
494 SyncTaskManager::PRIORITY_HIGH, 501 SyncTaskManager::PRIORITY_HIGH,
495 base::Bind(&SyncEngine::DidInitialize, weak_ptr_factory_.GetWeakPtr(), 502 base::Bind(&SyncEngine::DidInitialize, weak_ptr_factory_.GetWeakPtr(),
496 initializer)); 503 initializer));
497 } 504 }
498 505
499 void SyncEngine::DidInitialize(SyncEngineInitializer* initializer, 506 void SyncEngine::DidInitialize(SyncEngineInitializer* initializer,
500 SyncStatusCode status) { 507 SyncStatusCode status) {
501 if (status != SYNC_STATUS_OK) { 508 if (status != SYNC_STATUS_OK) {
502 if (drive_service_->HasRefreshToken()) { 509 if (drive_service_->HasRefreshToken()) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 } 576 }
570 577
571 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) { 578 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) {
572 RegisterOrigin(syncer->url().origin(), 579 RegisterOrigin(syncer->url().origin(),
573 base::Bind(&EmptyStatusCallback)); 580 base::Bind(&EmptyStatusCallback));
574 } 581 }
575 582
576 if (syncer->needs_remote_change_listing() && 583 if (syncer->needs_remote_change_listing() &&
577 !listing_remote_changes_) { 584 !listing_remote_changes_) {
578 task_manager_->ScheduleSyncTaskAtPriority( 585 task_manager_->ScheduleSyncTaskAtPriority(
586 FROM_HERE,
579 scoped_ptr<SyncTask>(new ListChangesTask(this)), 587 scoped_ptr<SyncTask>(new ListChangesTask(this)),
580 SyncTaskManager::PRIORITY_HIGH, 588 SyncTaskManager::PRIORITY_HIGH,
581 base::Bind(&SyncEngine::DidFetchChanges, 589 base::Bind(&SyncEngine::DidFetchChanges,
582 weak_ptr_factory_.GetWeakPtr())); 590 weak_ptr_factory_.GetWeakPtr()));
583 should_check_remote_change_ = false; 591 should_check_remote_change_ = false;
584 listing_remote_changes_ = true; 592 listing_remote_changes_ = true;
585 time_to_check_changes_ = 593 time_to_check_changes_ =
586 base::TimeTicks::Now() + 594 base::TimeTicks::Now() +
587 base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds); 595 base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds);
588 } 596 }
(...skipping 18 matching lines...) Expand all
607 return; 615 return;
608 616
609 if (listing_remote_changes_) 617 if (listing_remote_changes_)
610 return; 618 return;
611 619
612 base::TimeTicks now = base::TimeTicks::Now(); 620 base::TimeTicks now = base::TimeTicks::Now();
613 if (!should_check_remote_change_ && now < time_to_check_changes_) { 621 if (!should_check_remote_change_ && now < time_to_check_changes_) {
614 if (!metadata_database_->HasDirtyTracker() && should_check_conflict_) { 622 if (!metadata_database_->HasDirtyTracker() && should_check_conflict_) {
615 should_check_conflict_ = false; 623 should_check_conflict_ = false;
616 task_manager_->ScheduleSyncTaskIfIdle( 624 task_manager_->ScheduleSyncTaskIfIdle(
625 FROM_HERE,
617 scoped_ptr<SyncTask>(new ConflictResolver(this)), 626 scoped_ptr<SyncTask>(new ConflictResolver(this)),
618 base::Bind(&SyncEngine::DidResolveConflict, 627 base::Bind(&SyncEngine::DidResolveConflict,
619 weak_ptr_factory_.GetWeakPtr())); 628 weak_ptr_factory_.GetWeakPtr()));
620 } 629 }
621 return; 630 return;
622 } 631 }
623 632
624 if (task_manager_->ScheduleSyncTaskIfIdle( 633 if (task_manager_->ScheduleSyncTaskIfIdle(
634 FROM_HERE,
625 scoped_ptr<SyncTask>(new ListChangesTask(this)), 635 scoped_ptr<SyncTask>(new ListChangesTask(this)),
626 base::Bind(&SyncEngine::DidFetchChanges, 636 base::Bind(&SyncEngine::DidFetchChanges,
627 weak_ptr_factory_.GetWeakPtr()))) { 637 weak_ptr_factory_.GetWeakPtr()))) {
628 should_check_remote_change_ = false; 638 should_check_remote_change_ = false;
629 listing_remote_changes_ = true; 639 listing_remote_changes_ = true;
630 time_to_check_changes_ = 640 time_to_check_changes_ =
631 now + base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds); 641 now + base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds);
632 } 642 }
633 } 643 }
634 644
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; 751 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT;
742 if (is_app_enabled && !is_app_root_tracker_enabled) 752 if (is_app_enabled && !is_app_root_tracker_enabled)
743 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); 753 EnableOrigin(origin, base::Bind(&EmptyStatusCallback));
744 else if (!is_app_enabled && is_app_root_tracker_enabled) 754 else if (!is_app_enabled && is_app_root_tracker_enabled)
745 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); 755 DisableOrigin(origin, base::Bind(&EmptyStatusCallback));
746 } 756 }
747 } 757 }
748 758
749 } // namespace drive_backend 759 } // namespace drive_backend
750 } // namespace sync_file_system 760 } // namespace sync_file_system
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698