| 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
|
|
|