Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(473)

Unified Diff: chrome/browser/chrome_browser_main.cc

Issue 2475863004: Make Crashpad start asynchronous, and move back to chrome_elf (Closed)
Patch Set: . Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chrome_browser_main.cc
diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
index f5731f8f8049d2fed97050029c820cb50ce5034c..531bae3abe562ead8c21bb146863bbde643cbd3d 100644
--- a/chrome/browser/chrome_browser_main.cc
+++ b/chrome/browser/chrome_browser_main.cc
@@ -214,6 +214,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)
@@ -1438,6 +1439,16 @@ void ChromeBrowserMainParts::PostBrowserStart() {
int ChromeBrowserMainParts::PreMainMessageLoopRunImpl() {
TRACE_EVENT0("startup", "ChromeBrowserMainParts::PreMainMessageLoopRunImpl");
+#if defined(OS_WIN)
+ auto block_until_handler_started = reinterpret_cast<void (*)()>(
+ GetProcAddress(GetModuleHandle(chrome::kChromeElfDllName),
+ "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();

Powered by Google App Engine
This is Rietveld 408576698