| Index: chrome/browser/sync_file_system/sync_file_system_service.cc
|
| diff --git a/chrome/browser/sync_file_system/sync_file_system_service.cc b/chrome/browser/sync_file_system/sync_file_system_service.cc
|
| index 96658baa14f995b8ade5e9ece34c43e8727a9a95..d987cb232d0f927292e9f9c202403e0e7384c594 100644
|
| --- a/chrome/browser/sync_file_system/sync_file_system_service.cc
|
| +++ b/chrome/browser/sync_file_system/sync_file_system_service.cc
|
| @@ -305,12 +305,10 @@ SyncServiceState SyncFileSystemService::GetSyncServiceState() {
|
| }
|
|
|
| void SyncFileSystemService::GetExtensionStatusMap(
|
| - std::map<GURL, std::string>* status_map) {
|
| - DCHECK(status_map);
|
| - status_map->clear();
|
| - remote_service_->GetOriginStatusMap(status_map);
|
| - if (v2_remote_service_)
|
| - v2_remote_service_->GetOriginStatusMap(status_map);
|
| + const ExtensionStatusMapCallback& callback) {
|
| + remote_service_->GetOriginStatusMap(
|
| + base::Bind(&SyncFileSystemService::DidGetExtensionStatusMap,
|
| + AsWeakPtr(), callback));
|
| }
|
|
|
| void SyncFileSystemService::DumpFiles(const GURL& origin,
|
| @@ -556,6 +554,31 @@ void SyncFileSystemService::DidDumpV2Database(
|
| callback.Run(*v1list);
|
| }
|
|
|
| +void SyncFileSystemService::DidGetExtensionStatusMap(
|
| + const ExtensionStatusMapCallback& callback,
|
| + scoped_ptr<RemoteFileSyncService::OriginStatusMap> status_map) {
|
| + if (!v2_remote_service_) {
|
| + callback.Run(*status_map);
|
| + return;
|
| + }
|
| +
|
| + v2_remote_service_->GetOriginStatusMap(
|
| + base::Bind(&SyncFileSystemService::DidGetV2ExtensionStatusMap,
|
| + AsWeakPtr(),
|
| + callback,
|
| + base::Passed(&status_map)));
|
| +}
|
| +
|
| +void SyncFileSystemService::DidGetV2ExtensionStatusMap(
|
| + const ExtensionStatusMapCallback& callback,
|
| + scoped_ptr<RemoteFileSyncService::OriginStatusMap> status_map_v1,
|
| + scoped_ptr<RemoteFileSyncService::OriginStatusMap> status_map_v2) {
|
| + // Merge |status_map_v2| into |status_map_v1|.
|
| + status_map_v1->insert(status_map_v2->begin(), status_map_v2->end());
|
| +
|
| + callback.Run(*status_map_v1);
|
| +}
|
| +
|
| void SyncFileSystemService::SetSyncEnabledForTesting(bool enabled) {
|
| sync_enabled_ = enabled;
|
| remote_service_->SetSyncEnabled(sync_enabled_);
|
|
|