OLD | NEW |
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/chromeos/chromeos_version.h" | 5 #include "base/chromeos/chromeos_version.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 #include <string.h> | 8 #include <string.h> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 | 11 |
12 namespace base { | 12 namespace base { |
13 namespace chromeos { | 13 namespace chromeos { |
14 | 14 |
15 bool IsRunningOnChromeOS() { | 15 bool IsRunningOnChromeOS() { |
16 // Check if the user name is chronos. Note that we don't go with | 16 // Check if the user name is chronos. Note that we don't go with |
17 // getuid() + getpwuid_r() as it may end up reading /etc/passwd, which | 17 // getuid() + getpwuid_r() as it may end up reading /etc/passwd, which |
18 // can be expensive. | 18 // can be expensive. |
19 const char* user = getenv("USER"); | 19 const char* user = getenv("USER"); |
20 return user && strcmp(user, "chronos") == 0; | 20 return user && strcmp(user, "chronos") == 0; |
21 } | 21 } |
22 | 22 |
| 23 std::string GetHomeDirectory() { |
| 24 if (IsRunningOnChromeOS()) |
| 25 return "/home/chronos/user"; |
| 26 |
| 27 const char* home = getenv("HOME"); |
| 28 if (home) |
| 29 return home; |
| 30 return ""; |
| 31 } |
| 32 |
23 } // namespace chromeos | 33 } // namespace chromeos |
24 } // namespace base | 34 } // namespace base |
OLD | NEW |