OLD | NEW |
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 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 | 283 |
284 void SyncEngine::DownloadRemoteVersion( | 284 void SyncEngine::DownloadRemoteVersion( |
285 const fileapi::FileSystemURL& url, | 285 const fileapi::FileSystemURL& url, |
286 const std::string& version_id, | 286 const std::string& version_id, |
287 const DownloadVersionCallback& callback) { | 287 const DownloadVersionCallback& callback) { |
288 // TODO(tzik): Implement this before we support manual conflict resolution. | 288 // TODO(tzik): Implement this before we support manual conflict resolution. |
289 callback.Run(SYNC_STATUS_FAILED, webkit_blob::ScopedFile()); | 289 callback.Run(SYNC_STATUS_FAILED, webkit_blob::ScopedFile()); |
290 } | 290 } |
291 | 291 |
292 void SyncEngine::PromoteDemotedChanges() { | 292 void SyncEngine::PromoteDemotedChanges() { |
293 metadata_database_->PromoteLowerPriorityTrackersToNormal(); | 293 if (metadata_database_) |
| 294 metadata_database_->PromoteLowerPriorityTrackersToNormal(); |
294 } | 295 } |
295 | 296 |
296 void SyncEngine::ApplyLocalChange( | 297 void SyncEngine::ApplyLocalChange( |
297 const FileChange& local_change, | 298 const FileChange& local_change, |
298 const base::FilePath& local_path, | 299 const base::FilePath& local_path, |
299 const SyncFileMetadata& local_metadata, | 300 const SyncFileMetadata& local_metadata, |
300 const fileapi::FileSystemURL& url, | 301 const fileapi::FileSystemURL& url, |
301 const SyncStatusCallback& callback) { | 302 const SyncStatusCallback& callback) { |
302 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer( | 303 LocalToRemoteSyncer* syncer = new LocalToRemoteSyncer( |
303 this, local_metadata, local_change, local_path, url); | 304 this, local_metadata, local_change, local_path, url); |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 should_check_remote_change_(true), | 422 should_check_remote_change_(true), |
422 listing_remote_changes_(false), | 423 listing_remote_changes_(false), |
423 sync_enabled_(false), | 424 sync_enabled_(false), |
424 conflict_resolution_policy_(CONFLICT_RESOLUTION_POLICY_LAST_WRITE_WIN), | 425 conflict_resolution_policy_(CONFLICT_RESOLUTION_POLICY_LAST_WRITE_WIN), |
425 network_available_(false), | 426 network_available_(false), |
426 weak_ptr_factory_(this) { | 427 weak_ptr_factory_(this) { |
427 } | 428 } |
428 | 429 |
429 void SyncEngine::DoDisableApp(const std::string& app_id, | 430 void SyncEngine::DoDisableApp(const std::string& app_id, |
430 const SyncStatusCallback& callback) { | 431 const SyncStatusCallback& callback) { |
431 metadata_database_->DisableApp(app_id, callback); | 432 if (metadata_database_) |
| 433 metadata_database_->DisableApp(app_id, callback); |
| 434 else |
| 435 callback.Run(SYNC_STATUS_OK); |
432 } | 436 } |
433 | 437 |
434 void SyncEngine::DoEnableApp(const std::string& app_id, | 438 void SyncEngine::DoEnableApp(const std::string& app_id, |
435 const SyncStatusCallback& callback) { | 439 const SyncStatusCallback& callback) { |
436 metadata_database_->EnableApp(app_id, callback); | 440 if (metadata_database_) |
| 441 metadata_database_->EnableApp(app_id, callback); |
| 442 else |
| 443 callback.Run(SYNC_STATUS_OK); |
437 } | 444 } |
438 | 445 |
439 void SyncEngine::PostInitializeTask() { | 446 void SyncEngine::PostInitializeTask() { |
440 DCHECK(!metadata_database_); | 447 DCHECK(!metadata_database_); |
441 | 448 |
442 // This initializer task may not run if metadata_database_ is already | 449 // This initializer task may not run if metadata_database_ is already |
443 // initialized when it runs. | 450 // initialized when it runs. |
444 SyncEngineInitializer* initializer = | 451 SyncEngineInitializer* initializer = |
445 new SyncEngineInitializer(this, | 452 new SyncEngineInitializer(this, |
446 task_runner_.get(), | 453 task_runner_.get(), |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
699 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; | 706 tracker.tracker_kind() == TRACKER_KIND_APP_ROOT; |
700 if (is_app_enabled && !is_app_root_tracker_enabled) | 707 if (is_app_enabled && !is_app_root_tracker_enabled) |
701 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 708 EnableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
702 else if (!is_app_enabled && is_app_root_tracker_enabled) | 709 else if (!is_app_enabled && is_app_root_tracker_enabled) |
703 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); | 710 DisableOrigin(origin, base::Bind(&EmptyStatusCallback)); |
704 } | 711 } |
705 } | 712 } |
706 | 713 |
707 } // namespace drive_backend | 714 } // namespace drive_backend |
708 } // namespace sync_file_system | 715 } // namespace sync_file_system |
OLD | NEW |