diff options
author | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 03:59:35 +0000 |
---|---|---|
committer | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-17 03:59:35 +0000 |
commit | 17d0ba461daac2c49a3b3ebc299f94dc87c91393 (patch) | |
tree | 79b5073ecff56192b881b688e1114102c194bbcd /chrome/browser/chromeos/extensions/file_manager | |
parent | adbe1348fc14fc502ca0dc7de3002d37398a07b9 (diff) | |
download | chromium_src-17d0ba461daac2c49a3b3ebc299f94dc87c91393.zip chromium_src-17d0ba461daac2c49a3b3ebc299f94dc87c91393.tar.gz chromium_src-17d0ba461daac2c49a3b3ebc299f94dc87c91393.tar.bz2 |
drive: Introduce DriveSystemServiceObserver
Move DriveFileSystem::NotifyFileSystemMounted() and
NotifyFileSystemToBeUnmounted() to DriveSystemServiceObserver
in favor of less things to have in DriveFileSystem
BUG=231788
TEST=none
Review URL: https://codereview.chromium.org/13866050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194529 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/extensions/file_manager')
3 files changed, 17 insertions, 11 deletions
diff --git a/chrome/browser/chromeos/extensions/file_manager/drive_test_util.cc b/chrome/browser/chromeos/extensions/file_manager/drive_test_util.cc index a7a1fc2..265961b 100644 --- a/chrome/browser/chromeos/extensions/file_manager/drive_test_util.cc +++ b/chrome/browser/chromeos/extensions/file_manager/drive_test_util.cc @@ -20,31 +20,31 @@ const char kDriveMountPointName[] = "drive"; // Helper class used to wait for |OnFileSystemMounted| event from a drive file // system. -class DriveMountPointWaiter : public drive::DriveFileSystemObserver { +class DriveMountPointWaiter : public drive::DriveSystemServiceObserver { public: - explicit DriveMountPointWaiter(drive::DriveFileSystemInterface* file_system) - : file_system_(file_system) { - file_system_->AddObserver(this); + explicit DriveMountPointWaiter(drive::DriveSystemService* system_service) + : system_service_(system_service) { + system_service_->AddObserver(this); } virtual ~DriveMountPointWaiter() { - file_system_->RemoveObserver(this); + system_service_->RemoveObserver(this); } - // DriveFileSystemObserver override. + // DriveSystemServiceObserver override. virtual void OnFileSystemMounted() OVERRIDE { // Note that it is OK for |run_loop_.Quit| to be called before // |run_loop_.Run|. In this case |Run| will return immediately. run_loop_.Quit(); } - // Runs loop until the file_system_ gets mounted. + // Runs loop until the file system is mounted. void Wait() { run_loop_.Run(); } private: - drive::DriveFileSystemInterface* file_system_; + drive::DriveSystemService* system_service_; base::RunLoop run_loop_; }; @@ -63,9 +63,9 @@ void WaitUntilDriveMountPointIsAdded(Profile* profile) { drive::DriveSystemService* system_service = drive::DriveSystemServiceFactory::FindForProfileRegardlessOfStates( profile); - DCHECK(system_service && system_service->file_system()); + DCHECK(system_service); - DriveMountPointWaiter mount_point_waiter(system_service->file_system()); + DriveMountPointWaiter mount_point_waiter(system_service); base::FilePath ignored; // GetRegisteredPath succeeds iff the mount point exists. diff --git a/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.cc b/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.cc index 8a1c14c..4cf9bd1 100644 --- a/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.cc +++ b/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.cc @@ -293,6 +293,7 @@ void FileManagerEventRouter::Shutdown() { DriveSystemService* system_service = DriveSystemServiceFactory::FindForProfileRegardlessOfStates(profile_); if (system_service) { + system_service->RemoveObserver(this); system_service->file_system()->RemoveObserver(this); system_service->drive_service()->RemoveObserver(this); } @@ -322,6 +323,7 @@ void FileManagerEventRouter::ObserveFileSystemEvents() { DriveSystemService* system_service = DriveSystemServiceFactory::GetForProfileRegardlessOfStates(profile_); if (system_service) { + system_service->AddObserver(this); system_service->drive_service()->AddObserver(this); system_service->file_system()->AddObserver(this); } diff --git a/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.h b/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.h index 9a5b327..199f58e 100644 --- a/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.h +++ b/chrome/browser/chromeos/extensions/file_manager/file_manager_event_router.h @@ -16,6 +16,7 @@ #include "base/synchronization/lock.h" #include "chrome/browser/chromeos/drive/drive_file_system_observer.h" #include "chrome/browser/chromeos/drive/drive_resource_metadata.h" +#include "chrome/browser/chromeos/drive/drive_system_service.h" #include "chrome/browser/chromeos/net/connectivity_state_helper_observer.h" #include "chrome/browser/chromeos/system_key_event_listener.h" #include "chrome/browser/google_apis/drive_service_interface.h" @@ -37,6 +38,7 @@ class FileManagerEventRouter : public chromeos::disks::DiskMountManager::Observer, public chromeos::ConnectivityStateHelperObserver, public chromeos::SystemKeyEventListener::ModifiersObserver, + public drive::DriveSystemServiceObserver, public drive::DriveFileSystemObserver, public google_apis::DriveServiceObserver { public: @@ -109,9 +111,11 @@ class FileManagerEventRouter const google_apis::OperationProgressStatusList& list) OVERRIDE; virtual void OnRefreshTokenInvalid() OVERRIDE; - // drive::DriveFileSystemInterface::Observer overrides. + // drive::DriveFileSystemObserver overrides. virtual void OnDirectoryChanged( const base::FilePath& directory_path) OVERRIDE; + + // drive::DriveSystemServiceObserver overrides. virtual void OnFileSystemMounted() OVERRIDE; virtual void OnFileSystemBeingUnmounted() OVERRIDE; |