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

Side by Side Diff: base/files/file_path.cc

Issue 1686263008: Add utility method for WebString to base::FilePath conversion (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase! Created 4 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
« no previous file with comments | « base/files/file_path.h ('k') | content/child/simple_webmimeregistry_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "base/files/file_path.h" 5 #include "base/files/file_path.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <algorithm> 8 #include <algorithm>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after
603 603
604 string16 FilePath::AsUTF16Unsafe() const { 604 string16 FilePath::AsUTF16Unsafe() const {
605 #if defined(SYSTEM_NATIVE_UTF8) 605 #if defined(SYSTEM_NATIVE_UTF8)
606 return UTF8ToUTF16(value()); 606 return UTF8ToUTF16(value());
607 #else 607 #else
608 return WideToUTF16(SysNativeMBToWide(value())); 608 return WideToUTF16(SysNativeMBToWide(value()));
609 #endif 609 #endif
610 } 610 }
611 611
612 // static 612 // static
613 FilePath FilePath::FromUTF8Unsafe(const std::string& utf8) { 613 FilePath FilePath::FromUTF8Unsafe(StringPiece utf8) {
614 #if defined(SYSTEM_NATIVE_UTF8) 614 #if defined(SYSTEM_NATIVE_UTF8)
615 return FilePath(utf8); 615 return FilePath(utf8);
616 #else 616 #else
617 return FilePath(SysWideToNativeMB(UTF8ToWide(utf8))); 617 return FilePath(SysWideToNativeMB(UTF8ToWide(utf8)));
618 #endif 618 #endif
619 } 619 }
620 620
621 // static 621 // static
622 FilePath FilePath::FromUTF16Unsafe(const string16& utf16) { 622 FilePath FilePath::FromUTF16Unsafe(StringPiece16 utf16) {
623 #if defined(SYSTEM_NATIVE_UTF8) 623 #if defined(SYSTEM_NATIVE_UTF8)
624 return FilePath(UTF16ToUTF8(utf16)); 624 return FilePath(UTF16ToUTF8(utf16));
625 #else 625 #else
626 return FilePath(SysWideToNativeMB(UTF16ToWide(utf16))); 626 return FilePath(SysWideToNativeMB(UTF16ToWide(utf16.as_string())));
627 #endif 627 #endif
628 } 628 }
629 629
630 #elif defined(OS_WIN) 630 #elif defined(OS_WIN)
631 string16 FilePath::LossyDisplayName() const { 631 string16 FilePath::LossyDisplayName() const {
632 return path_; 632 return path_;
633 } 633 }
634 634
635 std::string FilePath::MaybeAsASCII() const { 635 std::string FilePath::MaybeAsASCII() const {
636 if (base::IsStringASCII(path_)) 636 if (base::IsStringASCII(path_))
637 return UTF16ToASCII(path_); 637 return UTF16ToASCII(path_);
638 return std::string(); 638 return std::string();
639 } 639 }
640 640
641 std::string FilePath::AsUTF8Unsafe() const { 641 std::string FilePath::AsUTF8Unsafe() const {
642 return WideToUTF8(value()); 642 return WideToUTF8(value());
643 } 643 }
644 644
645 string16 FilePath::AsUTF16Unsafe() const { 645 string16 FilePath::AsUTF16Unsafe() const {
646 return value(); 646 return value();
647 } 647 }
648 648
649 // static 649 // static
650 FilePath FilePath::FromUTF8Unsafe(const std::string& utf8) { 650 FilePath FilePath::FromUTF8Unsafe(StringPiece utf8) {
651 return FilePath(UTF8ToWide(utf8)); 651 return FilePath(UTF8ToWide(utf8));
652 } 652 }
653 653
654 // static 654 // static
655 FilePath FilePath::FromUTF16Unsafe(const string16& utf16) { 655 FilePath FilePath::FromUTF16Unsafe(StringPiece16 utf16) {
656 return FilePath(utf16); 656 return FilePath(utf16);
657 } 657 }
658 #endif 658 #endif
659 659
660 void FilePath::GetSizeForPickle(PickleSizer* sizer) const { 660 void FilePath::GetSizeForPickle(PickleSizer* sizer) const {
661 #if defined(OS_WIN) 661 #if defined(OS_WIN)
662 sizer->AddString16(path_); 662 sizer->AddString16(path_);
663 #else 663 #else
664 sizer->AddString(path_); 664 sizer->AddString(path_);
665 #endif 665 #endif
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1321 #endif 1321 #endif
1322 } 1322 }
1323 1323
1324 #if defined(OS_ANDROID) 1324 #if defined(OS_ANDROID)
1325 bool FilePath::IsContentUri() const { 1325 bool FilePath::IsContentUri() const {
1326 return StartsWith(path_, "content://", base::CompareCase::INSENSITIVE_ASCII); 1326 return StartsWith(path_, "content://", base::CompareCase::INSENSITIVE_ASCII);
1327 } 1327 }
1328 #endif 1328 #endif
1329 1329
1330 } // namespace base 1330 } // namespace base
OLDNEW
« no previous file with comments | « base/files/file_path.h ('k') | content/child/simple_webmimeregistry_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698