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/content/app/breakpad_linux.h" | 8 #include "components/crash/content/app/breakpad_linux.h" |
9 | 9 |
10 #include <fcntl.h> | 10 #include <fcntl.h> |
(...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
707 const char* product_version = nullptr; | 707 const char* product_version = nullptr; |
708 GetCrashReporterClient()->GetProductNameAndVersion(&product_name, | 708 GetCrashReporterClient()->GetProductNameAndVersion(&product_name, |
709 &product_version); | 709 &product_version); |
710 | 710 |
711 MinidumpDescriptor descriptor(MinidumpDescriptor::kMicrodumpOnConsole); | 711 MinidumpDescriptor descriptor(MinidumpDescriptor::kMicrodumpOnConsole); |
712 | 712 |
713 if (product_name && product_version) { | 713 if (product_name && product_version) { |
714 g_microdump_product_info = strdup( | 714 g_microdump_product_info = strdup( |
715 (product_name + std::string(":") + product_version).c_str()); | 715 (product_name + std::string(":") + product_version).c_str()); |
716 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_product_info); | 716 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_product_info); |
717 descriptor.SetMicrodumpProductInfo(g_microdump_product_info); | 717 descriptor.microdump_extra_info()->product_info = g_microdump_product_info; |
718 } | 718 } |
719 | 719 |
720 const char* android_build_fp = | 720 const char* android_build_fp = |
721 base::android::BuildInfo::GetInstance()->android_build_fp(); | 721 base::android::BuildInfo::GetInstance()->android_build_fp(); |
722 if (android_build_fp) { | 722 if (android_build_fp) { |
723 g_microdump_build_fingerprint = strdup(android_build_fp); | 723 g_microdump_build_fingerprint = strdup(android_build_fp); |
724 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_build_fingerprint); | 724 ANNOTATE_LEAKING_OBJECT_PTR(g_microdump_build_fingerprint); |
725 descriptor.SetMicrodumpBuildFingerprint(g_microdump_build_fingerprint); | 725 descriptor.microdump_extra_info()->build_fingerprint = |
| 726 g_microdump_build_fingerprint; |
726 } | 727 } |
727 | 728 |
728 DCHECK(!g_microdump); | 729 DCHECK(!g_microdump); |
729 bool is_browser_process = process_type.empty() || process_type == "webview"; | 730 bool is_browser_process = process_type.empty() || process_type == "webview"; |
730 g_microdump = new ExceptionHandler( | 731 g_microdump = new ExceptionHandler( |
731 descriptor, | 732 descriptor, |
732 nullptr, | 733 nullptr, |
733 MicrodumpCrashDone, | 734 MicrodumpCrashDone, |
734 reinterpret_cast<void*>(is_browser_process), | 735 reinterpret_cast<void*>(is_browser_process), |
735 true, // Install handlers. | 736 true, // Install handlers. |
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1751 } | 1752 } |
1752 } | 1753 } |
1753 } | 1754 } |
1754 #endif // OS_ANDROID | 1755 #endif // OS_ANDROID |
1755 | 1756 |
1756 bool IsCrashReporterEnabled() { | 1757 bool IsCrashReporterEnabled() { |
1757 return g_is_crash_reporter_enabled; | 1758 return g_is_crash_reporter_enabled; |
1758 } | 1759 } |
1759 | 1760 |
1760 } // namespace breakpad | 1761 } // namespace breakpad |
OLD | NEW |