| 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/breakpad/app/breakpad_linux.h" | 8 #include "components/breakpad/app/breakpad_linux.h" |
| 9 | 9 |
| 10 #include <fcntl.h> | 10 #include <fcntl.h> |
| (...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 695 info.fd = descriptor.fd(); | 695 info.fd = descriptor.fd(); |
| 696 info.process_type = g_process_type; | 696 info.process_type = g_process_type; |
| 697 info.process_type_length = my_strlen(g_process_type); | 697 info.process_type_length = my_strlen(g_process_type); |
| 698 info.distro = distro; | 698 info.distro = distro; |
| 699 info.distro_length = distro_length; | 699 info.distro_length = distro_length; |
| 700 info.upload = false; | 700 info.upload = false; |
| 701 info.process_start_time = g_process_start_time; | 701 info.process_start_time = g_process_start_time; |
| 702 info.pid = g_pid; | 702 info.pid = g_pid; |
| 703 info.crash_keys = g_crash_keys; | 703 info.crash_keys = g_crash_keys; |
| 704 HandleCrashDump(info); | 704 HandleCrashDump(info); |
| 705 return FinalizeCrashDoneAndroid(); | 705 bool finalize_result = FinalizeCrashDoneAndroid(); |
| 706 base::android::BuildInfo* android_build_info = |
| 707 base::android::BuildInfo::GetInstance(); |
| 708 if (android_build_info->sdk_int() >= 18 && |
| 709 strcmp(android_build_info->build_type(), "eng") != 0 && |
| 710 strcmp(android_build_info->build_type(), "userdebug") != 0) { |
| 711 // On JB MR2 and later, the system crash handler displays a dialog. For |
| 712 // renderer crashes, this is a bad user experience and so this is disabled |
| 713 // for user builds of Android. |
| 714 // TODO(cjhopman): There should be some way to recover the crash stack from |
| 715 // non-uploading user clients. See http://crbug.com/273706. |
| 716 __android_log_write(ANDROID_LOG_WARN, |
| 717 kGoogleBreakpad, |
| 718 "Tombstones are disabled on JB MR2+ user builds."); |
| 719 __android_log_write(ANDROID_LOG_WARN, |
| 720 kGoogleBreakpad, |
| 721 "### ### ### ### ### ### ### ### ### ### ### ### ###"); |
| 722 return true; |
| 723 } else { |
| 724 return finalize_result; |
| 725 } |
| 706 } | 726 } |
| 707 | 727 |
| 708 void EnableNonBrowserCrashDumping(const std::string& process_type, | 728 void EnableNonBrowserCrashDumping(const std::string& process_type, |
| 709 int minidump_fd) { | 729 int minidump_fd) { |
| 710 // This will guarantee that the BuildInfo has been initialized and subsequent | 730 // This will guarantee that the BuildInfo has been initialized and subsequent |
| 711 // calls will not require memory allocation. | 731 // calls will not require memory allocation. |
| 712 base::android::BuildInfo::GetInstance(); | 732 base::android::BuildInfo::GetInstance(); |
| 713 SetClientIdFromCommandLine(*CommandLine::ForCurrentProcess()); | 733 SetClientIdFromCommandLine(*CommandLine::ForCurrentProcess()); |
| 714 | 734 |
| 715 // On Android, the current sandboxing uses process isolation, in which the | 735 // On Android, the current sandboxing uses process isolation, in which the |
| (...skipping 799 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1515 } | 1535 } |
| 1516 } | 1536 } |
| 1517 } | 1537 } |
| 1518 #endif // OS_ANDROID | 1538 #endif // OS_ANDROID |
| 1519 | 1539 |
| 1520 bool IsCrashReporterEnabled() { | 1540 bool IsCrashReporterEnabled() { |
| 1521 return g_is_crash_reporter_enabled; | 1541 return g_is_crash_reporter_enabled; |
| 1522 } | 1542 } |
| 1523 | 1543 |
| 1524 } // namespace breakpad | 1544 } // namespace breakpad |
| OLD | NEW |