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

Unified Diff: chrome/installer/setup/setup_main.cc

Issue 1475643004: Add crash keys for the installer covering simple InstallerState fields. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move include file to fix last nit Created 5 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/installer/setup/installer_crash_reporting.cc ('k') | chrome/installer/util/installer_state.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/installer/setup/setup_main.cc
diff --git a/chrome/installer/setup/setup_main.cc b/chrome/installer/setup/setup_main.cc
index c3c575a8a7b87c8b30a1d06cda15428b5cca8b3c..d371651d8f4ae7b0a64829f29d9df7757710e2fe 100644
--- a/chrome/installer/setup/setup_main.cc
+++ b/chrome/installer/setup/setup_main.cc
@@ -14,8 +14,6 @@
#include "base/at_exit.h"
#include "base/basictypes.h"
#include "base/command_line.h"
-#include "base/debug/crash_logging.h"
-#include "base/debug/leak_annotations.h"
#include "base/file_version_info.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
@@ -44,7 +42,7 @@
#include "chrome/installer/setup/archive_patch_helper.h"
#include "chrome/installer/setup/install.h"
#include "chrome/installer/setup/install_worker.h"
-#include "chrome/installer/setup/installer_crash_reporter_client.h"
+#include "chrome/installer/setup/installer_crash_reporting.h"
#include "chrome/installer/setup/setup_constants.h"
#include "chrome/installer/setup/setup_util.h"
#include "chrome/installer/setup/uninstall.h"
@@ -69,8 +67,6 @@
#include "chrome/installer/util/self_cleaning_temp_dir.h"
#include "chrome/installer/util/shell_util.h"
#include "chrome/installer/util/user_experiment.h"
-#include "components/crash/content/app/breakpad_win.h"
-#include "components/crash/content/app/crash_keys_win.h"
#if defined(GOOGLE_CHROME_BUILD)
#include "chrome/installer/util/updating_app_registration_data.h"
@@ -1285,55 +1281,6 @@ bool HandleNonInstallCmdLineOptions(const InstallationState& original_state,
return handled;
}
-#if defined(COMPONENT_BUILD)
-// Installed via base::debug::SetCrashKeyReportingFunctions.
-void SetCrashKeyValue(const base::StringPiece& key,
- const base::StringPiece& value) {
- DCHECK(breakpad::CrashKeysWin::keeper());
- breakpad::CrashKeysWin::keeper()->SetCrashKeyValue(base::UTF8ToUTF16(key),
- base::UTF8ToUTF16(value));
-}
-
-// Installed via base::debug::SetCrashKeyReportingFunctions.
-void ClearCrashKey(const base::StringPiece& key) {
- DCHECK(breakpad::CrashKeysWin::keeper());
- breakpad::CrashKeysWin::keeper()->ClearCrashKeyValue(base::UTF8ToUTF16(key));
-}
-#endif // COMPONENT_BUILD
-
-void ConfigureCrashReporting(const InstallerState& installer_state) {
- // This is inspired by work done in various parts of Chrome startup to connect
- // to the crash service. Since the installer does not split its work between
- // a stub .exe and a main .dll, crash reporting can be configured in one place
- // right here.
-
- // Create the crash client and install it (a la MainDllLoader::Launch).
- InstallerCrashReporterClient *crash_client =
- new InstallerCrashReporterClient(!installer_state.system_install());
- ANNOTATE_LEAKING_OBJECT_PTR(crash_client);
- crash_reporter::SetCrashReporterClient(crash_client);
-
- breakpad::InitCrashReporter("Chrome Installer");
-
- // Set up crash keys and the client id (a la child_process_logging::Init()).
-#if defined(COMPONENT_BUILD)
- // breakpad::InitCrashReporter takes care of this for static builds but not
- // component builds due to intricacies of chrome.exe and chrome.dll sharing a
- // copy of base.dll in that case (for details, see the comment in
- // components/crash/content/app/breakpad_win.cc).
- crash_client->RegisterCrashKeys();
- base::debug::SetCrashKeyReportingFunctions(&SetCrashKeyValue, &ClearCrashKey);
-#endif // COMPONENT_BUILD
-
- scoped_ptr<metrics::ClientInfo> client_info =
- GoogleUpdateSettings::LoadMetricsClientInfo();
- if (client_info)
- crash_client->SetCrashReporterClientIdFromGUID(client_info->client_id);
- // TODO(grt): A lack of a client_id at this point generally means that Chrome
- // has yet to have been launched and picked one. Consider creating it and
- // setting it here for Chrome to use.
-}
-
// Uninstalls multi-install Chrome Frame if the current operation is a
// multi-install install or update. The operation is performed directly rather
// than delegated to the existing install since there is no facility in older
@@ -1704,7 +1651,8 @@ int WINAPI wWinMain(HINSTANCE instance, HINSTANCE prev_instance,
InstallerState installer_state;
installer_state.Initialize(cmd_line, prefs, original_state);
- ConfigureCrashReporting(installer_state);
+ installer::ConfigureCrashReporting(installer_state);
+ installer::SetInitialCrashKeys(installer_state);
// Make sure the process exits cleanly on unexpected errors.
base::EnableTerminationOnHeapCorruption();
« no previous file with comments | « chrome/installer/setup/installer_crash_reporting.cc ('k') | chrome/installer/util/installer_state.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698