| Index: chrome/install_static/user_data_dir.h
|
| diff --git a/chrome/install_static/user_data_dir.h b/chrome/install_static/user_data_dir.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f7b35ec428ee187f02931b269401199164b9c8d8
|
| --- /dev/null
|
| +++ b/chrome/install_static/user_data_dir.h
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef CHROME_INSTALL_STATIC_USER_DATA_DIR_H_
|
| +#define CHROME_INSTALL_STATIC_USER_DATA_DIR_H_
|
| +
|
| +#include <string>
|
| +
|
| +namespace install_static {
|
| +
|
| +struct InstallConstants;
|
| +
|
| +// Populates |result| with the user data dir, respecting various overrides in
|
| +// the manner of chrome_main_delegate.cc InitializeUserDataDir(). This includes
|
| +// overrides on the command line, overrides by registry policy, and fallback to
|
| +// the default User Data dir if the directory is invalid or unspecified.
|
| +//
|
| +// If a directory was given by the user (either on the command line, or by
|
| +// registry policy), but it was invalid or unusable, then
|
| +// |invalid_supplied_directory| will be filled with the value that was unusable
|
| +// for reporting an error to the user.
|
| +//
|
| +// Other than in test situations, it is generally only appropriate to call this
|
| +// function once on startup and use the result for subsequent callers, otherwise
|
| +// there's a race with registry modification (which could cause a different
|
| +// derivation) so different subsystems would see different values). In normal
|
| +// usage, it should be called only once and cached. GetUserDataDirectory() does
|
| +// this, and should be preferred.
|
| +bool GetUserDataDirectoryImpl(
|
| + const std::wstring& user_data_dir_from_command_line,
|
| + const InstallConstants& mode,
|
| + std::wstring* result,
|
| + std::wstring* invalid_supplied_directory);
|
| +
|
| +// Retrieves the user data directory, and any invalid directory specified on the
|
| +// command line, for reporting an error to the user. These values are cached on
|
| +// the first call. |invalid_user_data_directory| may be null if not required.
|
| +bool GetUserDataDirectory(std::wstring* user_data_directory,
|
| + std::wstring* invalid_user_data_directory);
|
| +
|
| +} // namespace install_static
|
| +
|
| +#endif // CHROME_INSTALL_STATIC_USER_DATA_DIR_H_
|
|
|