| Index: components/crash/content/app/crashpad_mac.mm
|
| diff --git a/components/crash/content/app/crashpad_mac.mm b/components/crash/content/app/crashpad_mac.mm
|
| index 2cabccb88d19c655afe3248ad10a3086b0afddce..69cff0c628be2d043a16ac2f28cb8889a21c82d8 100644
|
| --- a/components/crash/content/app/crashpad_mac.mm
|
| +++ b/components/crash/content/app/crashpad_mac.mm
|
| @@ -66,12 +66,18 @@
|
| base::SysNSStringToUTF8(product).append("_Mac");
|
|
|
| #if defined(GOOGLE_CHROME_BUILD)
|
| + // Empty means stable.
|
| + const bool allow_empty_channel = true;
|
| +#else
|
| + const bool allow_empty_channel = false;
|
| +#endif
|
| NSString* channel = base::mac::ObjCCast<NSString>(
|
| [outer_bundle objectForInfoDictionaryKey:@"KSChannelID"]);
|
| if (channel) {
|
| process_annotations["channel"] = base::SysNSStringToUTF8(channel);
|
| + } else if (allow_empty_channel) {
|
| + process_annotations["channel"] = "";
|
| }
|
| -#endif
|
|
|
| NSString* version =
|
| base::mac::ObjCCast<NSString>([base::mac::FrameworkBundle()
|
| @@ -81,6 +87,16 @@
|
| process_annotations["plat"] = std::string("OS X");
|
|
|
| std::vector<std::string> arguments;
|
| +
|
| + if (crash_reporter_client->ShouldMonitorCrashHandlerExpensively()) {
|
| + arguments.push_back("--monitor-self");
|
| + }
|
| +
|
| + // Set up --monitor-self-annotation even in the absence of --monitor-self
|
| + // so that minidumps produced by generate_dump will contain these
|
| + // annotations.
|
| + arguments.push_back("--monitor-self-annotation=ptype=crashpad-handler");
|
| +
|
| if (!browser_process) {
|
| // If this is an initial client that's not the browser process, it's
|
| // important that the new Crashpad handler also not be connected to any
|
|
|