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

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, 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 (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 361 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 492
491 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) { 493 if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) {
492 base::DictionaryValue params; 494 base::DictionaryValue params;
493 const std::string network_type = network_state_informer_->network_type(); 495 const std::string network_type = network_state_informer_->network_type();
494 params.SetString("lastNetworkType", network_type); 496 params.SetString("lastNetworkType", network_type);
495 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN); 497 error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN);
496 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT, 498 error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT,
497 &params, 499 &params,
498 base::Bind(&EnrollmentScreenHandler::DoShow, 500 base::Bind(&EnrollmentScreenHandler::DoShow,
499 weak_ptr_factory_.GetWeakPtr())); 501 weak_ptr_factory_.GetWeakPtr()));
502 histogram_helper_->OnErrorShow(error_screen_actor_->error_state());
500 } 503 }
501 } 504 }
502 505
503 void EnrollmentScreenHandler::HideOfflineMessage( 506 void EnrollmentScreenHandler::HideOfflineMessage(
504 NetworkStateInformer::State state, 507 NetworkStateInformer::State state,
505 ErrorScreenActor::ErrorReason reason) { 508 ErrorScreenActor::ErrorReason reason) {
506 if (IsEnrollmentScreenHiddenByError()) 509 if (IsEnrollmentScreenHiddenByError())
507 error_screen_actor_->Hide(); 510 error_screen_actor_->Hide();
511 histogram_helper_->OnErrorHide();
508 } 512 }
509 513
510 void EnrollmentScreenHandler::OnFrameError( 514 void EnrollmentScreenHandler::OnFrameError(
511 const std::string& frame_unique_name) { 515 const std::string& frame_unique_name) {
512 if (frame_unique_name == "oauth-enroll-signin-frame") { 516 if (frame_unique_name == "oauth-enroll-signin-frame") {
513 HandleFrameLoadingCompleted(net::ERR_FAILED); 517 HandleFrameLoadingCompleted(net::ERR_FAILED);
514 } 518 }
515 } 519 }
516 // EnrollmentScreenHandler, private ----------------------------- 520 // EnrollmentScreenHandler, private -----------------------------
517 521
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 base::DictionaryValue screen_data; 595 base::DictionaryValue screen_data;
592 screen_data.SetString( 596 screen_data.SetString(
593 "signin_url", 597 "signin_url",
594 base::StringPrintf("%s/main.html", extensions::kGaiaAuthExtensionOrigin)); 598 base::StringPrintf("%s/main.html", extensions::kGaiaAuthExtensionOrigin));
595 screen_data.SetString("gaiaUrl", GaiaUrls::GetInstance()->gaia_url().spec()); 599 screen_data.SetString("gaiaUrl", GaiaUrls::GetInstance()->gaia_url().spec());
596 screen_data.SetString("enrollment_mode", 600 screen_data.SetString("enrollment_mode",
597 EnrollmentModeToString(enrollment_mode_)); 601 EnrollmentModeToString(enrollment_mode_));
598 screen_data.SetString("management_domain", management_domain_); 602 screen_data.SetString("management_domain", management_domain_);
599 603
600 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data); 604 ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data);
605 histogram_helper_->OnScreenShow();
601 } 606 }
602 607
603 } // namespace chromeos 608 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698