summaryrefslogtreecommitdiffstats
path: root/base/file_path.cc
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-16 21:03:44 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-16 21:03:44 +0000
commit405a64b63ae9a6869923aa5b80cc77acf66e71bf (patch)
tree7881c66b26cc96095a454585a5ae40d3b5863c39 /base/file_path.cc
parent3fcec6daa921d2cf2ecdfa69740ad095700f9ddd (diff)
downloadchromium_src-405a64b63ae9a6869923aa5b80cc77acf66e71bf.zip
chromium_src-405a64b63ae9a6869923aa5b80cc77acf66e71bf.tar.gz
chromium_src-405a64b63ae9a6869923aa5b80cc77acf66e71bf.tar.bz2
Set OS X cache directory to ~/Library/Caches/[app name]/[profile name]
- Added implementation of GetUserCacheDirectory() for OS X. - Added FilePath::GetRelativePath(). - Implemented per-profile cache directories for OS X. Patch by Fred Akalin <akalin@gmail.com> Code review URL: http://codereview.chromium.org/174053 Review URL: http://codereview.chromium.org/204043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26387 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/file_path.cc')
-rw-r--r--base/file_path.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/base/file_path.cc b/base/file_path.cc
index a521b37..1d90674 100644
--- a/base/file_path.cc
+++ b/base/file_path.cc
@@ -159,6 +159,11 @@ bool FilePath::operator!=(const FilePath& that) const {
}
bool FilePath::IsParent(const FilePath& child) const {
+ return AppendRelativePath(child, NULL);
+}
+
+bool FilePath::AppendRelativePath(const FilePath& child,
+ FilePath* path) const {
std::vector<FilePath::StringType> parent_components;
std::vector<FilePath::StringType> child_components;
GetComponents(&parent_components);
@@ -194,6 +199,11 @@ bool FilePath::IsParent(const FilePath& child) const {
++child_comp;
}
+ if (path != NULL) {
+ for (; child_comp != child_components.end(); ++child_comp) {
+ *path = path->Append(*child_comp);
+ }
+ }
return true;
}