Index: base/path_service_unittest.cc |
=================================================================== |
--- base/path_service_unittest.cc (revision 167785) |
+++ base/path_service_unittest.cc (working copy) |
@@ -28,32 +28,41 @@ |
bool ReturnsValidPath(int dir_type) { |
FilePath path; |
bool result = PathService::Get(dir_type, &path); |
+ // Some paths might not exist on some platforms in which case confirming |
+ // |result| is true and !path.empty() is the best we can do. |
+ bool check_path_exists = true; |
#if defined(OS_POSIX) |
// If chromium has never been started on this account, the cache path may not |
// exist. |
if (dir_type == base::DIR_CACHE) |
- return result && !path.empty(); |
+ check_path_exists = false; |
#endif |
#if defined(OS_LINUX) |
// On the linux try-bots: a path is returned (e.g. /home/chrome-bot/Desktop), |
// but it doesn't exist. |
if (dir_type == base::DIR_USER_DESKTOP) |
- return result && !path.empty(); |
+ check_path_exists = false; |
#endif |
#if defined(OS_WIN) |
- // On Windows XP, the Quick Launch folder for the "Default User" doesn't exist |
- // by default. At least confirm that the path returned begins with the |
- // Default User's profile path. |
- if (dir_type == base::DIR_DEFAULT_USER_QUICK_LAUNCH && |
- base::win::GetVersion() < base::win::VERSION_VISTA) { |
- wchar_t default_profile_path[MAX_PATH]; |
- DWORD size = arraysize(default_profile_path); |
- return (result && |
- ::GetDefaultUserProfileDirectory(default_profile_path, &size) && |
- StartsWith(path.value(), default_profile_path, false)); |
+ if (dir_type == base::DIR_DEFAULT_USER_QUICK_LAUNCH) { |
+ // On Windows XP, the Quick Launch folder for the "Default User" doesn't |
+ // exist by default. At least confirm that the path returned begins with the |
+ // Default User's profile path. |
+ if (base::win::GetVersion() < base::win::VERSION_VISTA) { |
+ wchar_t default_profile_path[MAX_PATH]; |
+ DWORD size = arraysize(default_profile_path); |
+ return (result && |
+ ::GetDefaultUserProfileDirectory(default_profile_path, &size) && |
+ StartsWith(path.value(), default_profile_path, false)); |
+ } |
+ } else if (dir_type == base::DIR_TASKBAR_PINS) { |
+ // There is no pinned-to-taskbar shortcuts prior to Win7. |
+ if(base::win::GetVersion() < base::win::VERSION_WIN7) |
+ check_path_exists = false; |
} |
#endif |
- return result && !path.empty() && file_util::PathExists(path); |
+ return result && !path.empty() && (!check_path_exists || |
+ file_util::PathExists(path)); |
} |
#if defined(OS_WIN) |