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

Side by Side Diff: chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.cc

Issue 494633003: UMA: How often are different network error screens encountered during OOBE (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update after review Created 6 years, 2 months 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 unified diff | Download patch
OLDNEW
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/enrollment/auto_enrollment_check_screen. h" 5 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen. h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
11 #include "chrome/browser/chromeos/login/screen_manager.h" 12 #include "chrome/browser/chromeos/login/screen_manager.h"
12 #include "chrome/browser/chromeos/login/screens/screen_observer.h" 13 #include "chrome/browser/chromeos/login/screens/screen_observer.h"
13 #include "chrome/browser/chromeos/login/wizard_controller.h" 14 #include "chrome/browser/chromeos/login/wizard_controller.h"
14 #include "chromeos/chromeos_switches.h" 15 #include "chromeos/chromeos_switches.h"
15 #include "chromeos/network/network_state.h" 16 #include "chromeos/network/network_state.h"
16 #include "chromeos/network/network_state_handler.h" 17 #include "chromeos/network/network_state_handler.h"
17 18
18 namespace chromeos { 19 namespace chromeos {
19 20
20 // static 21 // static
21 AutoEnrollmentCheckScreen* AutoEnrollmentCheckScreen::Get( 22 AutoEnrollmentCheckScreen* AutoEnrollmentCheckScreen::Get(
22 ScreenManager* manager) { 23 ScreenManager* manager) {
23 return static_cast<AutoEnrollmentCheckScreen*>( 24 return static_cast<AutoEnrollmentCheckScreen*>(
24 manager->GetScreen(WizardController::kAutoEnrollmentCheckScreenName)); 25 manager->GetScreen(WizardController::kAutoEnrollmentCheckScreenName));
25 } 26 }
26 27
27 AutoEnrollmentCheckScreen::AutoEnrollmentCheckScreen( 28 AutoEnrollmentCheckScreen::AutoEnrollmentCheckScreen(
28 ScreenObserver* observer, 29 ScreenObserver* observer,
29 AutoEnrollmentCheckScreenActor* actor) 30 AutoEnrollmentCheckScreenActor* actor)
30 : BaseScreen(observer), 31 : BaseScreen(observer),
31 actor_(actor), 32 actor_(actor),
32 captive_portal_status_( 33 captive_portal_status_(
33 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN), 34 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN),
34 auto_enrollment_state_(policy::AUTO_ENROLLMENT_STATE_IDLE) { 35 auto_enrollment_state_(policy::AUTO_ENROLLMENT_STATE_IDLE),
36 histogram_helper_(new ErrorScreensHistogramHelper("Enrollment")) {
35 if (actor_) 37 if (actor_)
36 actor_->SetDelegate(this); 38 actor_->SetDelegate(this);
37 } 39 }
38 40
39 AutoEnrollmentCheckScreen::~AutoEnrollmentCheckScreen() { 41 AutoEnrollmentCheckScreen::~AutoEnrollmentCheckScreen() {
40 NetworkPortalDetector::Get()->RemoveObserver(this); 42 NetworkPortalDetector::Get()->RemoveObserver(this);
41 if (actor_) 43 if (actor_)
42 actor_->SetDelegate(NULL); 44 actor_->SetDelegate(NULL);
43 } 45 }
44 46
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 } 80 }
79 81
80 void AutoEnrollmentCheckScreen::PrepareToShow() { 82 void AutoEnrollmentCheckScreen::PrepareToShow() {
81 } 83 }
82 84
83 void AutoEnrollmentCheckScreen::Show() { 85 void AutoEnrollmentCheckScreen::Show() {
84 if (IsStartNeeded()) { 86 if (IsStartNeeded()) {
85 Start(); 87 Start();
86 if (actor_) 88 if (actor_)
87 actor_->Show(); 89 actor_->Show();
90 histogram_helper_->OnScreenShow();
88 } 91 }
89 } 92 }
90 93
91 void AutoEnrollmentCheckScreen::Hide() { 94 void AutoEnrollmentCheckScreen::Hide() {
92 } 95 }
93 96
94 std::string AutoEnrollmentCheckScreen::GetName() const { 97 std::string AutoEnrollmentCheckScreen::GetName() const {
95 return WizardController::kAutoEnrollmentCheckScreenName; 98 return WizardController::kAutoEnrollmentCheckScreenName;
96 } 99 }
97 100
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 void AutoEnrollmentCheckScreen::ShowErrorScreen( 217 void AutoEnrollmentCheckScreen::ShowErrorScreen(
215 ErrorScreen::ErrorState error_state) { 218 ErrorScreen::ErrorState error_state) {
216 const NetworkState* network = 219 const NetworkState* network =
217 NetworkHandler::Get()->network_state_handler()->DefaultNetwork(); 220 NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
218 ErrorScreen* error_screen = get_screen_observer()->GetErrorScreen(); 221 ErrorScreen* error_screen = get_screen_observer()->GetErrorScreen();
219 error_screen->SetUIState(ErrorScreen::UI_STATE_AUTO_ENROLLMENT_ERROR); 222 error_screen->SetUIState(ErrorScreen::UI_STATE_AUTO_ENROLLMENT_ERROR);
220 error_screen->AllowGuestSignin(true); 223 error_screen->AllowGuestSignin(true);
221 error_screen->SetErrorState(error_state, 224 error_screen->SetErrorState(error_state,
222 network ? network->name() : std::string()); 225 network ? network->name() : std::string());
223 get_screen_observer()->ShowErrorScreen(); 226 get_screen_observer()->ShowErrorScreen();
227 histogram_helper_->OnErrorShow(error_state);
224 } 228 }
225 229
226 void AutoEnrollmentCheckScreen::SignalCompletion() { 230 void AutoEnrollmentCheckScreen::SignalCompletion() {
227 NetworkPortalDetector::Get()->RemoveObserver(this); 231 NetworkPortalDetector::Get()->RemoveObserver(this);
228 auto_enrollment_progress_subscription_.reset(); 232 auto_enrollment_progress_subscription_.reset();
229 get_screen_observer()->OnExit( 233 get_screen_observer()->OnExit(
230 ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); 234 ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED);
231 } 235 }
232 236
233 } // namespace chromeos 237 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698