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

Unified Diff: base/files/file_path.cc

Issue 13196006: Move path functions from file_util to FilePath object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Move AsAbsolute back out of FilePath Created 7 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: base/files/file_path.cc
diff --git a/base/files/file_path.cc b/base/files/file_path.cc
index 407ec855b2d7ad06273715e51313fb7275285f3c..79e9f054aafcdbcc6cdd6328dc90137d67cc8e6c 100644
--- a/base/files/file_path.cc
+++ b/base/files/file_path.cc
@@ -16,6 +16,7 @@
#include "base/string_piece.h"
#include "base/string_util.h"
#include "base/strings/sys_string_conversions.h"
+#include "base/threading/thread_restrictions.h"
rvargas (doing something else) 2013/04/02 01:39:56 remove this.
#include "base/utf_string_conversions.h"
#if defined(OS_MACOSX)
@@ -521,6 +522,24 @@ bool FilePath::IsAbsolute() const {
return IsPathAbsolute(path_);
}
+bool FilePath::EndsWithSeparator() const {
+ if (empty())
+ return false;
+ return IsSeparator(path_[path_.size() - 1]);
+}
+
+FilePath FilePath::AsEndingWithSeparator() const {
+ if (EndsWithSeparator())
+ return *this;
+
+ StringType path_str;
+ path_str.reserve(path_.length() + 1); // Only allocate string once.
+
+ path_str = path_;
+ path_str.append(&kSeparators[0], 1);
+ return FilePath(path_str);
+}
+
FilePath FilePath::StripTrailingSeparators() const {
FilePath new_path(path_);
new_path.StripTrailingSeparatorsInternal();

Powered by Google App Engine
This is Rietveld 408576698