diff options
Diffstat (limited to 'chrome/common/child_process_logging_win.cc')
-rw-r--r-- | chrome/common/child_process_logging_win.cc | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/chrome/common/child_process_logging_win.cc b/chrome/common/child_process_logging_win.cc index 9571701..4e3177c 100644 --- a/chrome/common/child_process_logging_win.cc +++ b/chrome/common/child_process_logging_win.cc @@ -16,57 +16,7 @@ namespace child_process_logging { -namespace { - -// exported in breakpad_win.cc: -// void __declspec(dllexport) __cdecl SetCrashKeyValueImpl. -typedef void (__cdecl *SetCrashKeyValue)(const wchar_t*, const wchar_t*); - -// exported in breakpad_win.cc: -// void __declspec(dllexport) __cdecl ClearCrashKeyValueImpl. -typedef void (__cdecl *ClearCrashKeyValue)(const wchar_t*); - -void SetCrashKeyValueTrampoline(const base::StringPiece& key, - const base::StringPiece& value) { - static SetCrashKeyValue set_crash_key = NULL; - if (!set_crash_key) { - HMODULE exe_module = GetModuleHandle(chrome::kBrowserProcessExecutableName); - if (!exe_module) - return; - set_crash_key = reinterpret_cast<SetCrashKeyValue>( - GetProcAddress(exe_module, "SetCrashKeyValueImpl")); - } - - if (set_crash_key) { - (set_crash_key)(base::UTF8ToWide(key).data(), - base::UTF8ToWide(value).data()); - } -} - -void ClearCrashKeyValueTrampoline(const base::StringPiece& key) { - static ClearCrashKeyValue clear_crash_key = NULL; - if (!clear_crash_key) { - HMODULE exe_module = GetModuleHandle(chrome::kBrowserProcessExecutableName); - if (!exe_module) - return; - clear_crash_key = reinterpret_cast<ClearCrashKeyValue>( - GetProcAddress(exe_module, "ClearCrashKeyValueImpl")); - } - - if (clear_crash_key) - (clear_crash_key)(base::UTF8ToWide(key).data()); -} - -} // namespace - void Init() { - // Note: on other platforms, this is set up during Breakpad initialization, - // in ChromeBreakpadClient. But on Windows, that is before the DLL module is - // loaded, which is a prerequisite of the crash key system. - crash_keys::RegisterChromeCrashKeys(); - base::debug::SetCrashKeyReportingFunctions( - &SetCrashKeyValueTrampoline, &ClearCrashKeyValueTrampoline); - // This would be handled by BreakpadClient::SetCrashClientIdFromGUID(), but // 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 |