Index: chrome/browser/sync_file_system/drive_metadata_store.cc |
diff --git a/chrome/browser/sync_file_system/drive_metadata_store.cc b/chrome/browser/sync_file_system/drive_metadata_store.cc |
index b85e5b5a94c08bdf3564ca05b1ab8a4ae4b0188a..9c3519abf83b69c409e72c61dab586edc0a1a46b 100644 |
--- a/chrome/browser/sync_file_system/drive_metadata_store.cc |
+++ b/chrome/browser/sync_file_system/drive_metadata_store.cc |
@@ -471,6 +471,13 @@ SyncStatusCode DriveMetadataStore::ReadEntry(const FileSystemURL& url, |
return SYNC_STATUS_OK; |
} |
+void DriveMetadataStore::AddIncrementalSyncOrigin( |
+ const GURL& origin, |
+ const std::string& resource_id) { |
+ AddBatchSyncOrigin(origin, resource_id); |
+ MoveBatchSyncOriginToIncremental(origin); |
+} |
+ |
void DriveMetadataStore::SetSyncRootDirectory(const std::string& resource_id) { |
DCHECK(CalledOnValidThread()); |
@@ -533,46 +540,6 @@ bool DriveMetadataStore::IsOriginDisabled(const GURL& origin) const { |
return ContainsKey(disabled_origins_, origin); |
} |
-void DriveMetadataStore::AddBatchSyncOrigin(const GURL& origin, |
- const std::string& resource_id) { |
- DCHECK(CalledOnValidThread()); |
- DCHECK(!IsBatchSyncOrigin(origin)); |
- DCHECK(!IsIncrementalSyncOrigin(origin)); |
- DCHECK(!IsOriginDisabled(origin)); |
- DCHECK_EQ(SYNC_STATUS_OK, db_status_); |
- |
- batch_sync_origins_.insert(std::make_pair(origin, resource_id)); |
- origin_by_resource_id_.insert(std::make_pair(resource_id, origin)); |
- |
- // Store a pair of |origin| and |resource_id| in the DB. |
- base::PostTaskAndReplyWithResult( |
- file_task_runner_, FROM_HERE, |
- base::Bind(&DriveMetadataDB::UpdateOriginAsBatchSync, |
- base::Unretained(db_.get()), origin, resource_id), |
- base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); |
-} |
- |
-void DriveMetadataStore::MoveBatchSyncOriginToIncremental(const GURL& origin) { |
- DCHECK(CalledOnValidThread()); |
- DCHECK(IsBatchSyncOrigin(origin)); |
- DCHECK(!IsIncrementalSyncOrigin(origin)); |
- DCHECK(!IsOriginDisabled(origin)); |
- DCHECK_EQ(SYNC_STATUS_OK, db_status_); |
- |
- std::map<GURL, std::string>::iterator found = |
- batch_sync_origins_.find(origin); |
- incremental_sync_origins_.insert(std::make_pair(origin, found->second)); |
- |
- // Store a pair of |origin| and |resource_id| in the DB. |
- base::PostTaskAndReplyWithResult( |
- file_task_runner_, FROM_HERE, |
- base::Bind(&DriveMetadataDB::UpdateOriginAsIncrementalSync, |
- base::Unretained(db_.get()), origin, found->second), |
- base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); |
- |
- batch_sync_origins_.erase(found); |
-} |
- |
void DriveMetadataStore::EnableOrigin( |
const GURL& origin, |
const SyncStatusCallback& callback) { |
@@ -586,8 +553,8 @@ void DriveMetadataStore::EnableOrigin( |
std::string resource_id = found->second; |
disabled_origins_.erase(found); |
- // Ensure |origin| is marked as a batch sync origin. |
- batch_sync_origins_.insert(std::make_pair(origin, resource_id)); |
+ // |Origin| goes back to DriveFileSyncService.pending_batch_sync_origins_ |
+ // only and is not stored in drive_metadata_store. |
found = incremental_sync_origins_.find(origin); |
if (found != incremental_sync_origins_.end()) |
incremental_sync_origins_.erase(found); |
@@ -662,6 +629,48 @@ void DriveMetadataStore::DidUpdateOrigin( |
callback.Run(status); |
} |
+void DriveMetadataStore::AddBatchSyncOrigin(const GURL& origin, |
+ const std::string& resource_id) { |
+ DCHECK(CalledOnValidThread()); |
+ DCHECK(!IsIncrementalSyncOrigin(origin)); |
+ DCHECK(!IsOriginDisabled(origin)); |
+ DCHECK_EQ(SYNC_STATUS_OK, db_status_); |
+ |
+ if (IsBatchSyncOrigin(origin)) |
+ return; |
+ |
+ batch_sync_origins_.insert(std::make_pair(origin, resource_id)); |
+ origin_by_resource_id_.insert(std::make_pair(resource_id, origin)); |
+ |
+ // Store a pair of |origin| and |resource_id| in the DB. |
+ base::PostTaskAndReplyWithResult( |
+ file_task_runner_, FROM_HERE, |
+ base::Bind(&DriveMetadataDB::UpdateOriginAsBatchSync, |
+ base::Unretained(db_.get()), origin, resource_id), |
+ base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); |
+} |
+ |
+void DriveMetadataStore::MoveBatchSyncOriginToIncremental(const GURL& origin) { |
+ DCHECK(CalledOnValidThread()); |
+ DCHECK(IsBatchSyncOrigin(origin)); |
+ DCHECK(!IsIncrementalSyncOrigin(origin)); |
+ DCHECK(!IsOriginDisabled(origin)); |
+ DCHECK_EQ(SYNC_STATUS_OK, db_status_); |
+ |
+ std::map<GURL, std::string>::iterator found = |
+ batch_sync_origins_.find(origin); |
+ incremental_sync_origins_.insert(std::make_pair(origin, found->second)); |
+ |
+ // Store a pair of |origin| and |resource_id| in the DB. |
+ base::PostTaskAndReplyWithResult( |
+ file_task_runner_, FROM_HERE, |
+ base::Bind(&DriveMetadataDB::UpdateOriginAsIncrementalSync, |
+ base::Unretained(db_.get()), origin, found->second), |
+ base::Bind(&DriveMetadataStore::UpdateDBStatus, AsWeakPtr())); |
+ |
+ batch_sync_origins_.erase(found); |
+} |
+ |
void DriveMetadataStore::UpdateDBStatus(SyncStatusCode status) { |
DCHECK(CalledOnValidThread()); |
if (db_status_ != SYNC_STATUS_OK && |