| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // For linux_syscall_support.h. This makes it safe to call embedded system | 5 // For linux_syscall_support.h. This makes it safe to call embedded system |
| 6 // calls when in seccomp mode. | 6 // calls when in seccomp mode. |
| 7 | 7 |
| 8 #include "components/crash/app/breakpad_linux.h" | 8 #include "components/crash/app/breakpad_linux.h" |
| 9 | 9 |
| 10 #include <fcntl.h> | 10 #include <fcntl.h> |
| (...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 717 MinidumpDescriptor descriptor(MinidumpDescriptor::kMicrodumpOnConsole); | 717 MinidumpDescriptor descriptor(MinidumpDescriptor::kMicrodumpOnConsole); |
| 718 | 718 |
| 719 if (product_name && product_version) { | 719 if (product_name && product_version) { |
| 720 g_microdump_product_info = strdup( | 720 g_microdump_product_info = strdup( |
| 721 (product_name + std::string(":") + product_version).c_str()); | 721 (product_name + std::string(":") + product_version).c_str()); |
| 722 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_product_info); | 722 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_product_info); |
| 723 descriptor.SetMicrodumpProductInfo(g_microdump_product_info); | 723 descriptor.SetMicrodumpProductInfo(g_microdump_product_info); |
| 724 } | 724 } |
| 725 | 725 |
| 726 const char* android_build_fp = | 726 const char* android_build_fp = |
| 727 base::android::BuildInfo::GetInstance()->android_build_fp(); | 727 base::android::BuildInfo::GetInstance()->build_fp(); |
| 728 if (android_build_fp) { | 728 if (android_build_fp) { |
| 729 g_microdump_build_fingerprint = strdup(android_build_fp); | 729 g_microdump_build_fingerprint = strdup(android_build_fp); |
| 730 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_build_fingerprint); | 730 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_build_fingerprint); |
| 731 descriptor.SetMicrodumpBuildFingerprint(g_microdump_build_fingerprint); | 731 descriptor.SetMicrodumpBuildFingerprint(g_microdump_build_fingerprint); |
| 732 } | 732 } |
| 733 | 733 |
| 734 DCHECK(!g_microdump); | 734 DCHECK(!g_microdump); |
| 735 bool is_browser_process = process_type.empty() || process_type == "webview"; | 735 bool is_browser_process = process_type.empty() || process_type == "webview"; |
| 736 g_microdump = new ExceptionHandler( | 736 g_microdump = new ExceptionHandler( |
| 737 descriptor, | 737 descriptor, |
| (...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1470 static const char android_build_id[] = "android_build_id"; | 1470 static const char android_build_id[] = "android_build_id"; |
| 1471 static const char android_build_fp[] = "android_build_fp"; | 1471 static const char android_build_fp[] = "android_build_fp"; |
| 1472 static const char device[] = "device"; | 1472 static const char device[] = "device"; |
| 1473 static const char model[] = "model"; | 1473 static const char model[] = "model"; |
| 1474 static const char brand[] = "brand"; | 1474 static const char brand[] = "brand"; |
| 1475 static const char exception_info[] = "exception_info"; | 1475 static const char exception_info[] = "exception_info"; |
| 1476 | 1476 |
| 1477 base::android::BuildInfo* android_build_info = | 1477 base::android::BuildInfo* android_build_info = |
| 1478 base::android::BuildInfo::GetInstance(); | 1478 base::android::BuildInfo::GetInstance(); |
| 1479 writer.AddPairString( | 1479 writer.AddPairString( |
| 1480 android_build_id, android_build_info->android_build_id()); | 1480 android_build_id, android_build_info->build_id()); |
| 1481 writer.AddBoundary(); | 1481 writer.AddBoundary(); |
| 1482 writer.AddPairString( | 1482 writer.AddPairString( |
| 1483 android_build_fp, android_build_info->android_build_fp()); | 1483 android_build_fp, android_build_info->build_fp()); |
| 1484 writer.AddBoundary(); | 1484 writer.AddBoundary(); |
| 1485 writer.AddPairString(device, android_build_info->device()); | 1485 writer.AddPairString(device, android_build_info->device()); |
| 1486 writer.AddBoundary(); | 1486 writer.AddBoundary(); |
| 1487 writer.AddPairString(model, android_build_info->model()); | 1487 writer.AddPairString(model, android_build_info->model()); |
| 1488 writer.AddBoundary(); | 1488 writer.AddBoundary(); |
| 1489 writer.AddPairString(brand, android_build_info->brand()); | 1489 writer.AddPairString(brand, android_build_info->brand()); |
| 1490 writer.AddBoundary(); | 1490 writer.AddBoundary(); |
| 1491 if (android_build_info->java_exception_info() != nullptr) { | 1491 if (android_build_info->java_exception_info() != nullptr) { |
| 1492 writer.AddPairString(exception_info, | 1492 writer.AddPairString(exception_info, |
| 1493 android_build_info->java_exception_info()); | 1493 android_build_info->java_exception_info()); |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1757 } | 1757 } |
| 1758 } | 1758 } |
| 1759 } | 1759 } |
| 1760 #endif // OS_ANDROID | 1760 #endif // OS_ANDROID |
| 1761 | 1761 |
| 1762 bool IsCrashReporterEnabled() { | 1762 bool IsCrashReporterEnabled() { |
| 1763 return g_is_crash_reporter_enabled; | 1763 return g_is_crash_reporter_enabled; |
| 1764 } | 1764 } |
| 1765 | 1765 |
| 1766 } // namespace breakpad | 1766 } // namespace breakpad |
| OLD | NEW |