| Index: chrome/browser/chromeos/file_manager/volume_manager.cc
|
| diff --git a/chrome/browser/chromeos/file_manager/volume_manager.cc b/chrome/browser/chromeos/file_manager/volume_manager.cc
|
| index 2026e431cd49a1a1f2713e456f7e7d9d31b62a47..17a18eac724fecd02b8d80ee2bd2014c084b34a3 100644
|
| --- a/chrome/browser/chromeos/file_manager/volume_manager.cc
|
| +++ b/chrome/browser/chromeos/file_manager/volume_manager.cc
|
| @@ -110,6 +110,8 @@ std::string VolumeTypeToString(VolumeType type) {
|
| return "mtp";
|
| case VOLUME_TYPE_TESTING:
|
| return "testing";
|
| + case VOLUME_TYPE_PLUGIN_PROVIDED:
|
| + return "plugin_provided";
|
| case NUM_VOLUME_TYPE:
|
| break;
|
| }
|
| @@ -224,8 +226,10 @@ Volume* Volume::CreateForProvidedFileSystem(
|
| volume->source_ = SOURCE_NETWORK;
|
| break;
|
| }
|
| + using chromeos::file_system_provider::Source_Type;
|
| volume->volume_label_ = file_system_info.display_name();
|
| - volume->type_ = VOLUME_TYPE_PROVIDED;
|
| + volume->type_ = file_system_info.source_type() == Source_Type::plugin ?
|
| + VOLUME_TYPE_PLUGIN_PROVIDED : VOLUME_TYPE_PROVIDED;
|
| volume->mount_path_ = file_system_info.mount_path();
|
| volume->mount_condition_ = chromeos::disks::MOUNT_CONDITION_NONE;
|
| volume->mount_context_ = mount_context;
|
| @@ -280,17 +284,19 @@ Volume* Volume::CreateForTesting(const base::FilePath& device_path,
|
| return volume;
|
| }
|
|
|
| -VolumeManager::VolumeManager(
|
| - Profile* profile,
|
| +VolumeManager::VolumeManager(Profile* profile,
|
| drive::DriveIntegrationService* drive_integration_service,
|
| chromeos::PowerManagerClient* power_manager_client,
|
| chromeos::disks::DiskMountManager* disk_mount_manager,
|
| chromeos::file_system_provider::Service* file_system_provider_service,
|
| + chromeos::file_system_provider::PluginService*
|
| + file_system_plugin_provided_service,
|
| GetMtpStorageInfoCallback get_mtp_storage_info_callback)
|
| : profile_(profile),
|
| drive_integration_service_(drive_integration_service),
|
| disk_mount_manager_(disk_mount_manager),
|
| file_system_provider_service_(file_system_provider_service),
|
| + file_system_plugin_provided_service_(file_system_plugin_provided_service),
|
| get_mtp_storage_info_callback_(get_mtp_storage_info_callback),
|
| snapshot_manager_(new SnapshotManager(profile_)),
|
| weak_ptr_factory_(this) {
|
| @@ -347,7 +353,9 @@ void VolumeManager::Initialize() {
|
| DoMountEvent(chromeos::MOUNT_ERROR_NONE, volume);
|
| }
|
| }
|
| -
|
| + // Subscribe to PluginService
|
| + if (file_system_plugin_provided_service_)
|
| + file_system_plugin_provided_service_->AddObserver(this);
|
| // Subscribe to Profile Preference change.
|
| pref_change_registrar_.Init(profile_->GetPrefs());
|
| pref_change_registrar_.Add(
|
| @@ -377,6 +385,8 @@ void VolumeManager::Shutdown() {
|
|
|
| if (file_system_provider_service_)
|
| file_system_provider_service_->RemoveObserver(this);
|
| + if (file_system_plugin_provided_service_)
|
| + file_system_plugin_provided_service_->RemoveObserver(this);
|
| }
|
|
|
| void VolumeManager::AddObserver(VolumeManagerObserver* observer) {
|
|
|