Index: components/crash/content/app/breakpad_linux.cc |
diff --git a/components/crash/content/app/breakpad_linux.cc b/components/crash/content/app/breakpad_linux.cc |
index 9ebc33f4f01ce975604b921303e43c3af59a04cb..dbec1e0a5d79dd3cb99cb8a57bd51689df83403e 100644 |
--- a/components/crash/content/app/breakpad_linux.cc |
+++ b/components/crash/content/app/breakpad_linux.cc |
@@ -58,6 +58,7 @@ |
#include "base/android/build_info.h" |
#include "base/android/path_utils.h" |
#include "base/debug/leak_annotations.h" |
+#include "base/strings/stringprintf.h" |
#endif |
#include "third_party/lss/linux_syscall_support.h" |
@@ -142,6 +143,15 @@ class MicrodumpInfo { |
base::LazyInstance<MicrodumpInfo> g_microdump_info = |
LAZY_INSTANCE_INITIALIZER; |
+// Creates the value for the "package" field, which is in the format: |
+// $PACKAGE_NAME v$VERSION_CODE ($VERSION_NAME) |
+std::string format_android_package( |
Lei Zhang
2016/12/08 06:53:50
nit: FormatAndroidPackage() ?
agrieve
2016/12/13 18:47:45
Done.
|
+ base::android::BuildInfo* android_build_info) { |
+ return base::StringPrintf("%s v%s (%s)", |
Lei Zhang
2016/12/08 06:53:50
This file has "WARNING: this code runs in a compro
agrieve
2016/12/13 18:47:45
Aha, great info! Put it on the stack.
|
+ android_build_info->package_name(), |
+ android_build_info->package_version_code(), |
+ android_build_info->package_version_name()); |
+} |
#endif |
CrashKeyStorage* g_crash_keys = nullptr; |
@@ -1610,6 +1620,7 @@ void HandleCrashDump(const BreakpadInfo& info) { |
static const char model[] = "model"; |
static const char brand[] = "brand"; |
static const char exception_info[] = "exception_info"; |
+ static const char package[] = "package"; |
base::android::BuildInfo* android_build_info = |
base::android::BuildInfo::GetInstance(); |
@@ -1628,6 +1639,9 @@ void HandleCrashDump(const BreakpadInfo& info) { |
writer.AddPairString(gms_core_version, |
android_build_info->gms_version_code()); |
writer.AddBoundary(); |
+ std::string android_package = format_android_package(android_build_info); |
+ writer.AddPairString(package, android_package.c_str()); |
+ writer.AddBoundary(); |
if (android_build_info->java_exception_info() != nullptr) { |
writer.AddPairString(exception_info, |
android_build_info->java_exception_info()); |