diff options
Diffstat (limited to 'chromium/components/storage_monitor/storage_monitor_chromeos.cc')
-rw-r--r-- | chromium/components/storage_monitor/storage_monitor_chromeos.cc | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/chromium/components/storage_monitor/storage_monitor_chromeos.cc b/chromium/components/storage_monitor/storage_monitor_chromeos.cc index 5fe15f96e30..6e1b98ee2dc 100644 --- a/chromium/components/storage_monitor/storage_monitor_chromeos.cc +++ b/chromium/components/storage_monitor/storage_monitor_chromeos.cc @@ -8,6 +8,7 @@ #include "base/files/file_path.h" #include "base/logging.h" +#include "base/sequenced_task_runner.h" #include "base/single_thread_task_runner.h" #include "base/stl_util.h" #include "base/strings/string16.h" @@ -19,10 +20,11 @@ #include "base/task_scheduler/task_traits.h" #include "base/threading/sequenced_task_runner_handle.h" #include "components/storage_monitor/media_storage_util.h" -#include "components/storage_monitor/media_transfer_protocol_device_observer_chromeos.h" +#include "components/storage_monitor/mtp_manager_client_chromeos.h" #include "components/storage_monitor/removable_device_constants.h" #include "content/public/browser/browser_thread.h" -#include "device/media_transfer_protocol/media_transfer_protocol_manager.h" +#include "services/device/public/mojom/constants.mojom.h" +#include "services/service_manager/public/cpp/connector.h" using chromeos::disks::DiskMountManager; @@ -113,13 +115,16 @@ void StorageMonitorCros::Init() { CheckExistingMountPoints(); // Tests may have already set a MTP manager. - if (!media_transfer_protocol_manager_) { - media_transfer_protocol_manager_ = - device::MediaTransferProtocolManager::Initialize(); + if (!mtp_device_manager_) { + // Set up the connection with mojofied MtpManager. + DCHECK(GetConnector()); + GetConnector()->BindInterface(device::mojom::kServiceName, + mojo::MakeRequest(&mtp_device_manager_)); } - media_transfer_protocol_device_observer_ = - std::make_unique<MediaTransferProtocolDeviceObserverChromeOS>( - receiver(), media_transfer_protocol_manager_.get()); + // |mtp_manager_client_| needs to be initialized for both tests and + // production code, so keep it out of the if condition. + mtp_manager_client_ = std::make_unique<MtpManagerClientChromeOS>( + receiver(), mtp_device_manager_.get()); } void StorageMonitorCros::CheckExistingMountPoints() { @@ -239,9 +244,9 @@ void StorageMonitorCros::OnRenameEvent(DiskMountManager::RenameEvent event, const std::string& device_path) {} void StorageMonitorCros::SetMediaTransferProtocolManagerForTest( - device::MediaTransferProtocolManager* test_manager) { - DCHECK(!media_transfer_protocol_manager_); - media_transfer_protocol_manager_.reset(test_manager); + device::mojom::MtpManagerPtr test_manager) { + DCHECK(!mtp_device_manager_); + mtp_device_manager_ = std::move(test_manager); } bool StorageMonitorCros::GetStorageInfoForPath( @@ -249,8 +254,7 @@ bool StorageMonitorCros::GetStorageInfoForPath( StorageInfo* device_info) const { DCHECK(device_info); - if (media_transfer_protocol_device_observer_->GetStorageInfoForPath( - path, device_info)) { + if (mtp_manager_client_->GetStorageInfoForPath(path, device_info)) { return true; } @@ -292,7 +296,7 @@ void StorageMonitorCros::EjectDevice( } if (type == StorageInfo::MTP_OR_PTP) { - media_transfer_protocol_device_observer_->EjectDevice(device_id, callback); + mtp_manager_client_->EjectDevice(device_id, callback); return; } @@ -318,9 +322,9 @@ void StorageMonitorCros::EjectDevice( base::Bind(NotifyUnmountResult, callback)); } -device::MediaTransferProtocolManager* +device::mojom::MtpManager* StorageMonitorCros::media_transfer_protocol_manager() { - return media_transfer_protocol_manager_.get(); + return mtp_device_manager_.get(); } void StorageMonitorCros::AddMountedPath( |