| Index: chrome/install_static/install_details.h
|
| diff --git a/chrome/install_static/install_details.h b/chrome/install_static/install_details.h
|
| index 7b6d90d85cd8aa62123f1cf27970a8bd8d1a7c8c..23c7f272c087d4187280851d06c47078a4beb1b7 100644
|
| --- a/chrome/install_static/install_details.h
|
| +++ b/chrome/install_static/install_details.h
|
| @@ -47,6 +47,23 @@ class InstallDetails {
|
| // The string length of |channel| (not including the string terminator).
|
| size_t channel_length;
|
|
|
| + // The user data dir in use for this process.
|
| + const wchar_t* user_data_dir;
|
| +
|
| + // The string length of |user_data_dir| (not including the string
|
| + // terminator).
|
| + size_t user_data_dir_length;
|
| +
|
| + // The invalid user data dir in use for this process. This is set only when
|
| + // the user specified an unusable directory for the user data directory. It
|
| + // is saved off before the user data dir is replaced with a valid one, to be
|
| + // used later for an error dialog for the user.
|
| + const wchar_t* invalid_user_data_dir;
|
| +
|
| + // The string length of |invalid_user_data_dir| (not including the string
|
| + // terminator).
|
| + size_t invalid_user_data_dir_length;
|
| +
|
| // True if installed in C:\Program Files{, {x86)}; otherwise, false.
|
| bool system_level;
|
|
|
| @@ -91,6 +108,16 @@ class InstallDetails {
|
| std::wstring channel() const {
|
| return std::wstring(payload_->channel, payload_->channel_length);
|
| }
|
| + std::wstring user_data_dir() const {
|
| + return std::wstring(payload_->user_data_dir,
|
| + payload_->user_data_dir_length);
|
| + }
|
| + std::wstring invalid_user_data_dir() const {
|
| + if (!payload_->invalid_user_data_dir)
|
| + return std::wstring();
|
| + return std::wstring(payload_->invalid_user_data_dir,
|
| + payload_->invalid_user_data_dir_length);
|
| + }
|
| bool system_level() const { return payload_->system_level; }
|
| bool multi_install() const { return payload_->multi_install; }
|
|
|
| @@ -155,6 +182,16 @@ class PrimaryInstallDetails : public InstallDetails {
|
| payload_.channel = channel_.c_str();
|
| payload_.channel_length = channel_.size();
|
| }
|
| + void set_user_data_dir(const std::wstring& user_data_dir) {
|
| + user_data_dir_ = user_data_dir;
|
| + payload_.user_data_dir = user_data_dir_.c_str();
|
| + payload_.user_data_dir_length = user_data_dir_.size();
|
| + }
|
| + void set_invalid_user_data_dir(const std::wstring& invalid_user_data_dir) {
|
| + invalid_user_data_dir_ = invalid_user_data_dir;
|
| + payload_.invalid_user_data_dir = invalid_user_data_dir_.c_str();
|
| + payload_.invalid_user_data_dir_length = invalid_user_data_dir_.size();
|
| + }
|
| void set_system_level(bool system_level) {
|
| payload_.system_level = system_level;
|
| }
|
| @@ -162,8 +199,12 @@ class PrimaryInstallDetails : public InstallDetails {
|
| payload_.multi_install = multi_install;
|
| }
|
|
|
| + static PrimaryInstallDetails* GetMutable();
|
| +
|
| private:
|
| std::wstring channel_;
|
| + std::wstring user_data_dir_;
|
| + std::wstring invalid_user_data_dir_;
|
| Payload payload_ = Payload();
|
| };
|
|
|
|
|