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

Side by Side Diff: base/file_path.cc

Issue 6246036: FilePath: Remove most of ToWStringHack, adding a LossyDisplayName() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "base/file_path.h" 7 #include "base/file_path.h"
8 8
9 #if defined(OS_WIN) 9 #if defined(OS_WIN)
10 #include <windows.h> 10 #include <windows.h>
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 std::vector<StringType>::const_iterator it = components.begin(); 506 std::vector<StringType>::const_iterator it = components.begin();
507 for (; it != components.end(); ++it) { 507 for (; it != components.end(); ++it) {
508 const StringType& component = *it; 508 const StringType& component = *it;
509 if (component == kParentDirectory) 509 if (component == kParentDirectory)
510 return true; 510 return true;
511 } 511 }
512 return false; 512 return false;
513 } 513 }
514 514
515 #if defined(OS_POSIX) 515 #if defined(OS_POSIX)
516 // See file_path.h for a discussion of the encoding of paths on POSIX
517 // platforms. These encoding conversion functions are not quite correct.
516 518
517 // See file_path.h for a discussion of the encoding of paths on POSIX 519 string16 FilePath::LossyDisplayName() const {
518 // platforms. These *Hack() functions are not quite correct, but they're 520 return WideToUTF16(base::SysNativeMBToWide(path_));
Mark Mentovai 2011/02/01 22:42:44 If on Mac, you can just do an 8-to-16 conversion.
519 // only temporary while we fix the remainder of the code. 521 }
522
523 // The *Hack functions are temporary while we fix the remainder of the code.
520 // Remember to remove the #includes at the top when you remove these. 524 // Remember to remove the #includes at the top when you remove these.
521 525
522 // static 526 // static
523 FilePath FilePath::FromWStringHack(const std::wstring& wstring) { 527 FilePath FilePath::FromWStringHack(const std::wstring& wstring) {
524 return FilePath(base::SysWideToNativeMB(wstring)); 528 return FilePath(base::SysWideToNativeMB(wstring));
525 } 529 }
526 std::wstring FilePath::ToWStringHack() const { 530 std::wstring FilePath::ToWStringHack() const {
527 return base::SysNativeMBToWide(path_); 531 return base::SysNativeMBToWide(path_);
528 } 532 }
529 #elif defined(OS_WIN) 533 #elif defined(OS_WIN)
534 string16 FilePath::LossyDisplayName() const {
535 return path_;
536 }
537
530 // static 538 // static
531 FilePath FilePath::FromWStringHack(const std::wstring& wstring) { 539 FilePath FilePath::FromWStringHack(const std::wstring& wstring) {
532 return FilePath(wstring); 540 return FilePath(wstring);
533 } 541 }
534 std::wstring FilePath::ToWStringHack() const { 542 std::wstring FilePath::ToWStringHack() const {
535 return path_; 543 return path_;
536 } 544 }
537 #endif 545 #endif
538 546
539 // static. 547 // static.
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
1187 1195
1188 #if defined(FILE_PATH_USES_WIN_SEPARATORS) 1196 #if defined(FILE_PATH_USES_WIN_SEPARATORS)
1189 FilePath FilePath::NormalizeWindowsPathSeparators() const { 1197 FilePath FilePath::NormalizeWindowsPathSeparators() const {
1190 StringType copy = path_; 1198 StringType copy = path_;
1191 for (size_t i = 1; i < arraysize(kSeparators); ++i) { 1199 for (size_t i = 1; i < arraysize(kSeparators); ++i) {
1192 std::replace(copy.begin(), copy.end(), kSeparators[i], kSeparators[0]); 1200 std::replace(copy.begin(), copy.end(), kSeparators[i], kSeparators[0]);
1193 } 1201 }
1194 return FilePath(copy); 1202 return FilePath(copy);
1195 } 1203 }
1196 #endif 1204 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698