| Index: chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc
|
| index cf4ea6faa673b5f0e230aef17e27df220dd52573..9da1f6a375c1359a56f9037e45b0ab6e7d720d07 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h"
|
| +#include "chrome/browser/chromeos/login/screens/network_error.h"
|
| #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
|
| #include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
|
| #include "chrome/browser/chromeos/profiles/profile_helper.h"
|
| @@ -82,16 +83,16 @@ std::string GetNetworkName(const std::string& service_path) {
|
| }
|
|
|
| bool IsBehindCaptivePortal(NetworkStateInformer::State state,
|
| - ErrorScreenActor::ErrorReason reason) {
|
| + NetworkError::ErrorReason reason) {
|
| return state == NetworkStateInformer::CAPTIVE_PORTAL ||
|
| - reason == ErrorScreenActor::ERROR_REASON_PORTAL_DETECTED;
|
| + reason == NetworkError::ERROR_REASON_PORTAL_DETECTED;
|
| }
|
|
|
| bool IsProxyError(NetworkStateInformer::State state,
|
| - ErrorScreenActor::ErrorReason reason) {
|
| + NetworkError::ErrorReason reason) {
|
| return state == NetworkStateInformer::PROXY_AUTH_REQUIRED ||
|
| - reason == ErrorScreenActor::ERROR_REASON_PROXY_AUTH_CANCELLED ||
|
| - reason == ErrorScreenActor::ERROR_REASON_PROXY_CONNECTION_FAILED;
|
| + reason == NetworkError::ERROR_REASON_PROXY_AUTH_CANCELLED ||
|
| + reason == NetworkError::ERROR_REASON_PROXY_CONNECTION_FAILED;
|
| }
|
|
|
| } // namespace
|
| @@ -100,7 +101,7 @@ bool IsProxyError(NetworkStateInformer::State state,
|
|
|
| EnrollmentScreenHandler::EnrollmentScreenHandler(
|
| const scoped_refptr<NetworkStateInformer>& network_state_informer,
|
| - ErrorScreenActor* error_screen_actor)
|
| + NetworkErrorModel* network_error_model)
|
| : BaseScreenHandler(kJsScreenPath),
|
| controller_(NULL),
|
| show_on_init_(false),
|
| @@ -108,13 +109,13 @@ EnrollmentScreenHandler::EnrollmentScreenHandler(
|
| first_show_(true),
|
| observe_network_failure_(false),
|
| network_state_informer_(network_state_informer),
|
| - error_screen_actor_(error_screen_actor),
|
| + network_error_model_(network_error_model),
|
| histogram_helper_(new ErrorScreensHistogramHelper("Enrollment")),
|
| auth_extension_(nullptr),
|
| weak_ptr_factory_(this) {
|
| set_async_assets_load_id(OobeUI::kScreenOobeEnrollment);
|
| DCHECK(network_state_informer_.get());
|
| - DCHECK(error_screen_actor_);
|
| + DCHECK(network_error_model_);
|
| network_state_informer_->AddObserver(this);
|
|
|
| if (chromeos::LoginDisplayHostImpl::default_host()) {
|
| @@ -370,19 +371,18 @@ bool EnrollmentScreenHandler::IsOnEnrollmentScreen() const {
|
|
|
| bool EnrollmentScreenHandler::IsEnrollmentScreenHiddenByError() const {
|
| return (GetCurrentScreen() == OobeUI::SCREEN_ERROR_MESSAGE &&
|
| - error_screen_actor_->parent_screen() ==
|
| + network_error_model_->GetParentScreen() ==
|
| OobeUI::SCREEN_OOBE_ENROLLMENT);
|
| }
|
|
|
| -void EnrollmentScreenHandler::UpdateState(
|
| - ErrorScreenActor::ErrorReason reason) {
|
| +void EnrollmentScreenHandler::UpdateState(NetworkError::ErrorReason reason) {
|
| UpdateStateInternal(reason, false);
|
| }
|
|
|
| // TODO(rsorokin): This function is mostly copied from SigninScreenHandler and
|
| // should be refactored in the future.
|
| void EnrollmentScreenHandler::UpdateStateInternal(
|
| - ErrorScreenActor::ErrorReason reason,
|
| + NetworkError::ErrorReason reason,
|
| bool force_update) {
|
| if (!force_update && !IsOnEnrollmentScreen() &&
|
| !IsEnrollmentScreenHiddenByError()) {
|
| @@ -399,14 +399,14 @@ void EnrollmentScreenHandler::UpdateStateInternal(
|
| (state == NetworkStateInformer::CAPTIVE_PORTAL);
|
| const bool is_frame_error =
|
| (frame_error() != net::OK) ||
|
| - (reason == ErrorScreenActor::ERROR_REASON_FRAME_ERROR);
|
| + (reason == NetworkError::ERROR_REASON_FRAME_ERROR);
|
|
|
| LOG(WARNING) << "EnrollmentScreenHandler::UpdateState(): "
|
| << "state=" << NetworkStateInformer::StatusString(state) << ", "
|
| - << "reason=" << ErrorScreenActor::ErrorReasonString(reason);
|
| + << "reason=" << NetworkError::ErrorReasonString(reason);
|
|
|
| if (is_online || !is_behind_captive_portal)
|
| - error_screen_actor_->HideCaptivePortal();
|
| + network_error_model_->HideCaptivePortal();
|
|
|
| if (is_frame_error) {
|
| LOG(WARNING) << "Retry page load";
|
| @@ -422,55 +422,53 @@ void EnrollmentScreenHandler::UpdateStateInternal(
|
|
|
| void EnrollmentScreenHandler::SetupAndShowOfflineMessage(
|
| NetworkStateInformer::State state,
|
| - ErrorScreenActor::ErrorReason reason) {
|
| + NetworkError::ErrorReason reason) {
|
| const std::string network_path = network_state_informer_->network_path();
|
| const bool is_behind_captive_portal = IsBehindCaptivePortal(state, reason);
|
| const bool is_proxy_error = IsProxyError(state, reason);
|
| const bool is_frame_error =
|
| (frame_error() != net::OK) ||
|
| - (reason == ErrorScreenActor::ERROR_REASON_FRAME_ERROR);
|
| + (reason == NetworkError::ERROR_REASON_FRAME_ERROR);
|
|
|
| if (is_proxy_error) {
|
| - error_screen_actor_->SetErrorState(ErrorScreen::ERROR_STATE_PROXY,
|
| - std::string());
|
| + network_error_model_->SetErrorState(NetworkError::ERROR_STATE_PROXY,
|
| + std::string());
|
| } else if (is_behind_captive_portal) {
|
| // Do not bother a user with obsessive captive portal showing. This
|
| // check makes captive portal being shown only once: either when error
|
| // screen is shown for the first time or when switching from another
|
| // error screen (offline, proxy).
|
| - if (IsOnEnrollmentScreen() || (error_screen_actor_->error_state() !=
|
| - ErrorScreen::ERROR_STATE_PORTAL)) {
|
| - error_screen_actor_->FixCaptivePortal();
|
| + if (IsOnEnrollmentScreen() || (network_error_model_->GetErrorState() !=
|
| + NetworkError::ERROR_STATE_PORTAL)) {
|
| + network_error_model_->FixCaptivePortal();
|
| }
|
| const std::string network_name = GetNetworkName(network_path);
|
| - error_screen_actor_->SetErrorState(ErrorScreen::ERROR_STATE_PORTAL,
|
| - network_name);
|
| + network_error_model_->SetErrorState(NetworkError::ERROR_STATE_PORTAL,
|
| + network_name);
|
| } else if (is_frame_error) {
|
| - error_screen_actor_->SetErrorState(
|
| - ErrorScreen::ERROR_STATE_AUTH_EXT_TIMEOUT, std::string());
|
| + network_error_model_->SetErrorState(
|
| + NetworkError::ERROR_STATE_AUTH_EXT_TIMEOUT, std::string());
|
| } else {
|
| - error_screen_actor_->SetErrorState(ErrorScreen::ERROR_STATE_OFFLINE,
|
| - std::string());
|
| + network_error_model_->SetErrorState(NetworkError::ERROR_STATE_OFFLINE,
|
| + std::string());
|
| }
|
|
|
| if (GetCurrentScreen() != OobeUI::SCREEN_ERROR_MESSAGE) {
|
| - base::DictionaryValue params;
|
| const std::string network_type = network_state_informer_->network_type();
|
| - params.SetString("lastNetworkType", network_type);
|
| - error_screen_actor_->SetUIState(ErrorScreen::UI_STATE_SIGNIN);
|
| - error_screen_actor_->Show(OobeUI::SCREEN_OOBE_ENROLLMENT,
|
| - ¶ms,
|
| - base::Bind(&EnrollmentScreenHandler::DoShow,
|
| - weak_ptr_factory_.GetWeakPtr()));
|
| - histogram_helper_->OnErrorShow(error_screen_actor_->error_state());
|
| + network_error_model_->SetUIState(NetworkError::UI_STATE_SIGNIN);
|
| + network_error_model_->SetParentScreen(OobeUI::SCREEN_OOBE_ENROLLMENT);
|
| + network_error_model_->SetHideCallback(base::Bind(
|
| + &EnrollmentScreenHandler::DoShow, weak_ptr_factory_.GetWeakPtr()));
|
| + network_error_model_->Show();
|
| + histogram_helper_->OnErrorShow(network_error_model_->GetErrorState());
|
| }
|
| }
|
|
|
| void EnrollmentScreenHandler::HideOfflineMessage(
|
| NetworkStateInformer::State state,
|
| - ErrorScreenActor::ErrorReason reason) {
|
| + NetworkError::ErrorReason reason) {
|
| if (IsEnrollmentScreenHiddenByError())
|
| - error_screen_actor_->Hide();
|
| + network_error_model_->Hide();
|
| histogram_helper_->OnErrorHide();
|
| }
|
|
|
| @@ -511,9 +509,9 @@ void EnrollmentScreenHandler::HandleFrameLoadingCompleted(int status) {
|
| if (network_state_informer_->state() != NetworkStateInformer::ONLINE)
|
| return;
|
| if (frame_error_)
|
| - UpdateState(ErrorScreenActor::ERROR_REASON_FRAME_ERROR);
|
| + UpdateState(NetworkError::ERROR_REASON_FRAME_ERROR);
|
| else
|
| - UpdateState(ErrorScreenActor::ERROR_REASON_UPDATE);
|
| + UpdateState(NetworkError::ERROR_REASON_UPDATE);
|
| }
|
|
|
| void EnrollmentScreenHandler::ShowStep(const char* step) {
|
| @@ -549,7 +547,7 @@ void EnrollmentScreenHandler::DoShow() {
|
| ShowScreen(OobeUI::kScreenOobeEnrollment, &screen_data);
|
| if (first_show_) {
|
| first_show_ = false;
|
| - UpdateStateInternal(ErrorScreenActor::ERROR_REASON_UPDATE, true);
|
| + UpdateStateInternal(NetworkError::ERROR_REASON_UPDATE, true);
|
| }
|
| histogram_helper_->OnScreenShow();
|
| }
|
|
|