OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_scre
en.h" | 5 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_scre
en.h" |
6 | 6 |
7 #include "ash/desktop_background/desktop_background_controller.h" | 7 #include "ash/desktop_background/desktop_background_controller.h" |
8 #include "ash/shell.h" | 8 #include "ash/shell.h" |
9 #include "base/rand_util.h" | 9 #include "base/rand_util.h" |
10 #include "base/values.h" | 10 #include "base/values.h" |
11 #include "chrome/browser/chromeos/camera_detector.h" | 11 #include "chrome/browser/chromeos/camera_detector.h" |
| 12 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" |
12 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 13 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
13 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 14 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
14 #include "chrome/browser/chromeos/login/screens/screen_observer.h" | 15 #include "chrome/browser/chromeos/login/screens/screen_observer.h" |
15 #include "chrome/browser/chromeos/login/signin_specifics.h" | 16 #include "chrome/browser/chromeos/login/signin_specifics.h" |
16 #include "chrome/browser/chromeos/login/supervised/supervised_user_authenticatio
n.h" | 17 #include "chrome/browser/chromeos/login/supervised/supervised_user_authenticatio
n.h" |
17 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont
roller.h" | 18 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont
roller.h" |
18 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont
roller_new.h" | 19 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_cont
roller_new.h" |
19 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" | 20 #include "chrome/browser/chromeos/login/users/avatar/user_image_manager.h" |
20 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" | 21 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" |
21 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" | 22 #include "chrome/browser/chromeos/login/users/supervised_user_manager.h" |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 ScreenObserver* observer, | 90 ScreenObserver* observer, |
90 SupervisedUserCreationScreenHandler* actor) | 91 SupervisedUserCreationScreenHandler* actor) |
91 : WizardScreen(observer), | 92 : WizardScreen(observer), |
92 weak_factory_(this), | 93 weak_factory_(this), |
93 actor_(actor), | 94 actor_(actor), |
94 on_error_screen_(false), | 95 on_error_screen_(false), |
95 last_page_(kNameOfIntroScreen), | 96 last_page_(kNameOfIntroScreen), |
96 sync_service_(NULL), | 97 sync_service_(NULL), |
97 image_decoder_(NULL), | 98 image_decoder_(NULL), |
98 apply_photo_after_decoding_(false), | 99 apply_photo_after_decoding_(false), |
99 selected_image_(0) { | 100 selected_image_(0), |
| 101 histogram_helper_(new ErrorScreensHistogramHelper("Supervised")) { |
100 DCHECK(actor_); | 102 DCHECK(actor_); |
101 if (actor_) | 103 if (actor_) |
102 actor_->SetDelegate(this); | 104 actor_->SetDelegate(this); |
103 } | 105 } |
104 | 106 |
105 SupervisedUserCreationScreen::~SupervisedUserCreationScreen() { | 107 SupervisedUserCreationScreen::~SupervisedUserCreationScreen() { |
106 CameraPresenceNotifier::GetInstance()->RemoveObserver(this); | 108 CameraPresenceNotifier::GetInstance()->RemoveObserver(this); |
107 if (sync_service_) | 109 if (sync_service_) |
108 sync_service_->RemoveObserver(this); | 110 sync_service_->RemoveObserver(this); |
109 if (actor_) | 111 if (actor_) |
(...skipping 16 matching lines...) Expand all Loading... |
126 // removed once we have screens reworked. | 128 // removed once we have screens reworked. |
127 if (on_error_screen_) | 129 if (on_error_screen_) |
128 actor_->ShowPage(last_page_); | 130 actor_->ShowPage(last_page_); |
129 else | 131 else |
130 actor_->ShowIntroPage(); | 132 actor_->ShowIntroPage(); |
131 } | 133 } |
132 | 134 |
133 if (!on_error_screen_) | 135 if (!on_error_screen_) |
134 NetworkPortalDetector::Get()->AddAndFireObserver(this); | 136 NetworkPortalDetector::Get()->AddAndFireObserver(this); |
135 on_error_screen_ = false; | 137 on_error_screen_ = false; |
| 138 histogram_helper_->OnScreenShow(); |
136 } | 139 } |
137 | 140 |
138 void SupervisedUserCreationScreen::OnPageSelected(const std::string& page) { | 141 void SupervisedUserCreationScreen::OnPageSelected(const std::string& page) { |
139 last_page_ = page; | 142 last_page_ = page; |
140 } | 143 } |
141 | 144 |
142 void SupervisedUserCreationScreen::OnPortalDetectionCompleted( | 145 void SupervisedUserCreationScreen::OnPortalDetectionCompleted( |
143 const NetworkState* network, | 146 const NetworkState* network, |
144 const NetworkPortalDetector::CaptivePortalState& state) { | 147 const NetworkPortalDetector::CaptivePortalState& state) { |
145 if (state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) { | 148 if (state.status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_ONLINE) { |
146 get_screen_observer()->HideErrorScreen(this); | 149 get_screen_observer()->HideErrorScreen(this); |
| 150 histogram_helper_->OnErrorHide(); |
147 } else { | 151 } else { |
148 on_error_screen_ = true; | 152 on_error_screen_ = true; |
149 ErrorScreen* screen = get_screen_observer()->GetErrorScreen(); | 153 ErrorScreen* screen = get_screen_observer()->GetErrorScreen(); |
150 ConfigureErrorScreen(screen, network, state.status); | 154 ConfigureErrorScreen(screen, network, state.status); |
151 screen->SetUIState(ErrorScreen::UI_STATE_SUPERVISED); | 155 screen->SetUIState(ErrorScreen::UI_STATE_SUPERVISED); |
152 get_screen_observer()->ShowErrorScreen(); | 156 get_screen_observer()->ShowErrorScreen(); |
| 157 histogram_helper_->OnErrorShow(screen->GetErrorState()); |
153 } | 158 } |
154 } | 159 } |
155 | 160 |
156 void SupervisedUserCreationScreen::ShowManagerInconsistentStateErrorScreen() { | 161 void SupervisedUserCreationScreen::ShowManagerInconsistentStateErrorScreen() { |
157 if (!actor_) | 162 if (!actor_) |
158 return; | 163 return; |
159 actor_->ShowErrorPage( | 164 actor_->ShowErrorPage( |
160 l10n_util::GetStringUTF16( | 165 l10n_util::GetStringUTF16( |
161 IDS_CREATE_SUPERVISED_USER_MANAGER_INCONSISTENT_STATE_TITLE), | 166 IDS_CREATE_SUPERVISED_USER_MANAGER_INCONSISTENT_STATE_TITLE), |
162 l10n_util::GetStringUTF16( | 167 l10n_util::GetStringUTF16( |
(...skipping 431 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
594 selected_image_ = user_manager::User::USER_IMAGE_EXTERNAL; | 599 selected_image_ = user_manager::User::USER_IMAGE_EXTERNAL; |
595 } else { | 600 } else { |
596 NOTREACHED() << "Unexpected image type: " << image_type; | 601 NOTREACHED() << "Unexpected image type: " << image_type; |
597 } | 602 } |
598 } | 603 } |
599 | 604 |
600 void SupervisedUserCreationScreen::OnImageAccepted() { | 605 void SupervisedUserCreationScreen::OnImageAccepted() { |
601 } | 606 } |
602 | 607 |
603 } // namespace chromeos | 608 } // namespace chromeos |
OLD | NEW |