Index: base/file_util_mac.mm |
diff --git a/base/file_util_mac.mm b/base/file_util_mac.mm |
index 7a994267c1ddddeaec2dfc15f7530396c974bbc6..af8228428eee7a72e584a10632a6278e4e582a1f 100644 |
--- a/base/file_util_mac.mm |
+++ b/base/file_util_mac.mm |
@@ -32,6 +32,27 @@ bool GetTempDir(base::FilePath* path) { |
return true; |
} |
+FilePath GetHomeDir() { |
benwells
2014/02/16 23:39:50
You should also remove the handling for base::DIR_
brettw
2014/02/18 19:24:42
Good catch.
|
+ const char* home_dir = getenv("HOME"); |
benwells
2014/02/16 23:39:50
I don't know much about mac. Is the change to prio
brettw
2014/02/18 19:24:42
I just copied the Linux behavior, but a Mac person
|
+ if (home_dir && home_dir[0]) |
+ return FilePath(home_dir); |
+ |
+ NSString* tmp = NSHomeDirectory(); |
+ if (tmp != nil) { |
+ FilePath mac_home_dir = base::mac::NSStringToFilePath(NSHomeDirectory()); |
+ if (!mac_home_dir.empty()) |
+ return mac_home_dir; |
+ } |
+ |
+ // Fall back on temp dir if no home directory is defined. |
+ FilePath rv; |
+ if (GetTempDir(&rv)) |
+ return rv; |
+ |
+ // Last resort. |
+ return FilePath("/tmp"); |
+} |
+ |
bool GetShmemTempDir(bool executable, base::FilePath* path) { |
return GetTempDir(path); |
} |