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

Side by Side Diff: chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.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: Rebase Created 6 years, 4 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/chromeos/login/enrollment_screen_handler.h" 5 #include "chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/compiler_specific.h" 11 #include "base/compiler_specific.h"
12 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/strings/string_util.h" 14 #include "base/strings/string_util.h"
15 #include "base/values.h" 15 #include "base/values.h"
16 #include "chrome/browser/browser_process.h" 16 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/browsing_data/browsing_data_helper.h" 17 #include "chrome/browser/browsing_data/browsing_data_helper.h"
18 #include "chrome/browser/browsing_data/browsing_data_remover.h" 18 #include "chrome/browser/browsing_data/browsing_data_remover.h"
19 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
19 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 20 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
20 #include "chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.h" 21 #include "chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.h"
21 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
22 #include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retrie ver.h" 23 #include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retrie ver.h"
23 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 24 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
24 #include "chromeos/network/network_state.h" 25 #include "chromeos/network/network_state.h"
25 #include "chromeos/network/network_state_handler.h" 26 #include "chromeos/network/network_state_handler.h"
26 #include "components/policy/core/browser/cloud/message_util.h" 27 #include "components/policy/core/browser/cloud/message_util.h"
27 #include "content/public/browser/web_contents.h" 28 #include "content/public/browser/web_contents.h"
28 #include "google_apis/gaia/gaia_auth_fetcher.h" 29 #include "google_apis/gaia/gaia_auth_fetcher.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 const scoped_refptr<NetworkStateInformer>& network_state_informer, 112 const scoped_refptr<NetworkStateInformer>& network_state_informer,
112 ErrorScreenActor* error_screen_actor) 113 ErrorScreenActor* error_screen_actor)
113 : BaseScreenHandler(kJsScreenPath), 114 : BaseScreenHandler(kJsScreenPath),
114 controller_(NULL), 115 controller_(NULL),
115 show_on_init_(false), 116 show_on_init_(false),
116 enrollment_mode_(ENROLLMENT_MODE_MANUAL), 117 enrollment_mode_(ENROLLMENT_MODE_MANUAL),
117 browsing_data_remover_(NULL), 118 browsing_data_remover_(NULL),
118 frame_error_(net::OK), 119 frame_error_(net::OK),
119 network_state_informer_(network_state_informer), 120 network_state_informer_(network_state_informer),
120 error_screen_actor_(error_screen_actor), 121 error_screen_actor_(error_screen_actor),
122 histogram_helper_(new ErrorScreensHistogramHelper("Enrollment")),
121 weak_ptr_factory_(this) { 123 weak_ptr_factory_(this) {
122 set_async_assets_load_id(OobeUI::kScreenOobeEnrollment); 124 set_async_assets_load_id(OobeUI::kScreenOobeEnrollment);
123 DCHECK(network_state_informer_.get()); 125 DCHECK(network_state_informer_.get());
124 DCHECK(error_screen_actor_); 126 DCHECK(error_screen_actor_);
125 network_state_informer_->AddObserver(this); 127 network_state_informer_->AddObserver(this);
126 128
127 if (chromeos::LoginDisplayHostImpl::default_host()) { 129 if (chromeos::LoginDisplayHostImpl::default_host()) {
128 chromeos::WebUILoginView* login_view = 130 chromeos::WebUILoginView* login_view =
129 chromeos::LoginDisplayHostImpl::default_host()->GetWebUILoginView(); 131 chromeos::LoginDisplayHostImpl::default_host()->GetWebUILoginView();
130 if (login_view) 132 if (login_view)
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 493
492 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) { 494 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) {
493 base::DictionaryValue params; 495 base::DictionaryValue params;
494 const std::string network_type = network_state_informer_->network_type(); 496 const std::string network_type = network_state_informer_->network_type();
495 params.SetString("lastNetworkType", network_type); 497 params.SetString("lastNetworkType", network_type);
496 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN); 498 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN);
497 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT, 499 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT,
498 &params, 500 &params,
499 base::Bind(&EnrollmentScreenHandler::DoShow, 501 base::Bind(&EnrollmentScreenHandler::DoShow,
500 weak_ptr_factory_.GetWeakPtr())); 502 weak_ptr_factory_.GetWeakPtr()));
503 histogram_helper_->OnErrorShow(error_screen_actor_->error_state());
501 } 504 }
502 } 505 }
503 506
504 void EnrollmentScreenHandler::HideOfflineMessage( 507 void EnrollmentScreenHandler::HideOfflineMessage(
505 NetworkStateInformer::State state, 508 NetworkStateInformer::State state,
506 ErrorScreenActor::ErrorReason reason) { 509 ErrorScreenActor::ErrorReason reason) {
507 if (IsEnrollmentScreenHiddenByError()) 510 if (IsEnrollmentScreenHiddenByError())
508 error_screen_actor_->Hide(); 511 error_screen_actor_->Hide();
512 histogram_helper_->OnErrorHide();
509 } 513 }
510 514
511 void EnrollmentScreenHandler::OnFrameError( 515 void EnrollmentScreenHandler::OnFrameError(
512 const std::string& frame_unique_name) { 516 const std::string& frame_unique_name) {
513 if (frame_unique_name == "oauth-enroll-signin-frame") { 517 if (frame_unique_name == "oauth-enroll-signin-frame") {
514 HandleFrameLoadingCompleted(net::ERR_FAILED); 518 HandleFrameLoadingCompleted(net::ERR_FAILED);
515 } 519 }
516 } 520 }
517 // EnrollmentScreenHandler, private ----------------------------- 521 // EnrollmentScreenHandler, private -----------------------------
518 522
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 594
591 void EnrollmentScreenHandler::DoShow() { 595 void EnrollmentScreenHandler::DoShow() {
592 base::DictionaryValue screen_data; 596 base::DictionaryValue screen_data;
593 screen_data.SetString("signin_url", kGaiaExtStartPage); 597 screen_data.SetString("signin_url", kGaiaExtStartPage);
594 screen_data.SetString("gaiaUrl", GaiaUrls::GetInstance()->gaia_url().spec()); 598 screen_data.SetString("gaiaUrl", GaiaUrls::GetInstance()->gaia_url().spec());
595 screen_data.SetString("enrollment_mode", 599 screen_data.SetString("enrollment_mode",
596 EnrollmentModeToString(enrollment_mode_)); 600 EnrollmentModeToString(enrollment_mode_));
597 screen_data.SetString("management_domain", management_domain_); 601 screen_data.SetString("management_domain", management_domain_);
598 602
599 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data); 603 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data);
604 histogram_helper_->OnScreenShow();
600 } 605 }
601 606
602 } // namespace chromeos 607 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698