| Index: components/crash/content/app/breakpad_linux.cc
|
| diff --git a/components/crash/content/app/breakpad_linux.cc b/components/crash/content/app/breakpad_linux.cc
|
| index c3a01a9922496fa889dd47e0f2315ea71f8654ff..0c89d49eb0dee7ca92bc7c684e5ee2c26ce2cb43 100644
|
| --- a/components/crash/content/app/breakpad_linux.cc
|
| +++ b/components/crash/content/app/breakpad_linux.cc
|
| @@ -101,7 +101,6 @@ ExceptionHandler* g_breakpad = nullptr;
|
| const char* g_asan_report_str = nullptr;
|
| #endif
|
| #if defined(OS_ANDROID)
|
| -const char kWebViewProcessType[] = "webview";
|
| char* g_process_type = nullptr;
|
| ExceptionHandler* g_microdump = nullptr;
|
| int g_signal_code_pipe_fd = -1;
|
| @@ -137,6 +136,7 @@ class MicrodumpInfo {
|
| const char* microdump_build_fingerprint_;
|
| const char* microdump_product_info_;
|
| const char* microdump_gpu_fingerprint_;
|
| + const char* microdump_process_type_;
|
| };
|
|
|
| base::LazyInstance<MicrodumpInfo> g_microdump_info =
|
| @@ -878,8 +878,12 @@ void MicrodumpInfo::Initialize(const std::string& process_type,
|
| const char* android_build_fp) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| DCHECK(!g_microdump);
|
| - bool is_browser_process =
|
| - process_type.empty() || process_type == kWebViewProcessType;
|
| + // |process_type| for webview's browser process is kBrowserProcessType or
|
| + // kWebViewSingleProcessType. |process_type| for chrome's browser process is
|
| + // an empty string.
|
| + bool is_browser_process = process_type.empty() ||
|
| + process_type == kWebViewSingleProcessType ||
|
| + process_type == kBrowserProcessType;
|
|
|
| MinidumpDescriptor descriptor(MinidumpDescriptor::kMicrodumpOnConsole);
|
|
|
| @@ -890,6 +894,11 @@ void MicrodumpInfo::Initialize(const std::string& process_type,
|
| descriptor.microdump_extra_info()->product_info = microdump_product_info_;
|
| }
|
|
|
| + microdump_process_type_ =
|
| + strdup(process_type.empty() ? kBrowserProcessType : process_type.c_str());
|
| + ANNOTATE_LEAKING_OBJECT_PTR(microdump_process_type_);
|
| + descriptor.microdump_extra_info()->process_type = microdump_process_type_;
|
| +
|
| if (android_build_fp) {
|
| microdump_build_fingerprint_ = strdup(android_build_fp);
|
| ANNOTATE_LEAKING_OBJECT_PTR(microdump_build_fingerprint_);
|
| @@ -908,7 +917,10 @@ void MicrodumpInfo::Initialize(const std::string& process_type,
|
| true, // Install handlers.
|
| -1); // Server file descriptor. -1 for in-process.
|
|
|
| - if (process_type == kWebViewProcessType) {
|
| + if (process_type == kWebViewSingleProcessType ||
|
| + process_type == kBrowserProcessType) {
|
| + // TODO(tobiasjs): figure out what to do with on demand minidump on the
|
| + // renderer process of webview.
|
| // We do not use |DumpProcess()| for handling programatically
|
| // generated dumps for WebView because we only know the file
|
| // descriptor to which we are dumping at the time of the call to
|
|
|