| Index: chrome/browser/sync_file_system/drive_backend/sync_worker.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/sync_worker.cc b/chrome/browser/sync_file_system/drive_backend/sync_worker.cc
|
| index 3e8f2cd2798bce8ad7ac0abb18e71c0f1e720a52..f89f06a0d303f05e13df3c6092413396bcf5e2df 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/sync_worker.cc
|
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_worker.cc
|
| @@ -36,31 +36,6 @@ namespace {
|
|
|
| void EmptyStatusCallback(SyncStatusCode status) {}
|
|
|
| -void QueryAppStatusOnUIThread(
|
| - const base::WeakPtr<ExtensionServiceInterface>& extension_service_ptr,
|
| - const std::vector<std::string>* app_ids,
|
| - SyncWorker::AppStatusMap* status,
|
| - const base::Closure& callback) {
|
| - ExtensionServiceInterface* extension_service = extension_service_ptr.get();
|
| - if (!extension_service) {
|
| - callback.Run();
|
| - return;
|
| - }
|
| -
|
| - for (std::vector<std::string>::const_iterator itr = app_ids->begin();
|
| - itr != app_ids->end(); ++itr) {
|
| - const std::string& app_id = *itr;
|
| - if (!extension_service->GetInstalledExtension(app_id))
|
| - (*status)[app_id] = SyncWorker::APP_STATUS_UNINSTALLED;
|
| - else if (!extension_service->IsExtensionEnabled(app_id))
|
| - (*status)[app_id] = SyncWorker::APP_STATUS_DISABLED;
|
| - else
|
| - (*status)[app_id] = SyncWorker::APP_STATUS_ENABLED;
|
| - }
|
| -
|
| - callback.Run();
|
| -}
|
| -
|
| } // namespace
|
|
|
| SyncWorker::SyncWorker(
|
| @@ -86,7 +61,9 @@ SyncWorker::SyncWorker(
|
| DCHECK(base_dir_.IsAbsolute());
|
| }
|
|
|
| -SyncWorker::~SyncWorker() {}
|
| +SyncWorker::~SyncWorker() {
|
| + observers_.Clear();
|
| +}
|
|
|
| void SyncWorker::Initialize() {
|
| DCHECK(sequence_checker_.CalledOnValidSequencedThread());
|
| @@ -498,7 +475,7 @@ void SyncWorker::UpdateRegisteredApps() {
|
|
|
| context_->GetUITaskRunner()->PostTask(
|
| FROM_HERE,
|
| - base::Bind(&QueryAppStatusOnUIThread,
|
| + base::Bind(&SyncWorker::QueryAppStatusOnUIThread,
|
| extension_service_,
|
| base::Owned(app_ids.release()),
|
| app_status,
|
| @@ -507,6 +484,31 @@ void SyncWorker::UpdateRegisteredApps() {
|
| FROM_HERE, callback)));
|
| }
|
|
|
| +void SyncWorker::QueryAppStatusOnUIThread(
|
| + const base::WeakPtr<ExtensionServiceInterface>& extension_service_ptr,
|
| + const std::vector<std::string>* app_ids,
|
| + AppStatusMap* status,
|
| + const base::Closure& callback) {
|
| + ExtensionServiceInterface* extension_service = extension_service_ptr.get();
|
| + if (!extension_service) {
|
| + callback.Run();
|
| + return;
|
| + }
|
| +
|
| + for (std::vector<std::string>::const_iterator itr = app_ids->begin();
|
| + itr != app_ids->end(); ++itr) {
|
| + const std::string& app_id = *itr;
|
| + if (!extension_service->GetInstalledExtension(app_id))
|
| + (*status)[app_id] = APP_STATUS_UNINSTALLED;
|
| + else if (!extension_service->IsExtensionEnabled(app_id))
|
| + (*status)[app_id] = APP_STATUS_DISABLED;
|
| + else
|
| + (*status)[app_id] = APP_STATUS_ENABLED;
|
| + }
|
| +
|
| + callback.Run();
|
| +}
|
| +
|
| void SyncWorker::DidQueryAppStatus(const AppStatusMap* app_status) {
|
| DCHECK(sequence_checker_.CalledOnValidSequencedThread());
|
|
|
|
|