Index: chrome/browser/media_gallery/media_file_system_registry.cc |
diff --git a/chrome/browser/media_gallery/media_file_system_registry.cc b/chrome/browser/media_gallery/media_file_system_registry.cc |
index 96bcf2aaa1812376165e9cd89dab991fa0f942e3..773efdbffc35b931d6e1ab14a3c193a9f3d2bb5f 100644 |
--- a/chrome/browser/media_gallery/media_file_system_registry.cc |
+++ b/chrome/browser/media_gallery/media_file_system_registry.cc |
@@ -16,6 +16,9 @@ |
#include "content/public/browser/notification_types.h" |
#include "content/public/browser/render_process_host.h" |
#include "webkit/fileapi/isolated_context.h" |
+#include "webkit/fileapi/media_device_map_service.h" |
+ |
+using fileapi::MediaDeviceMapService; |
namespace chrome { |
@@ -80,12 +83,15 @@ MediaFileSystemRegistry::GetMediaFileSystems( |
return results; |
} |
-void MediaFileSystemRegistry::OnMediaDeviceDetached(const std::string& id) { |
+void MediaFileSystemRegistry::OnMediaDeviceDetached( |
+ const std::string& id, |
+ const FilePath::StringType& location) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
DeviceIdToMediaPathMap::iterator it = device_id_map_.find(id); |
if (it == device_id_map_.end()) |
return; |
+ MediaDeviceMapService::GetInstance()->RemoveMediaDevice(location); |
RevokeMediaFileSystem(it->second); |
device_id_map_.erase(it); |
} |