| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/sync_file_system_service.h" | 5 #include "chrome/browser/sync_file_system/sync_file_system_service.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <string> | 10 #include <string> |
| (...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 260 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 260 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| 261 | 261 |
| 262 local_sync_runners_.clear(); | 262 local_sync_runners_.clear(); |
| 263 remote_sync_runners_.clear(); | 263 remote_sync_runners_.clear(); |
| 264 | 264 |
| 265 local_service_->Shutdown(); | 265 local_service_->Shutdown(); |
| 266 local_service_.reset(); | 266 local_service_.reset(); |
| 267 | 267 |
| 268 remote_service_.reset(); | 268 remote_service_.reset(); |
| 269 | 269 |
| 270 sync_driver::SyncService* profile_sync_service = | 270 syncer::SyncService* profile_sync_service = |
| 271 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); | 271 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); |
| 272 if (profile_sync_service) | 272 if (profile_sync_service) |
| 273 profile_sync_service->RemoveObserver(this); | 273 profile_sync_service->RemoveObserver(this); |
| 274 | 274 |
| 275 ExtensionRegistry::Get(profile_)->RemoveObserver(this); | 275 ExtensionRegistry::Get(profile_)->RemoveObserver(this); |
| 276 | 276 |
| 277 profile_ = nullptr; | 277 profile_ = nullptr; |
| 278 } | 278 } |
| 279 | 279 |
| 280 SyncFileSystemService::~SyncFileSystemService() { | 280 SyncFileSystemService::~SyncFileSystemService() { |
| (...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 local_service_->SetLocalChangeProcessorCallback( | 469 local_service_->SetLocalChangeProcessorCallback( |
| 470 base::Bind(&GetLocalChangeProcessorAdapter, AsWeakPtr())); | 470 base::Bind(&GetLocalChangeProcessorAdapter, AsWeakPtr())); |
| 471 | 471 |
| 472 remote_service_->AddServiceObserver(remote_syncer.get()); | 472 remote_service_->AddServiceObserver(remote_syncer.get()); |
| 473 remote_service_->AddFileStatusObserver(this); | 473 remote_service_->AddFileStatusObserver(this); |
| 474 remote_service_->SetRemoteChangeProcessor(local_service_.get()); | 474 remote_service_->SetRemoteChangeProcessor(local_service_.get()); |
| 475 | 475 |
| 476 local_sync_runners_.push_back(local_syncer.release()); | 476 local_sync_runners_.push_back(local_syncer.release()); |
| 477 remote_sync_runners_.push_back(remote_syncer.release()); | 477 remote_sync_runners_.push_back(remote_syncer.release()); |
| 478 | 478 |
| 479 sync_driver::SyncService* profile_sync_service = | 479 syncer::SyncService* profile_sync_service = |
| 480 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); | 480 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); |
| 481 if (profile_sync_service) { | 481 if (profile_sync_service) { |
| 482 UpdateSyncEnabledStatus(profile_sync_service); | 482 UpdateSyncEnabledStatus(profile_sync_service); |
| 483 profile_sync_service->AddObserver(this); | 483 profile_sync_service->AddObserver(this); |
| 484 } | 484 } |
| 485 | 485 |
| 486 ExtensionRegistry::Get(profile_)->AddObserver(this); | 486 ExtensionRegistry::Get(profile_)->AddObserver(this); |
| 487 } | 487 } |
| 488 | 488 |
| 489 void SyncFileSystemService::DidInitializeFileSystem( | 489 void SyncFileSystemService::DidInitializeFileSystem( |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 723 const Extension* extension) { | 723 const Extension* extension) { |
| 724 GURL app_origin = Extension::GetBaseURLFromExtensionId(extension->id()); | 724 GURL app_origin = Extension::GetBaseURLFromExtensionId(extension->id()); |
| 725 DVLOG(1) << "Handle extension notification for LOADED: " << app_origin; | 725 DVLOG(1) << "Handle extension notification for LOADED: " << app_origin; |
| 726 remote_service_->EnableOrigin( | 726 remote_service_->EnableOrigin( |
| 727 app_origin, | 727 app_origin, |
| 728 base::Bind(&DidHandleLoadEvent, app_origin)); | 728 base::Bind(&DidHandleLoadEvent, app_origin)); |
| 729 local_service_->SetOriginEnabled(app_origin, true); | 729 local_service_->SetOriginEnabled(app_origin, true); |
| 730 } | 730 } |
| 731 | 731 |
| 732 void SyncFileSystemService::OnStateChanged() { | 732 void SyncFileSystemService::OnStateChanged() { |
| 733 sync_driver::SyncService* profile_sync_service = | 733 syncer::SyncService* profile_sync_service = |
| 734 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); | 734 ProfileSyncServiceFactory::GetSyncServiceForBrowserContext(profile_); |
| 735 if (profile_sync_service) | 735 if (profile_sync_service) |
| 736 UpdateSyncEnabledStatus(profile_sync_service); | 736 UpdateSyncEnabledStatus(profile_sync_service); |
| 737 } | 737 } |
| 738 | 738 |
| 739 void SyncFileSystemService::OnFileStatusChanged( | 739 void SyncFileSystemService::OnFileStatusChanged( |
| 740 const FileSystemURL& url, | 740 const FileSystemURL& url, |
| 741 SyncFileType file_type, | 741 SyncFileType file_type, |
| 742 SyncFileStatus sync_status, | 742 SyncFileStatus sync_status, |
| 743 SyncAction action_taken, | 743 SyncAction action_taken, |
| 744 SyncDirection direction) { | 744 SyncDirection direction) { |
| 745 FOR_EACH_OBSERVER( | 745 FOR_EACH_OBSERVER( |
| 746 SyncEventObserver, observers_, | 746 SyncEventObserver, observers_, |
| 747 OnFileSynced(url, file_type, sync_status, action_taken, direction)); | 747 OnFileSynced(url, file_type, sync_status, action_taken, direction)); |
| 748 } | 748 } |
| 749 | 749 |
| 750 void SyncFileSystemService::UpdateSyncEnabledStatus( | 750 void SyncFileSystemService::UpdateSyncEnabledStatus( |
| 751 sync_driver::SyncService* profile_sync_service) { | 751 syncer::SyncService* profile_sync_service) { |
| 752 if (!profile_sync_service->IsFirstSetupComplete()) | 752 if (!profile_sync_service->IsFirstSetupComplete()) |
| 753 return; | 753 return; |
| 754 bool old_sync_enabled = sync_enabled_; | 754 bool old_sync_enabled = sync_enabled_; |
| 755 sync_enabled_ = profile_sync_service->GetActiveDataTypes().Has( | 755 sync_enabled_ = profile_sync_service->GetActiveDataTypes().Has( |
| 756 syncer::APPS); | 756 syncer::APPS); |
| 757 remote_service_->SetSyncEnabled(sync_enabled_); | 757 remote_service_->SetSyncEnabled(sync_enabled_); |
| 758 if (!old_sync_enabled && sync_enabled_) | 758 if (!old_sync_enabled && sync_enabled_) |
| 759 RunForEachSyncRunners(&SyncProcessRunner::Schedule); | 759 RunForEachSyncRunners(&SyncProcessRunner::Schedule); |
| 760 } | 760 } |
| 761 | 761 |
| 762 void SyncFileSystemService::RunForEachSyncRunners( | 762 void SyncFileSystemService::RunForEachSyncRunners( |
| 763 void(SyncProcessRunner::*method)()) { | 763 void(SyncProcessRunner::*method)()) { |
| 764 for (ScopedVector<SyncProcessRunner>::iterator iter = | 764 for (ScopedVector<SyncProcessRunner>::iterator iter = |
| 765 local_sync_runners_.begin(); | 765 local_sync_runners_.begin(); |
| 766 iter != local_sync_runners_.end(); ++iter) | 766 iter != local_sync_runners_.end(); ++iter) |
| 767 ((*iter)->*method)(); | 767 ((*iter)->*method)(); |
| 768 for (ScopedVector<SyncProcessRunner>::iterator iter = | 768 for (ScopedVector<SyncProcessRunner>::iterator iter = |
| 769 remote_sync_runners_.begin(); | 769 remote_sync_runners_.begin(); |
| 770 iter != remote_sync_runners_.end(); ++iter) | 770 iter != remote_sync_runners_.end(); ++iter) |
| 771 ((*iter)->*method)(); | 771 ((*iter)->*method)(); |
| 772 } | 772 } |
| 773 | 773 |
| 774 } // namespace sync_file_system | 774 } // namespace sync_file_system |
| OLD | NEW |