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..12456b90afe26b63011f80166c8b3c0da96067e0 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; |
grt (UTC plus 2)
2016/11/22 11:37:09
do you think storing these lengths is overkill? pa
scottmg
2016/11/22 17:16:07
Yeah, was just copying channel/channel_length. But
|
+ |
+ // 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; |
} |
@@ -164,6 +201,8 @@ class PrimaryInstallDetails : public InstallDetails { |
private: |
std::wstring channel_; |
+ std::wstring user_data_dir_; |
+ std::wstring invalid_user_data_dir_; |
Payload payload_ = Payload(); |
}; |