Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4313)

Unified Diff: chrome/install_static/install_details.h

Issue 2487783002: Make Crashpad use the user data dir, rather than always default location (Closed)
Patch Set: . Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/install_static/OWNERS ('k') | chrome/install_static/install_details.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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();
scottmg 2016/11/18 20:48:27 I assume you will dislike this solution, but I did
+
private:
std::wstring channel_;
+ std::wstring user_data_dir_;
+ std::wstring invalid_user_data_dir_;
Payload payload_ = Payload();
};
« no previous file with comments | « chrome/install_static/OWNERS ('k') | chrome/install_static/install_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698