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

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

Issue 190663004: [SyncFS] Drop default priority version of SyncTaskManager::ScheduleTask (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
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_engine_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 const SyncStatusCallback& callback) { 157 const SyncStatusCallback& callback) {
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_->ScheduleSyncTask(
168 FROM_HERE, 168 FROM_HERE,
169 task.PassAs<SyncTask>(), 169 task.PassAs<SyncTask>(),
170 SyncTaskManager::PRIORITY_HIGH, 170 SyncTaskManager::PRIORITY_HIGH,
171 callback); 171 callback);
172 } 172 }
173 173
174 void SyncEngine::EnableOrigin( 174 void SyncEngine::EnableOrigin(
175 const GURL& origin, 175 const GURL& origin,
176 const SyncStatusCallback& callback) { 176 const SyncStatusCallback& callback) {
177 task_manager_->ScheduleTaskAtPriority( 177 task_manager_->ScheduleTask(
178 FROM_HERE, 178 FROM_HERE,
179 base::Bind(&SyncEngine::DoEnableApp, 179 base::Bind(&SyncEngine::DoEnableApp,
180 weak_ptr_factory_.GetWeakPtr(), 180 weak_ptr_factory_.GetWeakPtr(),
181 origin.host()), 181 origin.host()),
182 SyncTaskManager::PRIORITY_HIGH, 182 SyncTaskManager::PRIORITY_HIGH,
183 callback); 183 callback);
184 } 184 }
185 185
186 void SyncEngine::DisableOrigin( 186 void SyncEngine::DisableOrigin(
187 const GURL& origin, 187 const GURL& origin,
188 const SyncStatusCallback& callback) { 188 const SyncStatusCallback& callback) {
189 task_manager_->ScheduleTaskAtPriority( 189 task_manager_->ScheduleTask(
190 FROM_HERE, 190 FROM_HERE,
191 base::Bind(&SyncEngine::DoDisableApp, 191 base::Bind(&SyncEngine::DoDisableApp,
192 weak_ptr_factory_.GetWeakPtr(), 192 weak_ptr_factory_.GetWeakPtr(),
193 origin.host()), 193 origin.host()),
194 SyncTaskManager::PRIORITY_HIGH, 194 SyncTaskManager::PRIORITY_HIGH,
195 callback); 195 callback);
196 } 196 }
197 197
198 void SyncEngine::UninstallOrigin( 198 void SyncEngine::UninstallOrigin(
199 const GURL& origin, 199 const GURL& origin,
200 UninstallFlag flag, 200 UninstallFlag flag,
201 const SyncStatusCallback& callback) { 201 const SyncStatusCallback& callback) {
202 task_manager_->ScheduleSyncTaskAtPriority( 202 task_manager_->ScheduleSyncTask(
203 FROM_HERE, 203 FROM_HERE,
204 scoped_ptr<SyncTask>(new UninstallAppTask(this, origin.host(), flag)), 204 scoped_ptr<SyncTask>(new UninstallAppTask(this, origin.host(), flag)),
205 SyncTaskManager::PRIORITY_HIGH, 205 SyncTaskManager::PRIORITY_HIGH,
206 callback); 206 callback);
207 } 207 }
208 208
209 void SyncEngine::ProcessRemoteChange( 209 void SyncEngine::ProcessRemoteChange(
210 const SyncFileCallback& callback) { 210 const SyncFileCallback& callback) {
211 RemoteToLocalSyncer* syncer = new RemoteToLocalSyncer(this); 211 RemoteToLocalSyncer* syncer = new RemoteToLocalSyncer(this);
212 task_manager_->ScheduleSyncTask( 212 task_manager_->ScheduleSyncTask(
213 FROM_HERE, 213 FROM_HERE,
214 scoped_ptr<SyncTask>(syncer), 214 scoped_ptr<SyncTask>(syncer),
215 SyncTaskManager::PRIORITY_MED,
215 base::Bind(&SyncEngine::DidProcessRemoteChange, 216 base::Bind(&SyncEngine::DidProcessRemoteChange,
216 weak_ptr_factory_.GetWeakPtr(), 217 weak_ptr_factory_.GetWeakPtr(),
217 syncer, callback)); 218 syncer, callback));
218 } 219 }
219 220
220 void SyncEngine::SetRemoteChangeProcessor( 221 void SyncEngine::SetRemoteChangeProcessor(
221 RemoteChangeProcessor* processor) { 222 RemoteChangeProcessor* processor) {
222 remote_change_processor_ = processor; 223 remote_change_processor_ = processor;
223 } 224 }
224 225
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 const FileChange& local_change, 338 const FileChange& local_change,
338 const base::FilePath& local_path, 339 const base::FilePath& local_path,
339 const SyncFileMetadata& local_metadata, 340 const SyncFileMetadata& local_metadata,
340 const fileapi::FileSystemURL& url, 341 const fileapi::FileSystemURL& url,
341 const SyncStatusCallback& callback) { 342 const SyncStatusCallback& callback) {
342 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer( 343 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer(
343 this, local_metadata, local_change, local_path, url); 344 this, local_metadata, local_change, local_path, url);
344 task_manager_->ScheduleSyncTask( 345 task_manager_->ScheduleSyncTask(
345 FROM_HERE, 346 FROM_HERE,
346 scoped_ptr<SyncTask>(syncer), 347 scoped_ptr<SyncTask>(syncer),
348 SyncTaskManager::PRIORITY_MED,
347 base::Bind(&SyncEngine::DidApplyLocalChange, 349 base::Bind(&SyncEngine::DidApplyLocalChange,
348 weak_ptr_factory_.GetWeakPtr(), 350 weak_ptr_factory_.GetWeakPtr(),
349 syncer, callback)); 351 syncer, callback));
350 } 352 }
351 353
352 void SyncEngine::MaybeScheduleNextTask() { 354 void SyncEngine::MaybeScheduleNextTask() {
353 if (GetCurrentState() == REMOTE_SERVICE_DISABLED) 355 if (GetCurrentState() == REMOTE_SERVICE_DISABLED)
354 return; 356 return;
355 357
356 // TODO(tzik): Notify observer of OnRemoteChangeQueueUpdated. 358 // TODO(tzik): Notify observer of OnRemoteChangeQueueUpdated.
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 DCHECK(!metadata_database_); 492 DCHECK(!metadata_database_);
491 493
492 // This initializer task may not run if metadata_database_ is already 494 // This initializer task may not run if metadata_database_ is already
493 // initialized when it runs. 495 // initialized when it runs.
494 SyncEngineInitializer* initializer = 496 SyncEngineInitializer* initializer =
495 new SyncEngineInitializer(this, 497 new SyncEngineInitializer(this,
496 task_runner_.get(), 498 task_runner_.get(),
497 drive_service_.get(), 499 drive_service_.get(),
498 base_dir_.Append(kDatabaseName), 500 base_dir_.Append(kDatabaseName),
499 env_override_); 501 env_override_);
500 task_manager_->ScheduleSyncTaskAtPriority( 502 task_manager_->ScheduleSyncTask(
501 FROM_HERE, 503 FROM_HERE,
502 scoped_ptr<SyncTask>(initializer), 504 scoped_ptr<SyncTask>(initializer),
503 SyncTaskManager::PRIORITY_HIGH, 505 SyncTaskManager::PRIORITY_HIGH,
504 base::Bind(&SyncEngine::DidInitialize, weak_ptr_factory_.GetWeakPtr(), 506 base::Bind(&SyncEngine::DidInitialize, weak_ptr_factory_.GetWeakPtr(),
505 initializer)); 507 initializer));
506 } 508 }
507 509
508 void SyncEngine::DidInitialize(SyncEngineInitializer* initializer, 510 void SyncEngine::DidInitialize(SyncEngineInitializer* initializer,
509 SyncStatusCode status) { 511 SyncStatusCode status) {
510 if (status != SYNC_STATUS_OK) { 512 if (status != SYNC_STATUS_OK) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 SYNC_DIRECTION_LOCAL_TO_REMOTE)); 579 SYNC_DIRECTION_LOCAL_TO_REMOTE));
578 } 580 }
579 581
580 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) { 582 if (status == SYNC_STATUS_UNKNOWN_ORIGIN && syncer->url().is_valid()) {
581 RegisterOrigin(syncer->url().origin(), 583 RegisterOrigin(syncer->url().origin(),
582 base::Bind(&EmptyStatusCallback)); 584 base::Bind(&EmptyStatusCallback));
583 } 585 }
584 586
585 if (syncer->needs_remote_change_listing() && 587 if (syncer->needs_remote_change_listing() &&
586 !listing_remote_changes_) { 588 !listing_remote_changes_) {
587 task_manager_->ScheduleSyncTaskAtPriority( 589 task_manager_->ScheduleSyncTask(
588 FROM_HERE, 590 FROM_HERE,
589 scoped_ptr<SyncTask>(new ListChangesTask(this)), 591 scoped_ptr<SyncTask>(new ListChangesTask(this)),
590 SyncTaskManager::PRIORITY_HIGH, 592 SyncTaskManager::PRIORITY_HIGH,
591 base::Bind(&SyncEngine::DidFetchChanges, 593 base::Bind(&SyncEngine::DidFetchChanges,
592 weak_ptr_factory_.GetWeakPtr())); 594 weak_ptr_factory_.GetWeakPtr()));
593 should_check_remote_change_ = false; 595 should_check_remote_change_ = false;
594 listing_remote_changes_ = true; 596 listing_remote_changes_ = true;
595 time_to_check_changes_ = 597 time_to_check_changes_ =
596 base::TimeTicks::Now() + 598 base::TimeTicks::Now() +
597 base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds); 599 base::TimeDelta::FromSeconds(kListChangesRetryDelaySeconds);
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
753 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; 755 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT;
754 if (is_app_enabled && !is_app_root_tracker_enabled) 756 if (is_app_enabled && !is_app_root_tracker_enabled)
755 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); 757 EnableOrigin(origin, base::Bind(&EmptyStatusCallback));
756 else if (!is_app_enabled && is_app_root_tracker_enabled) 758 else if (!is_app_enabled && is_app_root_tracker_enabled)
757 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); 759 DisableOrigin(origin, base::Bind(&EmptyStatusCallback));
758 } 760 }
759 } 761 }
760 762
761 } // namespace drive_backend 763 } // namespace drive_backend
762 } // namespace sync_file_system 764 } // namespace sync_file_system
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync_file_system/drive_backend/sync_engine_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698