| Index: chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
|
| diff --git a/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc b/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
|
| index ce923aa3fe79fed81b9bef093d302d7948df41af..dfa85e347e99ea30891e0cbc571c03da8e82b9f9 100644
|
| --- a/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
|
| +++ b/chrome/browser/media_galleries/linux/mtp_device_task_helper_map_service.cc
|
| @@ -22,19 +22,25 @@ MTPDeviceTaskHelperMapService* MTPDeviceTaskHelperMapService::GetInstance() {
|
| }
|
|
|
| MTPDeviceTaskHelper* MTPDeviceTaskHelperMapService::CreateDeviceTaskHelper(
|
| - const std::string& storage_name) {
|
| + const std::string& storage_name,
|
| + const bool read_only) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| DCHECK(!storage_name.empty());
|
| - DCHECK(!ContainsKey(task_helper_map_, storage_name));
|
| + const MTPDeviceTaskHelperKey key =
|
| + GetMTPDeviceTaskHelperKey(storage_name, read_only);
|
| + DCHECK(!ContainsKey(task_helper_map_, key));
|
| MTPDeviceTaskHelper* task_helper = new MTPDeviceTaskHelper();
|
| - task_helper_map_[storage_name] = task_helper;
|
| + task_helper_map_[key] = task_helper;
|
| return task_helper;
|
| }
|
|
|
| void MTPDeviceTaskHelperMapService::DestroyDeviceTaskHelper(
|
| - const std::string& storage_name) {
|
| + const std::string& storage_name,
|
| + const bool read_only) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| - TaskHelperMap::iterator it = task_helper_map_.find(storage_name);
|
| + const MTPDeviceTaskHelperKey key =
|
| + GetMTPDeviceTaskHelperKey(storage_name, read_only);
|
| + TaskHelperMap::iterator it = task_helper_map_.find(key);
|
| if (it == task_helper_map_.end())
|
| return;
|
| delete it->second;
|
| @@ -42,13 +48,25 @@ void MTPDeviceTaskHelperMapService::DestroyDeviceTaskHelper(
|
| }
|
|
|
| MTPDeviceTaskHelper* MTPDeviceTaskHelperMapService::GetDeviceTaskHelper(
|
| - const std::string& storage_name) {
|
| + const std::string& storage_name,
|
| + const bool read_only) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| DCHECK(!storage_name.empty());
|
| - TaskHelperMap::const_iterator it = task_helper_map_.find(storage_name);
|
| + const MTPDeviceTaskHelperKey key =
|
| + GetMTPDeviceTaskHelperKey(storage_name, read_only);
|
| + TaskHelperMap::const_iterator it = task_helper_map_.find(key);
|
| return (it != task_helper_map_.end()) ? it->second : NULL;
|
| }
|
|
|
| +// static
|
| +MTPDeviceTaskHelperMapService::MTPDeviceTaskHelperKey
|
| +MTPDeviceTaskHelperMapService::GetMTPDeviceTaskHelperKey(
|
| + const std::string& storage_name,
|
| + const bool read_only) {
|
| + return (read_only ? "ReadOnly" : "ReadWrite") + std::string("|") +
|
| + storage_name;
|
| +}
|
| +
|
| MTPDeviceTaskHelperMapService::MTPDeviceTaskHelperMapService() {
|
| }
|
|
|
|
|