Index: chrome/browser/storage_monitor/storage_monitor_mac.mm |
diff --git a/chrome/browser/storage_monitor/storage_monitor_mac.mm b/chrome/browser/storage_monitor/storage_monitor_mac.mm |
index f6428645f9f0e6626e2ce53c4e367c7f327dd879..370271f903b54c0a7a3161a9060ac8f38174e35b 100644 |
--- a/chrome/browser/storage_monitor/storage_monitor_mac.mm |
+++ b/chrome/browser/storage_monitor/storage_monitor_mac.mm |
@@ -272,6 +272,19 @@ bool StorageMonitorMac::GetStorageInfoForPath(const base::FilePath& path, |
void StorageMonitorMac::EjectDevice( |
const std::string& device_id, |
base::Callback<void(EjectStatus)> callback) { |
+ StorageInfo::Type type; |
+ std::string uuid; |
+ if (!StorageInfo::CrackDeviceId(device_id, &type, &uuid)) { |
+ callback.Run(EJECT_FAILURE); |
+ return; |
+ } |
+ |
+ if (type == StorageInfo::MAC_IMAGE_CAPTURE && |
+ image_capture_device_manager_.get()) { |
+ image_capture_device_manager_->EjectDevice(uuid, callback); |
+ return; |
+ } |
+ |
std::string bsd_name; |
for (std::map<std::string, StorageInfo>::iterator |
it = disk_info_map_.begin(); it != disk_info_map_.end(); ++it) { |