diff options
author | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-16 06:32:59 +0000 |
---|---|---|
committer | benwells@chromium.org <benwells@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-16 06:32:59 +0000 |
commit | e0879c19fe65c1455d6eab36a4a01524465ffb08 (patch) | |
tree | df3400ef596ecf62cc44bbf7687417c2dcbabf3a | |
parent | cee6a92d0d15ba27677d1f51c0a03d8990832445 (diff) | |
download | chromium_src-e0879c19fe65c1455d6eab36a4a01524465ffb08.zip chromium_src-e0879c19fe65c1455d6eab36a4a01524465ffb08.tar.gz chromium_src-e0879c19fe65c1455d6eab36a4a01524465ffb08.tar.bz2 |
Revert 270872 "Move all callers of GetHomeDir() to PathService::..."
> Move all callers of GetHomeDir() to PathService::Get(base::DIR_HOME).
>
> * Fixes GetHomeDir() for multi-profiles case on Chrome OS.
> * Once user signs in on Chrome OS base::DIR_HOME is overridden with primary user homedir.
> * Added content switch --homedir to pass that information to ppapi plugins since they run in a separate process and previous base::DIR_HOME override does not apply there.
>
> This fix doesn't require checking for --multi-profiles switch
> since user_id hash is known even without it.
>
> BUG=331530
> TBR=vitalybuka@chromium.org
>
> Review URL: https://codereview.chromium.org/200473002
This test has caused two tests to start failing on the chromeos valgrind bots:
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%286%29/builds/25884
http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%285%29/builds/26990
TBR=nkostylev@chromium.org
Review URL: https://codereview.chromium.org/284333002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@270951 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/file_util.h | 1 | ||||
-rw-r--r-- | base/file_util_posix.cc | 8 | ||||
-rw-r--r-- | base/nix/xdg_util.cc | 13 | ||||
-rw-r--r-- | chrome/app/chrome_main_delegate.cc | 11 | ||||
-rw-r--r-- | chrome/browser/chrome_content_browser_client.cc | 8 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/login_utils.cc | 6 | ||||
-rw-r--r-- | chrome/browser/diagnostics/sqlite_diagnostics.cc | 7 | ||||
-rw-r--r-- | chrome/common/chrome_paths_linux.cc | 8 | ||||
-rw-r--r-- | chrome/common/chrome_paths_unittest.cc | 4 | ||||
-rw-r--r-- | chrome/common/importer/firefox_importer_utils_linux.cc | 6 | ||||
-rw-r--r-- | chrome/test/data/extensions/api_test/file_system/open_directory/test.js | 14 | ||||
-rw-r--r-- | chromeos/chromeos_switches.cc | 3 | ||||
-rw-r--r-- | chromeos/chromeos_switches.h | 1 | ||||
-rw-r--r-- | content/ppapi_plugin/ppapi_plugin_main.cc | 7 | ||||
-rw-r--r-- | crypto/nss_util.cc | 5 | ||||
-rw-r--r-- | printing/backend/cups_helper.cc | 7 | ||||
-rw-r--r-- | remoting/host/branding.cc | 4 | ||||
-rw-r--r-- | remoting/host/setup/daemon_controller_delegate_linux.cc | 7 | ||||
-rw-r--r-- | rlz/chromeos/lib/rlz_value_store_chromeos.cc | 10 |
19 files changed, 27 insertions, 103 deletions
diff --git a/base/file_util.h b/base/file_util.h index 9c9072f..ca7bf626 100644 --- a/base/file_util.h +++ b/base/file_util.h @@ -218,7 +218,6 @@ BASE_EXPORT bool GetTempDir(FilePath* path); // // You should not generally call this directly. Instead use DIR_HOME with the // path service which will use this function but cache the value. -// Path service may also override DIR_HOME. BASE_EXPORT FilePath GetHomeDir(); // Creates a temporary file. The full path is placed in |path|, and the diff --git a/base/file_util_posix.cc b/base/file_util_posix.cc index e8dec94..9270e8a 100644 --- a/base/file_util_posix.cc +++ b/base/file_util_posix.cc @@ -458,12 +458,8 @@ bool GetTempDir(FilePath* path) { #if !defined(OS_MACOSX) // Mac implementation is in file_util_mac.mm. FilePath GetHomeDir() { #if defined(OS_CHROMEOS) - if (SysInfo::IsRunningOnChromeOS()) { - // On Chrome OS chrome::DIR_USER_DATA is overriden with a primary user - // homedir once it becomes available. - NOTREACHED() << "Called GetHomeDir() without base::DIR_HOME override"; - return FilePath("/"); - } + if (SysInfo::IsRunningOnChromeOS()) + return FilePath("/home/chronos/user"); #endif const char* home_dir = getenv("HOME"); diff --git a/base/nix/xdg_util.cc b/base/nix/xdg_util.cc index 4086a3d..4c1510f 100644 --- a/base/nix/xdg_util.cc +++ b/base/nix/xdg_util.cc @@ -6,11 +6,9 @@ #include <string> -#include "base/base_paths.h" #include "base/environment.h" #include "base/file_util.h" #include "base/files/file_path.h" -#include "base/path_service.h" #include "base/third_party/xdg_user_dirs/xdg_user_dir_lookup.h" namespace { @@ -30,12 +28,10 @@ FilePath GetXDGDirectory(Environment* env, const char* env_name, const char* fallback_dir) { FilePath path; std::string env_value; - if (env->GetVar(env_name, &env_value) && !env_value.empty()) { + if (env->GetVar(env_name, &env_value) && !env_value.empty()) path = FilePath(env_value); - } else { - PathService::Get(base::DIR_HOME, &path); - path = path.Append(fallback_dir); - } + else + path = GetHomeDir().Append(fallback_dir); return path.StripTrailingSeparators(); } @@ -46,8 +42,7 @@ FilePath GetXDGUserDirectory(const char* dir_name, const char* fallback_dir) { path = FilePath(xdg_dir); free(xdg_dir); } else { - PathService::Get(base::DIR_HOME, &path); - path = path.Append(fallback_dir); + path = GetHomeDir().Append(fallback_dir); } return path.StripTrailingSeparators(); } diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc index 168b32e..9d5f3f0 100644 --- a/chrome/app/chrome_main_delegate.cc +++ b/chrome/app/chrome_main_delegate.cc @@ -4,7 +4,6 @@ #include "chrome/app/chrome_main_delegate.h" -#include "base/base_paths.h" #include "base/command_line.h" #include "base/cpu.h" #include "base/files/file_path.h" @@ -477,16 +476,6 @@ bool ChromeMainDelegate::BasicStartupComplete(int* exit_code) { #endif #if defined(OS_CHROMEOS) - // Initialize primary user homedir (in multi-profile session) as it may be - // passed as a command line switch. - base::FilePath homedir; - if (command_line.HasSwitch(chromeos::switches::kHomedir)) { - homedir = base::FilePath( - command_line.GetSwitchValueASCII(chromeos::switches::kHomedir)); - PathService::OverrideAndCreateIfNeeded( - base::DIR_HOME, homedir, true, false); - } - // If we are recovering from a crash on ChromeOS, then we will do some // recovery using the diagnostics module, and then continue on. We fake up a // command line to tell it that we want it to recover, and to preserve the diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc index 21a6f21..129eec3 100644 --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc @@ -1513,14 +1513,6 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches( arraysize(kIpcFuzzerSwitches)); #endif -#if defined(OS_CHROMEOS) - // On Chrome OS need to pass primary user homedir (in multi-profiles session). - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); - command_line->AppendSwitchASCII(chromeos::switches::kHomedir, - homedir.value().c_str()); -#endif - if (process_type == switches::kRendererProcess) { #if defined(OS_CHROMEOS) const std::string& login_profile = diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc index 4f17fa6..c057056 100644 --- a/chrome/browser/chromeos/login/login_utils.cc +++ b/chrome/browser/chromeos/login/login_utils.cc @@ -8,7 +8,6 @@ #include <set> #include <vector> -#include "base/base_paths.h" #include "base/bind.h" #include "base/command_line.h" #include "base/compiler_specific.h" @@ -66,6 +65,7 @@ #include "chrome/browser/sync/profile_sync_service_factory.h" #include "chrome/browser/ui/app_list/start_page_service.h" #include "chrome/browser/ui/startup/startup_browser_creator.h" +#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/logging_chrome.h" #include "chrome/common/pref_names.h" @@ -98,9 +98,7 @@ const base::FilePath::CharType kRLZDisabledFlagName[] = FILE_PATH_LITERAL(".rlz_disabled"); base::FilePath GetRlzDisabledFlagPath() { - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); - return homedir.Append(kRLZDisabledFlagName); + return base::GetHomeDir().Append(kRLZDisabledFlagName); } #endif diff --git a/chrome/browser/diagnostics/sqlite_diagnostics.cc b/chrome/browser/diagnostics/sqlite_diagnostics.cc index 840d525..046dc29 100644 --- a/chrome/browser/diagnostics/sqlite_diagnostics.cc +++ b/chrome/browser/diagnostics/sqlite_diagnostics.cc @@ -4,7 +4,6 @@ #include "chrome/browser/diagnostics/sqlite_diagnostics.h" -#include "base/base_paths.h" #include "base/file_util.h" #include "base/logging.h" #include "base/memory/ref_counted.h" @@ -241,16 +240,14 @@ DiagnosticsTest* MakeSqliteHistoryDbTest() { #if defined(OS_CHROMEOS) DiagnosticsTest* MakeSqliteNssCertDbTest() { - base::FilePath home_dir; - PathService::Get(base::DIR_HOME, &home_dir); + base::FilePath home_dir = base::GetHomeDir(); return new SqliteIntegrityTest(SqliteIntegrityTest::REMOVE_IF_CORRUPT, DIAGNOSTICS_SQLITE_INTEGRITY_NSS_CERT_TEST, home_dir.Append(chromeos::kNssCertDbPath)); } DiagnosticsTest* MakeSqliteNssKeyDbTest() { - base::FilePath home_dir; - PathService::Get(base::DIR_HOME, &home_dir); + base::FilePath home_dir = base::GetHomeDir(); return new SqliteIntegrityTest(SqliteIntegrityTest::REMOVE_IF_CORRUPT, DIAGNOSTICS_SQLITE_INTEGRITY_NSS_KEY_TEST, home_dir.Append(chromeos::kNssKeyDbPath)); diff --git a/chrome/common/chrome_paths_linux.cc b/chrome/common/chrome_paths_linux.cc index 95dd086..eeb1b9a 100644 --- a/chrome/common/chrome_paths_linux.cc +++ b/chrome/common/chrome_paths_linux.cc @@ -4,13 +4,11 @@ #include "chrome/common/chrome_paths_internal.h" -#include "base/base_paths.h" #include "base/environment.h" #include "base/file_util.h" #include "base/memory/scoped_ptr.h" #include "base/nix/xdg_util.h" #include "base/path_service.h" -#include "chrome/common/chrome_paths.h" namespace chrome { @@ -36,8 +34,7 @@ bool GetUserMediaDirectory(const std::string& xdg_name, #else *result = GetXDGUserDirectory(xdg_name.c_str(), fallback_name.c_str()); - base::FilePath home; - PathService::Get(base::DIR_HOME, &home); + base::FilePath home = base::GetHomeDir(); if (*result != home) { base::FilePath desktop; if (!PathService::Get(base::DIR_USER_DESKTOP, &desktop)) @@ -106,8 +103,7 @@ bool GetUserDocumentsDirectory(base::FilePath* result) { } bool GetUserDownloadsDirectorySafe(base::FilePath* result) { - base::FilePath home; - PathService::Get(base::DIR_HOME, &home); + base::FilePath home = base::GetHomeDir(); *result = home.Append(kDownloadsDir); return true; } diff --git a/chrome/common/chrome_paths_unittest.cc b/chrome/common/chrome_paths_unittest.cc index 3816cf6..5251154 100644 --- a/chrome/common/chrome_paths_unittest.cc +++ b/chrome/common/chrome_paths_unittest.cc @@ -6,7 +6,6 @@ #include <stdlib.h> -#include "base/base_paths.h" #include "base/file_util.h" #include "base/files/file_path.h" #include "base/path_service.h" @@ -30,8 +29,7 @@ TEST(ChromePaths, UserCacheDir) { base::FilePath expected_cache_dir; ASSERT_TRUE(PathService::Get(base::DIR_CACHE, &expected_cache_dir)); #elif(OS_POSIX) - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); + base::FilePath homedir = base::GetHomeDir(); // Note: we assume XDG_CACHE_HOME/XDG_CONFIG_HOME are at their // default settings. test_profile_dir = homedir.Append(".config/foobar"); diff --git a/chrome/common/importer/firefox_importer_utils_linux.cc b/chrome/common/importer/firefox_importer_utils_linux.cc index 081a294..71f1a26 100644 --- a/chrome/common/importer/firefox_importer_utils_linux.cc +++ b/chrome/common/importer/firefox_importer_utils_linux.cc @@ -4,17 +4,13 @@ #include "chrome/common/importer/firefox_importer_utils.h" -#include "base/base_paths.h" #include "base/file_util.h" -#include "base/files/file_path.h" -#include "base/path_service.h" base::FilePath GetProfilesINI() { base::FilePath ini_file; // The default location of the profile folder containing user data is // under user HOME directory in .mozilla/firefox folder on Linux. - base::FilePath home; - PathService::Get(base::DIR_HOME, &home); + base::FilePath home = base::GetHomeDir(); if (!home.empty()) { ini_file = home.Append(".mozilla/firefox/profiles.ini"); } diff --git a/chrome/test/data/extensions/api_test/file_system/open_directory/test.js b/chrome/test/data/extensions/api_test/file_system/open_directory/test.js index 3b60cd0..db4a01e 100644 --- a/chrome/test/data/extensions/api_test/file_system/open_directory/test.js +++ b/chrome/test/data/extensions/api_test/file_system/open_directory/test.js @@ -21,17 +21,9 @@ chrome.test.runTests([ chrome.test.callbackPass(function(directoryEntry) { var reader = directoryEntry.createReader(); reader.readEntries(chrome.test.callback(function(entries) { - // On POSIX systems DIR_HOME is overridden for this test and - // [.config] directory may be created there, ignore it - // See https://codereview.chromium.org/200473002/ - var testEntry; - entries.forEach(function(entry) { - if (entry.name != '.config') { - chrome.test.assertEq(entry.name, 'open_existing.txt'); - testEntry = entry; - } - }); - checkEntry(testEntry, 'open_existing.txt', false, false); + chrome.test.assertEq(entries.length, 1); + var entry = entries[0]; + checkEntry(entry, 'open_existing.txt', false, false); })); })); }, diff --git a/chromeos/chromeos_switches.cc b/chromeos/chromeos_switches.cc index 4db1e3f..91c825f 100644 --- a/chromeos/chromeos_switches.cc +++ b/chromeos/chromeos_switches.cc @@ -142,9 +142,6 @@ const char kHasChromeOSKeyboard[] = "has-chromeos-keyboard"; // If true, the Chromebook has a keyboard with a diamond key. const char kHasChromeOSDiamondKey[] = "has-chromeos-diamond-key"; -// Defines user homedir. This defaults to primary user homedir. -const char kHomedir[] = "homedir"; - // If true, profile selection in UserManager will always return active user's // profile. // TODO(nkostlyev): http://crbug.com/364604 - Get rid of this switch after we diff --git a/chromeos/chromeos_switches.h b/chromeos/chromeos_switches.h index 1484f85..a2a1268 100644 --- a/chromeos/chromeos_switches.h +++ b/chromeos/chromeos_switches.h @@ -57,7 +57,6 @@ CHROMEOS_EXPORT extern const char kForceLoginManagerInTests[]; CHROMEOS_EXPORT extern const char kGuestSession[]; CHROMEOS_EXPORT extern const char kHasChromeOSDiamondKey[]; CHROMEOS_EXPORT extern const char kHasChromeOSKeyboard[]; -CHROMEOS_EXPORT extern const char kHomedir[]; CHROMEOS_EXPORT extern const char kIgnoreUserProfileMappingForTests[]; CHROMEOS_EXPORT extern const char kKioskModeScreensaverPath[]; CHROMEOS_EXPORT extern const char kLoginManager[]; diff --git a/content/ppapi_plugin/ppapi_plugin_main.cc b/content/ppapi_plugin/ppapi_plugin_main.cc index 81ca51e..ab32b66 100644 --- a/content/ppapi_plugin/ppapi_plugin_main.cc +++ b/content/ppapi_plugin/ppapi_plugin_main.cc @@ -2,13 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/base_paths.h" #include "base/command_line.h" #include "base/debug/debugger.h" -#include "base/files/file_path.h" #include "base/i18n/rtl.h" #include "base/message_loop/message_loop.h" -#include "base/path_service.h" #include "base/threading/platform_thread.h" #include "build/build_config.h" #include "content/child/child_process.h" @@ -104,9 +101,7 @@ int PpapiPluginMain(const MainFunctionParams& parameters) { #if defined(OS_CHROMEOS) // Specifies $HOME explicitly because some plugins rely on $HOME but // no other part of Chrome OS uses that. See crbug.com/335290. - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); - setenv("HOME", homedir.value().c_str(), 1); + setenv("HOME", base::GetHomeDir().value().c_str(), 1); #endif base::MessageLoop main_message_loop; diff --git a/crypto/nss_util.cc b/crypto/nss_util.cc index 5958ad9..da46b63 100644 --- a/crypto/nss_util.cc +++ b/crypto/nss_util.cc @@ -21,7 +21,6 @@ #include <map> #include <vector> -#include "base/base_paths.h" #include "base/bind.h" #include "base/cpu.h" #include "base/debug/alias.h" @@ -35,7 +34,6 @@ #include "base/message_loop/message_loop.h" #include "base/metrics/histogram.h" #include "base/native_library.h" -#include "base/path_service.h" #include "base/stl_util.h" #include "base/strings/stringprintf.h" #include "base/threading/thread_checker.h" @@ -82,8 +80,7 @@ std::string GetNSSErrorMessage() { #if defined(USE_NSS) base::FilePath GetDefaultConfigDirectory() { - base::FilePath dir; - PathService::Get(base::DIR_HOME, &dir); + base::FilePath dir = base::GetHomeDir(); if (dir.empty()) { LOG(ERROR) << "Failed to get home directory."; return dir; diff --git a/printing/backend/cups_helper.cc b/printing/backend/cups_helper.cc index e183841..296b95e 100644 --- a/printing/backend/cups_helper.cc +++ b/printing/backend/cups_helper.cc @@ -6,10 +6,8 @@ #include <cups/ppd.h> -#include "base/base_paths.h" #include "base/file_util.h" #include "base/logging.h" -#include "base/path_service.h" #include "base/strings/string_number_conversions.h" #include "base/strings/string_split.h" #include "base/strings/string_util.h" @@ -101,9 +99,8 @@ void MarkLpOptions(const std::string& printer_name, ppd_file_t** ppd) { std::vector<base::FilePath> file_locations; file_locations.push_back(base::FilePath(kSystemLpOptionPath)); - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); - file_locations.push_back(base::FilePath(homedir.Append(kUserLpOptionPath))); + file_locations.push_back(base::FilePath( + base::GetHomeDir().Append(kUserLpOptionPath))); for (std::vector<base::FilePath>::const_iterator it = file_locations.begin(); it != file_locations.end(); ++it) { diff --git a/remoting/host/branding.cc b/remoting/host/branding.cc index fe95479..840e982 100644 --- a/remoting/host/branding.cc +++ b/remoting/host/branding.cc @@ -4,7 +4,7 @@ #include "remoting/host/branding.h" -#include "base/base_paths.h" +#include "base/file_util.h" #include "base/path_service.h" namespace { @@ -46,7 +46,7 @@ base::FilePath GetConfigDir() { #elif defined(OS_MACOSX) PathService::Get(base::DIR_APP_DATA, &app_data_dir); #else - PathService::Get(base::DIR_HOME, &app_data_dir); + app_data_dir = base::GetHomeDir(); #endif return app_data_dir.Append(kConfigDir); diff --git a/remoting/host/setup/daemon_controller_delegate_linux.cc b/remoting/host/setup/daemon_controller_delegate_linux.cc index 4988065..427a572 100644 --- a/remoting/host/setup/daemon_controller_delegate_linux.cc +++ b/remoting/host/setup/daemon_controller_delegate_linux.cc @@ -6,7 +6,6 @@ #include <unistd.h> -#include "base/base_paths.h" #include "base/basictypes.h" #include "base/bind.h" #include "base/command_line.h" @@ -17,7 +16,6 @@ #include "base/json/json_writer.h" #include "base/logging.h" #include "base/md5.h" -#include "base/path_service.h" #include "base/process/kill.h" #include "base/process/launch.h" #include "base/process/process_handle.h" @@ -57,9 +55,8 @@ std::string GetMd5(const std::string& value) { base::FilePath GetConfigPath() { std::string filename = "host#" + GetMd5(net::GetHostName()) + ".json"; - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); - return homedir.Append(".config/chrome-remote-desktop").Append(filename); + return base::GetHomeDir(). + Append(".config/chrome-remote-desktop").Append(filename); } bool GetScriptPath(base::FilePath* result) { diff --git a/rlz/chromeos/lib/rlz_value_store_chromeos.cc b/rlz/chromeos/lib/rlz_value_store_chromeos.cc index c54a194..0cd87af 100644 --- a/rlz/chromeos/lib/rlz_value_store_chromeos.cc +++ b/rlz/chromeos/lib/rlz_value_store_chromeos.cc @@ -4,13 +4,11 @@ #include "rlz/chromeos/lib/rlz_value_store_chromeos.h" -#include "base/base_paths.h" #include "base/file_util.h" #include "base/files/important_file_writer.h" #include "base/json/json_file_value_serializer.h" #include "base/json/json_string_value_serializer.h" #include "base/logging.h" -#include "base/path_service.h" #include "base/sequenced_task_runner.h" #include "base/strings/string_number_conversions.h" #include "base/values.h" @@ -44,19 +42,15 @@ base::FilePath g_testing_rlz_store_path_; // Returns file path of the RLZ storage. base::FilePath GetRlzStorePath() { - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); return g_testing_rlz_store_path_.empty() ? - homedir.Append(kRLZDataFileName) : + base::GetHomeDir().Append(kRLZDataFileName) : g_testing_rlz_store_path_.Append(kRLZDataFileName); } // Returns file path of the RLZ storage lock file. base::FilePath GetRlzStoreLockPath() { - base::FilePath homedir; - PathService::Get(base::DIR_HOME, &homedir); return g_testing_rlz_store_path_.empty() ? - homedir.Append(kRLZLockFileName) : + base::GetHomeDir().Append(kRLZLockFileName) : g_testing_rlz_store_path_.Append(kRLZLockFileName); } |