| 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 |