Index: chrome/common/child_process_logging_win.cc |
diff --git a/chrome/common/child_process_logging_win.cc b/chrome/common/child_process_logging_win.cc |
index bd1063b0cdb5ac1f2b1156aee742f063772bb1db..3963bc3cc2eefd5c6e74ed5c4883d453c91ff7ee 100644 |
--- a/chrome/common/child_process_logging_win.cc |
+++ b/chrome/common/child_process_logging_win.cc |
@@ -29,10 +29,10 @@ |
void SetCrashKeyValueTrampoline(const base::StringPiece& key, |
const base::StringPiece& value) { |
- static SetCrashKeyValue set_crash_key = []() { |
- HMODULE elf_module = GetModuleHandle(chrome::kChromeElfDllName); |
+ static SetCrashKeyValue set_crash_key = [](){ |
+ HMODULE exe_module = GetModuleHandle(chrome::kBrowserProcessExecutableName); |
return reinterpret_cast<SetCrashKeyValue>( |
- elf_module ? GetProcAddress(elf_module, "SetCrashKeyValueImpl") |
+ exe_module ? GetProcAddress(exe_module, "SetCrashKeyValueImpl") |
: nullptr); |
}(); |
if (set_crash_key) { |
@@ -42,10 +42,10 @@ |
} |
void ClearCrashKeyValueTrampoline(const base::StringPiece& key) { |
- static ClearCrashKeyValue clear_crash_key = []() { |
- HMODULE elf_module = GetModuleHandle(chrome::kChromeElfDllName); |
+ static ClearCrashKeyValue clear_crash_key = [](){ |
+ HMODULE exe_module = GetModuleHandle(chrome::kBrowserProcessExecutableName); |
return reinterpret_cast<ClearCrashKeyValue>( |
- elf_module ? GetProcAddress(elf_module, "ClearCrashKeyValueImpl") |
+ exe_module ? GetProcAddress(exe_module, "ClearCrashKeyValueImpl") |
: nullptr); |
}(); |
if (clear_crash_key) |
@@ -55,6 +55,7 @@ |
} // namespace |
void Init() { |
+ crash_keys::RegisterChromeCrashKeys(); |
base::debug::SetCrashKeyReportingFunctions(&SetCrashKeyValueTrampoline, |
&ClearCrashKeyValueTrampoline); |
@@ -62,39 +63,10 @@ |
// because of the aforementioned issue, crash keys aren't ready yet at the |
// time of Breakpad initialization, load the client id backed up in Google |
// Update settings instead. |
- // Please note if we are using Crashpad via chrome_elf then we need to call |
- // into chrome_elf to pass in the client id. |
std::unique_ptr<metrics::ClientInfo> client_info = |
GoogleUpdateSettings::LoadMetricsClientInfo(); |
- |
- // Set the client id in chrome_elf if it is loaded. We should not be |
- // registering crash keys in this case as that would already have been |
- // done by chrome_elf. |
- HMODULE elf_module = GetModuleHandle(chrome::kChromeElfDllName); |
- if (elf_module) { |
- // TODO(ananta) |
- // Remove this when the change to not require crash key registration lands. |
- // Please note that we are registering the crash keys twice if chrome_elf is |
- // loaded. Once in chrome_elf and once in the current module. Alternatively |
- // we could implement a crash key lookup trampoline which defers to |
- // chrome_elf. We decided to go with the duplicate key registration for |
- // simplicity. |
-#if !defined(COMPONENT_BUILD) |
- crash_keys::RegisterChromeCrashKeys(); |
-#endif |
- using SetMetricsClientIdFunction = void (*)(const char* client_id); |
- SetMetricsClientIdFunction set_metrics_id_fn = |
- reinterpret_cast<SetMetricsClientIdFunction>( |
- ::GetProcAddress(elf_module, "SetMetricsClientId")); |
- DCHECK(set_metrics_id_fn); |
- set_metrics_id_fn(client_info ? client_info->client_id.c_str() : nullptr); |
- } else { |
- // TODO(ananta) |
- // Remove this when the change to not require crash key registration lands. |
- crash_keys::RegisterChromeCrashKeys(); |
- if (client_info) |
- crash_keys::SetMetricsClientIdFromGUID(client_info->client_id); |
- } |
+ if (client_info) |
+ crash_keys::SetMetricsClientIdFromGUID(client_info->client_id); |
} |
} // namespace child_process_logging |