Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7163)

Unified Diff: chromecast/browser/cast_browser_main_parts.cc

Issue 2393853002: Refactor CrashDump*Manager to use a shared CrashDumpObserver singleton. (Closed)
Patch Set: fix initialization in ShellBrowserMainParts Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromecast/browser/cast_browser_main_parts.cc
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
index 22df7643d29d8ef8f303780d6314dfff2fe0b782..08066c761534705501918ea39e6ef0ebd8ab32e8 100644
--- a/chromecast/browser/cast_browser_main_parts.cc
+++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -40,6 +40,7 @@
#include "chromecast/browser/pref_service_helper.h"
#include "chromecast/browser/url_request_context_factory.h"
#include "chromecast/chromecast_features.h"
+#include "chromecast/common/global_descriptors.h"
#include "chromecast/common/platform_client_auth.h"
#include "chromecast/media/base/key_systems_common.h"
#include "chromecast/media/base/media_resource_tracker.h"
@@ -277,7 +278,10 @@ CastBrowserMainParts::CastBrowserMainParts(
}
CastBrowserMainParts::~CastBrowserMainParts() {
-#if !defined(OS_ANDROID)
+#if defined(OS_ANDROID)
+ breakpad::CrashDumpObserver::GetInstance()->UnregisterClient(
+ crash_dump_manager_);
+#else
if (media_thread_ && media_pipeline_backend_manager_) {
// Make sure that media_pipeline_backend_manager_ is destroyed after any
// pending media thread tasks. The CastAudioOutputStream implementation
@@ -293,7 +297,7 @@ CastBrowserMainParts::~CastBrowserMainParts() {
media_thread_->task_runner()->DeleteSoon(
FROM_HERE, media_pipeline_backend_manager_.release());
}
-#endif // !defined(OS_ANDROID)
+#endif // defined(OS_ANDROID)
}
scoped_refptr<base::SingleThreadTaskRunner>
@@ -386,8 +390,10 @@ int CastBrowserMainParts::PreCreateThreads() {
if (!chromecast::CrashHandler::GetCrashDumpLocation(&crash_dumps_dir)) {
LOG(ERROR) << "Could not find crash dump location.";
}
- cast_browser_process_->SetCrashDumpManager(
- base::MakeUnique<breakpad::CrashDumpManager>(crash_dumps_dir));
+ breakpad::CrashDumpObserver::Create();
+ breakpad::CrashDumpObserver::GetInstance()->RegisterClient(
+ crash_dump_manager_ = new breakpad::CrashDumpManager(
boliu 2016/10/13 21:07:18 ditto
Tobias Sargeant 2016/12/08 16:41:41 Done.
+ crash_dumps_dir, kAndroidMinidumpDescriptor));
#else
base::FilePath home_dir;
CHECK(PathService::Get(DIR_CAST_HOME, &home_dir));

Powered by Google App Engine
This is Rietveld 408576698