diff options
3 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/chromeos/login/login_display_host_impl.cc b/chrome/browser/chromeos/login/login_display_host_impl.cc index fa60389..96d92a4 100644 --- a/chrome/browser/chromeos/login/login_display_host_impl.cc +++ b/chrome/browser/chromeos/login/login_display_host_impl.cc @@ -151,6 +151,9 @@ namespace chromeos { // static LoginDisplayHost* LoginDisplayHostImpl::default_host_ = NULL; +// static +const int LoginDisplayHostImpl::kShowLoginWebUIid = 0x1111; + //////////////////////////////////////////////////////////////////////////////// // LoginDisplayHostImpl, public @@ -439,8 +442,10 @@ void LoginDisplayHostImpl::StartSignInScreen() { } LOG(WARNING) << "Login WebUI >> sign in"; - if (!login_window_) + if (!login_window_) { + TRACE_EVENT_ASYNC_BEGIN0("ui", "ShowLoginWebUI", kShowLoginWebUIid); LoadURL(GURL(kLoginURL)); + } DVLOG(1) << "Starting sign in screen"; const chromeos::UserList& users = chromeos::UserManager::Get()->GetUsers(); diff --git a/chrome/browser/chromeos/login/login_display_host_impl.h b/chrome/browser/chromeos/login/login_display_host_impl.h index 481001c..8d25d3f 100644 --- a/chrome/browser/chromeos/login/login_display_host_impl.h +++ b/chrome/browser/chromeos/login/login_display_host_impl.h @@ -84,6 +84,10 @@ class LoginDisplayHostImpl : public LoginDisplayHost, const gfx::Rect& background_bounds() const { return background_bounds_; } + // Trace id for ShowLoginWebUI event (since there exists at most one login + // WebUI at a time). + static const int kShowLoginWebUIid; + protected: // content::NotificationObserver implementation: virtual void Observe(int type, diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc index 98c27f5..66e8b2c 100644 --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc @@ -449,7 +449,6 @@ void SigninScreenHandler::DeclareLocalizedValues( } void SigninScreenHandler::Show(bool oobe_ui) { - TRACE_EVENT_ASYNC_BEGIN0("ui", "ShowLoginWebUI", this); CHECK(delegate_); oobe_ui_ = oobe_ui; if (!page_is_ready()) { @@ -1438,7 +1437,6 @@ void SigninScreenHandler::HandleOpenProxySettings() { } void SigninScreenHandler::HandleLoginVisible(const std::string& source) { - TRACE_EVENT_ASYNC_END0("ui", "ShowLoginWebUI", this); LOG(INFO) << "Login WebUI >> LoginVisible, source: " << source << ", " << "webui_visible_: " << webui_visible_; if (!webui_visible_) { @@ -1448,6 +1446,8 @@ void SigninScreenHandler::HandleLoginVisible(const std::string& source) { chrome::NOTIFICATION_LOGIN_WEBUI_VISIBLE, content::NotificationService::AllSources(), content::NotificationService::NoDetails()); + TRACE_EVENT_ASYNC_END0( + "ui", "ShowLoginWebUI", LoginDisplayHostImpl::kShowLoginWebUIid); } webui_visible_ = true; if (preferences_changed_delayed_) |