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

Side by Side Diff: components/storage_monitor/portable_device_watcher_win.cc

Issue 1220653002: Fix some case-insensitive cases for StartsWith (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: grt's review comments, Mac fix Created 5 years, 5 months 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 // Any tasks that communicates with the portable device may take >100ms to 5 // Any tasks that communicates with the portable device may take >100ms to
6 // complete. Those tasks should be run on an blocking thread instead of the 6 // complete. Those tasks should be run on an blocking thread instead of the
7 // UI thread. 7 // UI thread.
8 8
9 #include "components/storage_monitor/portable_device_watcher_win.h" 9 #include "components/storage_monitor/portable_device_watcher_win.h"
10 10
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 return true; 294 return true;
295 } 295 }
296 296
297 // Returns true if the portable device belongs to a mass storage class. 297 // Returns true if the portable device belongs to a mass storage class.
298 // |pnp_device_id| specifies the plug and play device id. 298 // |pnp_device_id| specifies the plug and play device id.
299 // |device_name| specifies the name of the device. 299 // |device_name| specifies the name of the device.
300 bool IsMassStoragePortableDevice(const base::string16& pnp_device_id, 300 bool IsMassStoragePortableDevice(const base::string16& pnp_device_id,
301 const base::string16& device_name) { 301 const base::string16& device_name) {
302 // Based on testing, if the pnp device id starts with "\\?\wpdbusenumroot#", 302 // Based on testing, if the pnp device id starts with "\\?\wpdbusenumroot#",
303 // then the attached device belongs to a mass storage class. 303 // then the attached device belongs to a mass storage class.
304 if (base::StartsWith(pnp_device_id, L"\\\\?\\wpdbusenumroot#", false)) 304 if (base::StartsWith(pnp_device_id, L"\\\\?\\wpdbusenumroot#",
305 base::CompareCase::INSENSITIVE_ASCII))
305 return true; 306 return true;
306 307
307 // If the device is a volume mounted device, |device_name| will be 308 // If the device is a volume mounted device, |device_name| will be
308 // the volume name. 309 // the volume name.
309 return ((device_name.length() >= 2) && (device_name[1] == L':') && 310 return ((device_name.length() >= 2) && (device_name[1] == L':') &&
310 (((device_name[0] >= L'A') && (device_name[0] <= L'Z')) || 311 (((device_name[0] >= L'A') && (device_name[0] <= L'Z')) ||
311 ((device_name[0] >= L'a') && (device_name[0] <= L'z')))); 312 ((device_name[0] >= L'a') && (device_name[0] <= L'z'))));
312 } 313 }
313 314
314 // Returns the name of the device specified by |pnp_device_id|. 315 // Returns the name of the device specified by |pnp_device_id|.
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 if (storage_notifications_) { 668 if (storage_notifications_) {
668 storage_notifications_->ProcessDetach( 669 storage_notifications_->ProcessDetach(
669 storage_map_iter->second.device_id()); 670 storage_map_iter->second.device_id());
670 } 671 }
671 storage_map_.erase(storage_map_iter); 672 storage_map_.erase(storage_map_iter);
672 } 673 }
673 device_map_.erase(device_iter); 674 device_map_.erase(device_iter);
674 } 675 }
675 676
676 } // namespace storage_monitor 677 } // namespace storage_monitor
OLDNEW
« no previous file with comments | « components/storage_monitor/BUILD.gn ('k') | content/browser/loader/resource_dispatcher_host_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698