| Index: chrome/app/chrome_crash_reporter_client_win.cc
|
| diff --git a/chrome/app/chrome_crash_reporter_client_win.cc b/chrome/app/chrome_crash_reporter_client_win.cc
|
| index 42e2093efa73d2506a45a87d0b89b2b4cc974dc0..61197252af72d76c843705eaec3e8a54595f3dc9 100644
|
| --- a/chrome/app/chrome_crash_reporter_client_win.cc
|
| +++ b/chrome/app/chrome_crash_reporter_client_win.cc
|
| @@ -69,6 +69,12 @@ int snprintf(char* buffer,
|
| }
|
|
|
| size_t RegisterCrashKeysHelper() {
|
| + // Crash keys should be registered only once for the duration of the
|
| + // process.
|
| + static size_t registered_keys_size = 0;
|
| + if (registered_keys_size)
|
| + return registered_keys_size;
|
| +
|
| // The following keys may be chunked by the underlying crash logging system,
|
| // but ultimately constitute a single key-value pair.
|
| //
|
| @@ -172,7 +178,9 @@ size_t RegisterCrashKeysHelper() {
|
| }
|
| }
|
|
|
| - return base::debug::InitCrashKeys(&keys[0], keys.size(), kChunkMaxLength);
|
| + registered_keys_size =
|
| + base::debug::InitCrashKeys(&keys[0], keys.size(), kChunkMaxLength);
|
| + return registered_keys_size;
|
| }
|
|
|
| } // namespace
|
| @@ -201,6 +209,11 @@ void ChromeCrashReporterClient::InitializeCrashReportingForProcess() {
|
| }
|
| #endif // NACL_WIN64
|
|
|
| +// static
|
| +void ChromeCrashReporterClient::RegisterCrashKeysForDebugging() {
|
| + RegisterCrashKeysHelper();
|
| +}
|
| +
|
| bool ChromeCrashReporterClient::GetAlternativeCrashDumpLocation(
|
| base::string16* crash_dir) {
|
| // By setting the BREAKPAD_DUMP_LOCATION environment variable, an alternate
|
|
|