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

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

Issue 2797433002: Include Google Update integration details in crash keys and about:version. (Closed)
Patch Set: components/version_ui/OWNERS now own version_ui_strings.grdp Created 3 years, 8 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
Index: chrome/installer/setup/installer_crash_reporting.cc
diff --git a/chrome/installer/setup/installer_crash_reporting.cc b/chrome/installer/setup/installer_crash_reporting.cc
index 137913a1ab84f2534ed5114ac389284c43868339..7bfd32b40bd3ead188c0d2437a86f789437bde89 100644
--- a/chrome/installer/setup/installer_crash_reporting.cc
+++ b/chrome/installer/setup/installer_crash_reporting.cc
@@ -18,6 +18,7 @@
#include "base/version.h"
#include "base/win/registry.h"
#include "chrome/common/chrome_paths.h"
+#include "chrome/install_static/install_details.h"
#include "chrome/installer/setup/installer_crash_reporter_client.h"
#include "chrome/installer/setup/installer_state.h"
#include "chrome/installer/util/google_update_settings.h"
@@ -31,6 +32,8 @@ namespace {
// Crash Keys
+const char kApValue[] = "ap";
+const char kCohortName[] = "cohort-name";
const char kCurrentVersion[] = "current-version";
const char kIsSystemLevel[] = "system-level";
const char kOperation[] = "operation";
@@ -101,17 +104,19 @@ void ConfigureCrashReporting(const InstallerState& installer_state) {
}
size_t RegisterCrashKeys() {
- const base::debug::CrashKey kFixedKeys[] = {
- { crash_keys::kMetricsClientId, crash_keys::kSmallSize },
- { kCurrentVersion, crash_keys::kSmallSize },
- { kIsSystemLevel, crash_keys::kSmallSize },
- { kOperation, crash_keys::kSmallSize },
-
- // This is a Windows registry key, which maxes out at 255 chars.
- // (kMediumSize actually maxes out at 252 chars on Windows, but potentially
- // truncating such a small amount is a fair tradeoff compared to using
- // kLargeSize, which is wasteful.)
- { kStateKey, crash_keys::kMediumSize },
+ static constexpr base::debug::CrashKey kFixedKeys[] = {
+ {crash_keys::kMetricsClientId, crash_keys::kSmallSize},
+ {kApValue, crash_keys::kSmallSize},
+ {kCohortName, crash_keys::kSmallSize},
+ {kCurrentVersion, crash_keys::kSmallSize},
+ {kIsSystemLevel, crash_keys::kSmallSize},
+ {kOperation, crash_keys::kSmallSize},
+
+ // This is a Windows registry key, which maxes out at 255 chars.
+ // (kMediumSize actually maxes out at 252 chars on Windows, but
+ // potentially truncating such a small amount is a fair tradeoff compared
+ // to using kLargeSize, which is wasteful.)
+ {kStateKey, crash_keys::kMediumSize},
};
std::vector<base::debug::CrashKey> keys(std::begin(kFixedKeys),
std::end(kFixedKeys));
@@ -129,6 +134,14 @@ void SetInitialCrashKeys(const InstallerState& state) {
const base::string16 state_key = state.state_key();
if (!state_key.empty())
SetCrashKeyValue(kStateKey, base::UTF16ToUTF8(state_key));
+
+ // Set crash keys containing the registry values used to determine Chrome's
+ // update channel at process startup; see https://crbug.com/579504.
+ const auto& details = install_static::InstallDetails::Get();
+ base::debug::SetCrashKeyValue(kApValue,
+ base::UTF16ToUTF8(details.update_ap()));
+ base::debug::SetCrashKeyValue(
+ kCohortName, base::UTF16ToUTF8(details.update_cohort_name()));
}
void SetCrashKeysFromCommandLine(const base::CommandLine& command_line) {
« no previous file with comments | « chrome/install_static/product_install_details_unittest.cc ('k') | chrome/installer/setup/setup_install_details.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698