Index: chrome/browser/chrome_browser_main_android.cc |
diff --git a/chrome/browser/chrome_browser_main_android.cc b/chrome/browser/chrome_browser_main_android.cc |
index 2266442d162c1285f6d5861536b76f248d014db8..8af572fa47b0cc91d156d0c9dfe5a39ed9fe8ac2 100644 |
--- a/chrome/browser/chrome_browser_main_android.cc |
+++ b/chrome/browser/chrome_browser_main_android.cc |
@@ -8,12 +8,14 @@ |
#include "base/command_line.h" |
#include "base/files/file_path.h" |
#include "base/files/file_util.h" |
+#include "base/memory/ptr_util.h" |
#include "base/path_service.h" |
#include "base/trace_event/trace_event.h" |
#include "chrome/browser/android/mojo/chrome_interface_registrar_android.h" |
#include "chrome/browser/android/seccomp_support_detector.h" |
#include "chrome/browser/signin/signin_manager_factory.h" |
#include "chrome/common/chrome_paths.h" |
+#include "chrome/common/descriptors_android.h" |
#include "components/crash/content/app/breakpad_linux.h" |
#include "components/crash/content/browser/crash_dump_manager_android.h" |
#include "components/signin/core/browser/signin_manager.h" |
@@ -40,16 +42,16 @@ ChromeBrowserMainPartsAndroid::ChromeBrowserMainPartsAndroid( |
: ChromeBrowserMainParts(parameters) { |
} |
-ChromeBrowserMainPartsAndroid::~ChromeBrowserMainPartsAndroid() { |
-} |
- |
int ChromeBrowserMainPartsAndroid::PreCreateThreads() { |
TRACE_EVENT0("startup", "ChromeBrowserMainPartsAndroid::PreCreateThreads") |
- // The CrashDumpManager must be initialized before any child process is |
- // created (as they need to access it during creation). Such processes |
- // are created on the PROCESS_LAUNCHER thread, and so the manager is |
- // initialized before that thread is created. |
+ // The CrashDumpManager must be registered before any child process is |
+ // created (as it needs to be notified during child process |
+ // creation). Such processes are created on the PROCESS_LAUNCHER |
+ // thread, and so the observer is initialized and the manager |
+ // registered before that thread is created. |
+ breakpad::CrashDumpObserver::Create(); |
+ |
#if defined(GOOGLE_CHROME_BUILD) |
// TODO(jcivelli): we should not initialize the crash-reporter when it was not |
// enabled. Right now if it is disabled we still generate the minidumps but we |
@@ -67,7 +69,9 @@ int ChromeBrowserMainPartsAndroid::PreCreateThreads() { |
if (breakpad_enabled) { |
base::FilePath crash_dump_dir; |
PathService::Get(chrome::DIR_CRASH_DUMPS, &crash_dump_dir); |
- crash_dump_manager_.reset(new breakpad::CrashDumpManager(crash_dump_dir)); |
+ breakpad::CrashDumpObserver::GetInstance()->RegisterClient( |
+ base::MakeUnique<breakpad::CrashDumpManager>( |
+ crash_dump_dir, kAndroidMinidumpDescriptor)); |
} |
// Auto-detect based on en-US whether locale .pak files are store uncompressed |