summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chrome_browser_main_android.cc
diff options
context:
space:
mode:
authorandrewhayden@chromium.org <andrewhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 10:55:43 +0000
committerandrewhayden@chromium.org <andrewhayden@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-03 10:55:43 +0000
commitaa328c73297697e1d4846c0cb8ef7be7f8d80608 (patch)
treec855d573c138ce94c7d18ffff92b95780da543df /chrome/browser/chrome_browser_main_android.cc
parentb623b5f07d8e167f2cc2b79b5f7087b382dc2d2f (diff)
downloadchromium_src-aa328c73297697e1d4846c0cb8ef7be7f8d80608.zip
chromium_src-aa328c73297697e1d4846c0cb8ef7be7f8d80608.tar.gz
chromium_src-aa328c73297697e1d4846c0cb8ef7be7f8d80608.tar.bz2
[Chromium] Add tracing to startup process, particularly for Android
BUG=222350 Review URL: https://chromiumcodereview.appspot.com/13820011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198078 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chrome_browser_main_android.cc')
-rw-r--r--chrome/browser/chrome_browser_main_android.cc21
1 files changed, 19 insertions, 2 deletions
diff --git a/chrome/browser/chrome_browser_main_android.cc b/chrome/browser/chrome_browser_main_android.cc
index 51cf9f2..ea68eb3 100644
--- a/chrome/browser/chrome_browser_main_android.cc
+++ b/chrome/browser/chrome_browser_main_android.cc
@@ -5,6 +5,7 @@
#include "chrome/browser/chrome_browser_main_android.h"
#include "base/command_line.h"
+#include "base/debug/trace_event.h"
#include "base/path_service.h"
#include "cc/base/switches.h"
#include "chrome/app/breakpad_linux.h"
@@ -26,6 +27,7 @@ ChromeBrowserMainPartsAndroid::~ChromeBrowserMainPartsAndroid() {
}
void ChromeBrowserMainPartsAndroid::PreProfileInit() {
+ TRACE_EVENT0("startup", "ChromeBrowserMainPartsAndroid::PreProfileInit")
#if defined(USE_LINUX_BREAKPAD)
#if defined(GOOGLE_CHROME_BUILD)
// TODO(jcivelli): we should not initialize the crash-reporter when it was not
@@ -51,6 +53,8 @@ void ChromeBrowserMainPartsAndroid::PreProfileInit() {
}
void ChromeBrowserMainPartsAndroid::PreEarlyInitialization() {
+ TRACE_EVENT0("startup",
+ "ChromeBrowserMainPartsAndroid::PreEarlyInitialization")
net::NetworkChangeNotifier::SetFactory(
new net::NetworkChangeNotifierFactoryAndroid());
@@ -59,8 +63,20 @@ void ChromeBrowserMainPartsAndroid::PreEarlyInitialization() {
// Chrome on Android does not use default MessageLoop. It has its own
// Android specific MessageLoop.
DCHECK(!main_message_loop_.get());
- main_message_loop_.reset(new MessageLoop(MessageLoop::TYPE_UI));
- MessageLoopForUI::current()->Start();
+
+ // Create and start the MessageLoop.
+ // This is a critical point in the startup process.
+ {
+ TRACE_EVENT0("startup",
+ "ChromeBrowserMainPartsAndroid::PreEarlyInitialization:CreateUiMsgLoop");
+ main_message_loop_.reset(new MessageLoop(MessageLoop::TYPE_UI));
+ }
+
+ {
+ TRACE_EVENT0("startup",
+ "ChromeBrowserMainPartsAndroid::PreEarlyInitialization:StartUiMsgLoop");
+ MessageLoopForUI::current()->Start();
+ }
CommandLine::ForCurrentProcess()->AppendSwitch(
cc::switches::kCompositeToMailbox);
@@ -69,6 +85,7 @@ void ChromeBrowserMainPartsAndroid::PreEarlyInitialization() {
}
int ChromeBrowserMainPartsAndroid::PreCreateThreads() {
+ TRACE_EVENT0("startup", "ChromeBrowserMainPartsAndroid::PreCreateThreads")
// PreCreateThreads initializes ResourceBundle instance.
const int result = ChromeBrowserMainParts::PreCreateThreads();