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

Unified Diff: chrome/app/chrome_breakpad_client.cc

Issue 19697015: Move dependency on env_vars.h to breakpad client (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updates Created 7 years, 5 months 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/app/chrome_breakpad_client.h ('k') | chrome/app/chrome_exe_main_win.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/app/chrome_breakpad_client.cc
diff --git a/chrome/app/chrome_breakpad_client.cc b/chrome/app/chrome_breakpad_client.cc
index 0c5d3d1a46bb4bac72a7c077eb4c768b452fef03..00e75ccbab5e8d6e0a5282937dfb734d5f689d84 100644
--- a/chrome/app/chrome_breakpad_client.cc
+++ b/chrome/app/chrome_breakpad_client.cc
@@ -10,10 +10,12 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
#include "base/path_service.h"
+#include "base/strings/string_split.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/common/crash_keys.h"
+#include "chrome/common/env_vars.h"
#if defined(OS_WIN)
#include "base/file_version_info.h"
@@ -80,6 +82,42 @@ void ChromeBreakpadClient::GetProductNameAndVersion(
*version = base::ASCIIToUTF16("0.0.0.0-devel");
}
}
+
+bool ChromeBreakpadClient::ShouldShowRestartDialog(base::string16* title,
+ base::string16* message,
+ bool* is_rtl_locale) {
+ scoped_ptr<base::Environment> env(base::Environment::Create());
+ if (!env->HasVar(env_vars::kShowRestart) ||
+ !env->HasVar(env_vars::kRestartInfo)) {
+ return false;
+ }
+
+ std::string restart_info;
+ env->GetVar(env_vars::kRestartInfo, &restart_info);
+
+ // The CHROME_RESTART var contains the dialog strings separated by '|'.
+ // See ChromeBrowserMainPartsWin::PrepareRestartOnCrashEnviroment()
+ // for details.
+ std::vector<std::string> dlg_strings;
+ base::SplitString(restart_info, '|', &dlg_strings);
+
+ if (dlg_strings.size() < 3)
+ return false;
+
+ *title = base::ASCIIToUTF16(dlg_strings[0]);
+ *message = base::ASCIIToUTF16(dlg_strings[0]);
+ *is_rtl_locale = dlg_strings[2] == env_vars::kRtlLocale;
+ return true;
+}
+
+bool ChromeBreakpadClient::AboutToRestart() {
+ scoped_ptr<base::Environment> env(base::Environment::Create());
+ if (!env->HasVar(env_vars::kRestartInfo))
+ return false;
+
+ env->SetVar(env_vars::kShowRestart, "1");
+ return true;
+}
#endif
#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS)
@@ -127,4 +165,9 @@ size_t ChromeBreakpadClient::RegisterCrashKeys() {
return crash_keys::RegisterChromeCrashKeys();
}
+bool ChromeBreakpadClient::IsRunningUnattended() {
+ scoped_ptr<base::Environment> env(base::Environment::Create());
+ return env->HasVar(env_vars::kHeadless);
+}
+
} // namespace chrome
« no previous file with comments | « chrome/app/chrome_breakpad_client.h ('k') | chrome/app/chrome_exe_main_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698