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

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: Update after review Created 6 years, 3 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/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
16 #include "base/values.h" 16 #include "base/values.h"
17 #include "chrome/browser/browser_process.h" 17 #include "chrome/browser/browser_process.h"
18 #include "chrome/browser/browsing_data/browsing_data_helper.h" 18 #include "chrome/browser/browsing_data/browsing_data_helper.h"
19 #include "chrome/browser/browsing_data/browsing_data_remover.h" 19 #include "chrome/browser/browsing_data/browsing_data_remover.h"
20 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
20 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 21 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
21 #include "chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.h" 22 #include "chrome/browser/chromeos/policy/policy_oauth2_token_fetcher.h"
22 #include "chrome/browser/extensions/signin/gaia_auth_extension_loader.h" 23 #include "chrome/browser/extensions/signin/gaia_auth_extension_loader.h"
23 #include "chrome/browser/profiles/profile.h" 24 #include "chrome/browser/profiles/profile.h"
24 #include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retrie ver.h" 25 #include "chrome/browser/ui/webui/chromeos/login/authenticated_user_email_retrie ver.h"
25 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h" 26 #include "chrome/browser/ui/webui/chromeos/login/oobe_ui.h"
26 #include "chrome/grit/generated_resources.h" 27 #include "chrome/grit/generated_resources.h"
27 #include "chromeos/network/network_state.h" 28 #include "chromeos/network/network_state.h"
28 #include "chromeos/network/network_state_handler.h" 29 #include "chromeos/network/network_state_handler.h"
29 #include "components/policy/core/browser/cloud/message_util.h" 30 #include "components/policy/core/browser/cloud/message_util.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 const scoped_refptr<NetworkStateInformer>& network_state_informer, 110 const scoped_refptr<NetworkStateInformer>& network_state_informer,
110 ErrorScreenActor* error_screen_actor) 111 ErrorScreenActor* error_screen_actor)
111 : BaseScreenHandler(kJsScreenPath), 112 : BaseScreenHandler(kJsScreenPath),
112 controller_(NULL), 113 controller_(NULL),
113 show_on_init_(false), 114 show_on_init_(false),
114 enrollment_mode_(ENROLLMENT_MODE_MANUAL), 115 enrollment_mode_(ENROLLMENT_MODE_MANUAL),
115 browsing_data_remover_(NULL), 116 browsing_data_remover_(NULL),
116 frame_error_(net::OK), 117 frame_error_(net::OK),
117 network_state_informer_(network_state_informer), 118 network_state_informer_(network_state_informer),
118 error_screen_actor_(error_screen_actor), 119 error_screen_actor_(error_screen_actor),
120 histogram_helper_(new ErrorScreensHistogramHelper("Enrollment")),
119 weak_ptr_factory_(this) { 121 weak_ptr_factory_(this) {
120 set_async_assets_load_id(OobeUI::kScreenOobeEnrollment); 122 set_async_assets_load_id(OobeUI::kScreenOobeEnrollment);
121 DCHECK(network_state_informer_.get()); 123 DCHECK(network_state_informer_.get());
122 DCHECK(error_screen_actor_); 124 DCHECK(error_screen_actor_);
123 network_state_informer_->AddObserver(this); 125 network_state_informer_->AddObserver(this);
124 126
125 if (chromeos::LoginDisplayHostImpl::default_host()) { 127 if (chromeos::LoginDisplayHostImpl::default_host()) {
126 chromeos::WebUILoginView* login_view = 128 chromeos::WebUILoginView* login_view =
127 chromeos::LoginDisplayHostImpl::default_host()->GetWebUILoginView(); 129 chromeos::LoginDisplayHostImpl::default_host()->GetWebUILoginView();
128 if (login_view) 130 if (login_view)
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 491
490 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) { 492 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) {
491 base::DictionaryValue params; 493 base::DictionaryValue params;
492 const std::string network_type = network_state_informer_->network_type(); 494 const std::string network_type = network_state_informer_->network_type();
493 params.SetString("lastNetworkType", network_type); 495 params.SetString("lastNetworkType", network_type);
494 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN); 496 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN);
495 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT, 497 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT,
496 &params, 498 &params,
497 base::Bind(&EnrollmentScreenHandler::DoShow, 499 base::Bind(&EnrollmentScreenHandler::DoShow,
498 weak_ptr_factory_.GetWeakPtr())); 500 weak_ptr_factory_.GetWeakPtr()));
501 histogram_helper_->OnErrorShow(error_screen_actor_->error_state());
499 } 502 }
500 } 503 }
501 504
502 void EnrollmentScreenHandler::HideOfflineMessage( 505 void EnrollmentScreenHandler::HideOfflineMessage(
503 NetworkStateInformer::State state, 506 NetworkStateInformer::State state,
504 ErrorScreenActor::ErrorReason reason) { 507 ErrorScreenActor::ErrorReason reason) {
505 if (IsEnrollmentScreenHiddenByError()) 508 if (IsEnrollmentScreenHiddenByError())
506 error_screen_actor_->Hide(); 509 error_screen_actor_->Hide();
510 histogram_helper_->OnErrorHide();
507 } 511 }
508 512
509 void EnrollmentScreenHandler::OnFrameError( 513 void EnrollmentScreenHandler::OnFrameError(
510 const std::string& frame_unique_name) { 514 const std::string& frame_unique_name) {
511 if (frame_unique_name == "oauth-enroll-signin-frame") { 515 if (frame_unique_name == "oauth-enroll-signin-frame") {
512 HandleFrameLoadingCompleted(net::ERR_FAILED); 516 HandleFrameLoadingCompleted(net::ERR_FAILED);
513 } 517 }
514 } 518 }
515 // EnrollmentScreenHandler, private ----------------------------- 519 // EnrollmentScreenHandler, private -----------------------------
516 520
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 base::DictionaryValue screen_data; 594 base::DictionaryValue screen_data;
591 screen_data.SetString( 595 screen_data.SetString(
592 "signin_url", 596 "signin_url",
593 base::StringPrintf("%s/main.html", extensions::kGaiaAuthExtensionOrigin)); 597 base::StringPrintf("%s/main.html", extensions::kGaiaAuthExtensionOrigin));
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