| Index: chrome/app/chrome_main_delegate.cc
|
| diff --git a/chrome/app/chrome_main_delegate.cc b/chrome/app/chrome_main_delegate.cc
|
| index 7f4aebbc6dbc2e2ee9bcc15ad8c5f658cf198d85..d105144bb2c1d3e8c697a85189cdee73519c86ba 100644
|
| --- a/chrome/app/chrome_main_delegate.cc
|
| +++ b/chrome/app/chrome_main_delegate.cc
|
| @@ -72,6 +72,7 @@
|
| #include "chrome/browser/downgrade/user_data_downgrade.h"
|
| #include "chrome/child/v8_breakpad_support_win.h"
|
| #include "chrome/common/child_process_logging.h"
|
| +#include "chrome/install_static/install_util.h"
|
| #include "sandbox/win/src/sandbox.h"
|
| #include "ui/base/resource/resource_bundle_win.h"
|
| #endif
|
| @@ -386,23 +387,18 @@ struct MainFunction {
|
| // Initializes the user data dir. Must be called before InitializeLocalState().
|
| void InitializeUserDataDir(base::CommandLine* command_line) {
|
| #if defined(OS_WIN)
|
| - wchar_t user_data_dir_buf[MAX_PATH], invalid_user_data_dir_buf[MAX_PATH];
|
| -
|
| - using GetUserDataDirectoryThunkFunction =
|
| - void (*)(wchar_t*, size_t, wchar_t*, size_t);
|
| HMODULE elf_module = GetModuleHandle(chrome::kChromeElfDllName);
|
| if (elf_module) {
|
| // If we're in a test, chrome_elf won't be loaded.
|
| - GetUserDataDirectoryThunkFunction get_user_data_directory_thunk =
|
| - reinterpret_cast<GetUserDataDirectoryThunkFunction>(
|
| - GetProcAddress(elf_module, "GetUserDataDirectoryThunk"));
|
| - get_user_data_directory_thunk(
|
| - user_data_dir_buf, arraysize(user_data_dir_buf),
|
| - invalid_user_data_dir_buf, arraysize(invalid_user_data_dir_buf));
|
| - base::FilePath user_data_dir(user_data_dir_buf);
|
| - if (invalid_user_data_dir_buf[0] != 0) {
|
| - chrome::SetInvalidSpecifiedUserDataDir(
|
| - base::FilePath(invalid_user_data_dir_buf));
|
| +
|
| + base::FilePath user_data_dir(install_static::GetUserDataDirectory());
|
| + // An empty user data directory means a failure (no fallback/default could
|
| + // be retrieved either).
|
| + CHECK(!user_data_dir.empty());
|
| + base::FilePath invalid_user_data_dir(
|
| + install_static::GetInvalidUserDataDirectory());
|
| + if (!invalid_user_data_dir.empty()) {
|
| + chrome::SetInvalidSpecifiedUserDataDir(invalid_user_data_dir);
|
| command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir);
|
| }
|
| CHECK(PathService::OverrideAndCreateIfNeeded(chrome::DIR_USER_DATA,
|
|
|