| Index: chromecast/shell/browser/cast_content_browser_client.cc
|
| diff --git a/chromecast/shell/browser/cast_content_browser_client.cc b/chromecast/shell/browser/cast_content_browser_client.cc
|
| index b2e6db72af12fa8e7784fdccda9ede301214840c..61c7a8e54adf0471eaabfd7b0f11ef957fc78ab5 100644
|
| --- a/chromecast/shell/browser/cast_content_browser_client.cc
|
| +++ b/chromecast/shell/browser/cast_content_browser_client.cc
|
| @@ -15,6 +15,7 @@
|
| #include "chromecast/shell/browser/devtools/cast_dev_tools_delegate.h"
|
| #include "chromecast/shell/browser/geolocation/cast_access_token_store.h"
|
| #include "chromecast/shell/browser/url_request_context_factory.h"
|
| +#include "components/crash/app/breakpad_linux.h"
|
| #include "content/public/browser/browser_thread.h"
|
| #include "content/public/browser/certificate_request_result_type.h"
|
| #include "content/public/browser/file_descriptor_info.h"
|
| @@ -24,6 +25,10 @@
|
| #include "content/public/common/url_constants.h"
|
| #include "content/public/common/web_preferences.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "components/crash/browser/crash_dump_manager_android.h"
|
| +#endif // defined(OS_ANDROID)
|
| +
|
| namespace chromecast {
|
| namespace shell {
|
|
|
| @@ -174,6 +179,20 @@ void CastContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
|
| mappings->push_back(content::FileDescriptorInfo(
|
| kAndroidPakDescriptor,
|
| base::FileDescriptor(base::File(pak_file, flags))));
|
| +
|
| + if (breakpad::IsCrashReporterEnabled()) {
|
| + base::File minidump_file(
|
| + breakpad::CrashDumpManager::GetInstance()->CreateMinidumpFile(
|
| + child_process_id));
|
| + if (!minidump_file.IsValid()) {
|
| + LOG(ERROR) << "Failed to create file for minidump, crash reporting will "
|
| + << "be disabled for this process.";
|
| + } else {
|
| + mappings->push_back(content::FileDescriptorInfo(
|
| + kAndroidMinidumpDescriptor,
|
| + base::FileDescriptor(base::File(pak_file, flags))));
|
| + }
|
| + }
|
| #endif // defined(OS_ANDROID)
|
| }
|
|
|
|
|