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(); |
} |