Index: chrome/browser/profile_impl.cc |
diff --git a/chrome/browser/profile_impl.cc b/chrome/browser/profile_impl.cc |
index 464c45c9f6541ce39d04ca6b9bec47a55baa89a9..c66428dbc7e80741c84de2c03c5ad92a444bb510 100644 |
--- a/chrome/browser/profile_impl.cc |
+++ b/chrome/browser/profile_impl.cc |
@@ -81,6 +81,7 @@ |
#include "chrome/browser/webdata/web_data_service.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_paths.h" |
+#include "chrome/common/chrome_paths_internal.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/json_pref_store.h" |
#include "chrome/common/notification_service.h" |
@@ -172,11 +173,6 @@ FilePath GetMediaCachePath(const FilePath& base) { |
return base.Append(chrome::kMediaCacheDirname); |
} |
-bool HasACacheSubdir(const FilePath &dir) { |
- return file_util::PathExists(GetCachePath(dir)) || |
- file_util::PathExists(GetMediaCachePath(dir)); |
-} |
- |
// Simple task to log the size of the current profile. |
class ProfileSizeTask : public Task { |
public: |
@@ -280,46 +276,11 @@ ProfileImpl::ProfileImpl(const FilePath& path) |
// Convert active labs into switches. Modifies the current command line. |
about_flags::ConvertFlagsToSwitches(prefs, CommandLine::ForCurrentProcess()); |
-#if defined(OS_MACOSX) |
- // If the profile directory doesn't already have a cache directory and it |
- // is under ~/Library/Application Support, use a suitable cache directory |
- // under ~/Library/Caches. For example, a profile directory of |
- // ~/Library/Application Support/Google/Chrome/MyProfileName that doesn't |
- // have a "Cache" or "MediaCache" subdirectory would use the cache directory |
- // ~/Library/Caches/Google/Chrome/MyProfileName. |
- // |
- // TODO(akalin): Come up with unit tests for this. |
- if (!HasACacheSubdir(path_)) { |
- FilePath app_data_path, user_cache_path; |
- if (PathService::Get(base::DIR_APP_DATA, &app_data_path) && |
- PathService::Get(base::DIR_USER_CACHE, &user_cache_path) && |
- app_data_path.AppendRelativePath(path_, &user_cache_path)) { |
- base_cache_path_ = user_cache_path; |
- } |
- } |
-#elif defined(OS_POSIX) // Posix minus Mac. |
- // See http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html |
- // for a spec on where cache files go. The net effect for most systems is we |
- // use ~/.cache/chromium/ for Chromium and ~/.cache/google-chrome/ for |
- // official builds. |
- // If we're using a different user-data-dir, though, fall through |
- // to the "normal" cache directory (a subdirectory of that). |
- // TODO(evan): all of this logic belongs in path_service; refactor and remove |
- // this IsOverriden business. |
- if (!PathService::IsOverridden(chrome::DIR_USER_DATA)) { |
-#if defined(GOOGLE_CHROME_BUILD) |
- const char kCacheDir[] = "google-chrome"; |
-#else |
- const char kCacheDir[] = "chromium"; |
-#endif |
- PathService::Get(base::DIR_USER_CACHE, &base_cache_path_); |
- base_cache_path_ = base_cache_path_.Append(kCacheDir); |
- if (!file_util::PathExists(base_cache_path_)) |
- file_util::CreateDirectory(base_cache_path_); |
- } |
-#endif |
- if (base_cache_path_.empty()) |
- base_cache_path_ = path_; |
+ // It would be nice to use PathService for fetching this directory, but |
+ // the cache directory depends on the profile directory, which isn't available |
+ // to PathService. |
+ chrome::GetUserCacheDirectory(path_, &base_cache_path_); |
+ file_util::CreateDirectory(base_cache_path_); |
// Listen for theme installations from our original profile. |
registrar_.Add(this, NotificationType::THEME_INSTALLED, |