Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
| index acc32e7326ac9b5607fd08b4b95bf3c42e319a06..f7e8de85fe44f6ade35abe3910aaffafedf82742 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/bind.h" |
| #include "base/bind_helpers.h" |
| #include "base/logging.h" |
| +#include "base/metrics/histogram.h" |
| #include "base/values.h" |
| #include "chrome/browser/chromeos/login/camera_detector.h" |
| #include "chrome/browser/chromeos/login/default_user_images.h" |
| @@ -83,6 +84,7 @@ void UserImageScreenHandler::Show() { |
| show_on_init_ = true; |
| return; |
| } |
| + screen_show_time_ = base::Time::Now(); |
| ShowScreen(kUserImageScreen, NULL); |
| // When shown, query camera presence again (first-time query is done by |
| // OobeUI::OnLoginPromptVisible). |
| @@ -144,6 +146,9 @@ void UserImageScreenHandler::RegisterMessages() { |
| web_ui_->RegisterMessageCallback("onUserImageAccepted", |
| base::Bind(&UserImageScreenHandler::HandleImageAccepted, |
| base::Unretained(this))); |
| + web_ui_->RegisterMessageCallback("onUserImageScreenLoaded", |
| + base::Bind(&UserImageScreenHandler::HandleScreenLoaded, |
| + base::Unretained(this))); |
| } |
| void UserImageScreenHandler::OnPhotoAccepted(const SkBitmap& photo) { |
| @@ -196,6 +201,22 @@ void UserImageScreenHandler::HandleImageAccepted(const base::ListValue* args) { |
| } |
| } |
| +void UserImageScreenHandler::HandleScreenLoaded(const base::ListValue* args) { |
| + double loaded_time; |
| + if (!args || |
| + args->GetSize() != 1 || |
| + !args->GetDouble(0, &loaded_time)) { |
| + NOTREACHED(); |
| + return; |
| + } |
| + |
| + DCHECK(!screen_show_time_.is_null()); |
| + base::TimeDelta delta = |
| + base::Time::FromDoubleT(loaded_time) - screen_show_time_; |
| + LOG(ERROR) << "Screen load time: " << delta.InSecondsF(); |
| + UMA_HISTOGRAM_TIMES("UserImage.LoadTime", delta); |
|
whywhat
2011/10/20 16:14:50
I'd call it ScreenIsShownTime, since LoadTime may
Ivan Korotkov
2011/10/20 17:13:16
Done.
|
| +} |
| + |
| void UserImageScreenHandler::OnCameraPresenceCheckDone() { |
| base::FundamentalValue present_value( |
| CameraDetector::camera_presence() == CameraDetector::kCameraPresent); |