| Index: chrome/browser/chrome_browser_main.cc
|
| diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
| index ab34cda844052ffe288539b11209621f87645480..0e7089aaed6f3771a6922e0e0cd1a007afd97f56 100644
|
| --- a/chrome/browser/chrome_browser_main.cc
|
| +++ b/chrome/browser/chrome_browser_main.cc
|
| @@ -212,6 +212,7 @@
|
| #include "chrome/installer/util/helper.h"
|
| #include "chrome/installer/util/install_util.h"
|
| #include "chrome/installer/util/shell_util.h"
|
| +#include "components/crash/content/app/crashpad.h"
|
| #include "ui/base/l10n/l10n_util_win.h"
|
| #include "ui/shell_dialogs/select_file_dialog.h"
|
| #endif // defined(OS_WIN)
|
| @@ -1402,6 +1403,18 @@ void ChromeBrowserMainParts::PostBrowserStart() {
|
| int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
|
| TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreMainMessageLoopRunImpl");
|
|
|
| +#if defined(OS_WIN)
|
| + HMODULE chrome_elf = GetModuleHandle(chrome::kChromeElfDllName);
|
| + if (chrome_elf) {
|
| + auto block_until_handler_started = reinterpret_cast<void (*)()>(
|
| + GetProcAddress(chrome_elf, "BlockUntilHandlerStartedImpl"));
|
| + if (block_until_handler_started) {
|
| + SCOPED_UMA_HISTOGRAM_TIMER("Startup.BlockForCrashpadHandlerStartupTime");
|
| + block_until_handler_started();
|
| + }
|
| + }
|
| +#endif
|
| +
|
| SCOPED_UMA_HISTOGRAM_LONG_TIMER("Startup.PreMainMessageLoopRunImplLongTime");
|
| const base::TimeTicks start_time_step1 = base::TimeTicks::Now();
|
|
|
|
|