Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(81)

Side by Side Diff: chrome/browser/system_monitor/media_storage_util.cc

Issue 11366144: [Media Gallery][ChromeOS] Improve device media gallery names. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: '' Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // chrome::MediaStorageUtil implementation. 5 // chrome::MediaStorageUtil implementation.
6 6
7 #include "chrome/browser/system_monitor/media_storage_util.h" 7 #include "chrome/browser/system_monitor/media_storage_util.h"
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/callback.h" 11 #include "base/callback.h"
12 #include "base/file_util.h" 12 #include "base/file_util.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
15 #include "base/system_monitor/system_monitor.h" 15 #include "base/system_monitor/system_monitor.h"
16 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
17 #include "chrome/browser/system_monitor/media_device_notifications_utils.h"
17 #include "content/public/browser/browser_thread.h" 18 #include "content/public/browser/browser_thread.h"
18 19
19 #if defined(OS_CHROMEOS) 20 #if defined(OS_CHROMEOS)
20 #include "chrome/browser/system_monitor/removable_device_notifications_chromeos. h" 21 #include "chrome/browser/system_monitor/removable_device_notifications_chromeos. h"
21 #elif defined(OS_LINUX) 22 #elif defined(OS_LINUX)
22 #include "chrome/browser/system_monitor/removable_device_notifications_linux.h" 23 #include "chrome/browser/system_monitor/removable_device_notifications_linux.h"
23 #elif defined(OS_MACOSX) 24 #elif defined(OS_MACOSX)
24 #include "chrome/browser/system_monitor/removable_device_notifications_mac.h" 25 #include "chrome/browser/system_monitor/removable_device_notifications_mac.h"
25 #elif defined(OS_WIN) 26 #elif defined(OS_WIN)
26 #include "chrome/browser/system_monitor/removable_device_notifications_window_wi n.h" 27 #include "chrome/browser/system_monitor/removable_device_notifications_window_wi n.h"
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 if (!found_device) { 250 if (!found_device) {
250 MediaTransferProtocolDeviceObserverLinux* mtp_manager = 251 MediaTransferProtocolDeviceObserverLinux* mtp_manager =
251 MediaTransferProtocolDeviceObserverLinux::GetInstance(); 252 MediaTransferProtocolDeviceObserverLinux::GetInstance();
252 found_device = mtp_manager->GetStorageInfoForPath(path, &device_info); 253 found_device = mtp_manager->GetStorageInfoForPath(path, &device_info);
253 } 254 }
254 #endif 255 #endif
255 256
256 if (found_device && IsRemovableDevice(device_info.device_id)) { 257 if (found_device && IsRemovableDevice(device_info.device_id)) {
257 if (device_id) 258 if (device_id)
258 *device_id = device_info.device_id; 259 *device_id = device_info.device_id;
259 if (device_name) 260
260 *device_name = device_info.name; 261 FilePath sub_folder_path;
261 if (relative_path) { 262 if (device_name || relative_path) {
262 *relative_path = FilePath(); 263 bool success = FilePath(device_info.location)
263 FilePath mount_point(device_info.location); 264 .AppendRelativePath(path, &sub_folder_path);
264 bool success = mount_point.AppendRelativePath(path, relative_path);
265 #if defined(OS_POSIX)
266 if (!relative_path->value().empty() && device_name) {
267 *device_name += ASCIIToUTF16(" (") +
268 relative_path->BaseName().LossyDisplayName() + ASCIIToUTF16(")");
269 }
270 #endif
271 DCHECK(success); 265 DCHECK(success);
272 } 266 }
267
268 if (device_name) {
269 #if defined(OS_CHROMEOS)
270 *device_name = GetDisplayNameForDevice(
271 notifier->GetStorageSize(device_info.location),
272 sub_folder_path.value().empty() ?
273 device_info.name :
274 sub_folder_path.BaseName().LossyDisplayName() +
275 ASCIIToUTF16(" - ") + device_info.name);
276 #else
277 *device_name = device_info.name;
278 #endif
279 }
280
281 if (relative_path)
282 *relative_path = sub_folder_path;
273 return true; 283 return true;
274 } 284 }
275 285
276 // On Posix systems, there's one root so any absolute path could be valid. 286 // On Posix systems, there's one root so any absolute path could be valid.
277 #if !defined(OS_POSIX) 287 #if !defined(OS_POSIX)
278 if (!found_device) 288 if (!found_device)
279 return false; 289 return false;
280 #endif 290 #endif
281 291
282 if (device_id) 292 if (device_id)
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 341
332 // static 342 // static
333 void MediaStorageUtil::SetGetDeviceInfoFromPathFunctionForTesting( 343 void MediaStorageUtil::SetGetDeviceInfoFromPathFunctionForTesting(
334 GetDeviceInfoFromPathFunction function) { 344 GetDeviceInfoFromPathFunction function) {
335 g_test_get_device_info_from_path_function = function; 345 g_test_get_device_info_from_path_function = function;
336 } 346 }
337 347
338 MediaStorageUtil::MediaStorageUtil() {} 348 MediaStorageUtil::MediaStorageUtil() {}
339 349
340 } // namespace chrome 350 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698