Chromium Code Reviews| Index: chrome/browser/chromeos/login/screens/error_screen.cc |
| diff --git a/chrome/browser/chromeos/login/screens/error_screen.cc b/chrome/browser/chromeos/login/screens/error_screen.cc |
| index cd1561b05a7593e99fd5404c47292f4403f3b3fb..7067a03deea0000a29d7360fcfdb3842a39c7eed 100644 |
| --- a/chrome/browser/chromeos/login/screens/error_screen.cc |
| +++ b/chrome/browser/chromeos/login/screens/error_screen.cc |
| @@ -45,6 +45,15 @@ namespace chromeos { |
| namespace { |
| +constexpr const char kContextKeyErrorStateCode[] = "error-state-code"; |
| +constexpr const char kContextKeyErrorStateNetwork[] = "error-state-network"; |
| +constexpr const char kContextKeyGuestSigninAllowed[] = "guest-signin-allowed"; |
| +constexpr const char kContextKeyOfflineSigninAllowed[] = |
| + "offline-signin-allowed"; |
| +constexpr const char kContextKeyShowConnectingIndicator[] = |
| + "show-connecting-indicator"; |
| +constexpr const char kContextKeyUIState[] = "ui-state"; |
| + |
| // Returns the current running kiosk app profile in a kiosk session. Otherwise, |
| // returns nullptr. |
| Profile* GetAppProfile() { |
| @@ -55,15 +64,30 @@ Profile* GetAppProfile() { |
| } // namespace |
| +constexpr const char ErrorScreen::kUserActionConfigureCertsButtonClicked[] = |
| + "configure-certs"; |
| +constexpr const char ErrorScreen::kUserActionDiagnoseButtonClicked[] = |
| + "diagnose"; |
| +constexpr const char ErrorScreen::kUserActionLaunchOobeGuestSessionClicked[] = |
| + "launch-oobe-guest"; |
| +constexpr const char |
| + ErrorScreen::kUserActionLocalStateErrorPowerwashButtonClicked[] = |
| + "local-state-error-powerwash"; |
| +constexpr const char ErrorScreen::kUserActionRebootButtonClicked[] = "reboot"; |
| +constexpr const char ErrorScreen::kUserActionShowCaptivePortalClicked[] = |
| + "show-captive-portal"; |
| +constexpr const char ErrorScreen::kUserActionConnectRequested[] = |
| + "connect-requested"; |
| + |
| ErrorScreen::ErrorScreen(BaseScreenDelegate* base_screen_delegate, |
| NetworkErrorView* view) |
| - : NetworkErrorModel(base_screen_delegate), |
| + : BaseScreen(base_screen_delegate, OobeScreen::SCREEN_ERROR_MESSAGE), |
| view_(view), |
| weak_factory_(this) { |
| network_state_informer_ = new NetworkStateInformer(); |
| network_state_informer_->Init(); |
| if (view_) |
| - view_->Bind(*this); |
| + view_->Bind(this); |
| } |
| ErrorScreen::~ErrorScreen() { |
| @@ -71,64 +95,6 @@ ErrorScreen::~ErrorScreen() { |
| view_->Unbind(); |
| } |
| -void ErrorScreen::Show() { |
| - if (!on_hide_callback_) { |
| - SetHideCallback(base::Bind(&ErrorScreen::DefaultHideCallback, |
| - weak_factory_.GetWeakPtr())); |
| - } |
| - if (view_) |
| - view_->Show(); |
| -} |
| - |
| -void ErrorScreen::Hide() { |
| - if (view_) |
| - view_->Hide(); |
| -} |
| - |
| -void ErrorScreen::OnShow() { |
| - LOG(WARNING) << "Network error screen message is shown"; |
| - content::NotificationService::current()->Notify( |
| - chrome::NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN, |
| - content::NotificationService::AllSources(), |
| - content::NotificationService::NoDetails()); |
| - network_portal_detector::GetInstance()->SetStrategy( |
| - PortalDetectorStrategy::STRATEGY_ID_ERROR_SCREEN); |
| -} |
| - |
| -void ErrorScreen::OnHide() { |
| - LOG(WARNING) << "Network error screen message is hidden"; |
| - if (on_hide_callback_) { |
| - on_hide_callback_->Run(); |
| - on_hide_callback_.reset(); |
| - } |
| - network_portal_detector::GetInstance()->SetStrategy( |
| - PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN); |
| -} |
| - |
| -void ErrorScreen::OnUserAction(const std::string& action_id) { |
| - if (action_id == kUserActionShowCaptivePortalClicked) |
| - ShowCaptivePortal(); |
| - else if (action_id == kUserActionConfigureCertsButtonClicked) |
| - OnConfigureCerts(); |
| - else if (action_id == kUserActionDiagnoseButtonClicked) |
| - OnDiagnoseButtonClicked(); |
| - else if (action_id == kUserActionLaunchOobeGuestSessionClicked) |
| - OnLaunchOobeGuestSession(); |
| - else if (action_id == kUserActionLocalStateErrorPowerwashButtonClicked) |
| - OnLocalStateErrorPowerwashButtonClicked(); |
| - else if (action_id == kUserActionRebootButtonClicked) |
| - OnRebootButtonClicked(); |
| - else if (action_id == kUserActionConnectRequested) |
| - OnConnectRequested(); |
| - else |
| - BaseScreen::OnUserAction(action_id); |
| -} |
| - |
| -void ErrorScreen::OnContextKeyUpdated( |
| - const ::login::ScreenContext::KeyType& key) { |
| - BaseScreen::OnContextKeyUpdated(key); |
| -} |
| - |
| void ErrorScreen::AllowGuestSignin(bool allowed) { |
| GetContextEditor().SetBoolean(kContextKeyGuestSigninAllowed, allowed); |
| } |
| @@ -203,6 +169,69 @@ void ErrorScreen::ShowConnectingIndicator(bool show) { |
| GetContextEditor().SetBoolean(kContextKeyShowConnectingIndicator, show); |
| } |
| +ErrorScreen::ConnectRequestCallbackSubscription |
| +ErrorScreen::RegisterConnectRequestCallback(const base::Closure& callback) { |
| + return connect_request_callbacks_.Add(callback); |
| +} |
| + |
| +void ErrorScreen::Show() { |
| + if (!on_hide_callback_) { |
| + SetHideCallback(base::Bind(&ErrorScreen::DefaultHideCallback, |
| + weak_factory_.GetWeakPtr())); |
| + } |
| + if (view_) |
| + view_->Show(); |
| +} |
| + |
| +void ErrorScreen::Hide() { |
| + if (view_) |
| + view_->Hide(); |
| +} |
| + |
| +void ErrorScreen::OnShow() { |
| + LOG(WARNING) << "Network error screen message is shown"; |
| + content::NotificationService::current()->Notify( |
| + chrome::NOTIFICATION_LOGIN_NETWORK_ERROR_SHOWN, |
| + content::NotificationService::AllSources(), |
| + content::NotificationService::NoDetails()); |
| + network_portal_detector::GetInstance()->SetStrategy( |
| + PortalDetectorStrategy::STRATEGY_ID_ERROR_SCREEN); |
| +} |
| + |
| +void ErrorScreen::OnHide() { |
| + LOG(WARNING) << "Network error screen message is hidden"; |
| + if (on_hide_callback_) { |
| + on_hide_callback_->Run(); |
| + on_hide_callback_.reset(); |
| + } |
| + network_portal_detector::GetInstance()->SetStrategy( |
| + PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN); |
| +} |
| + |
| +void ErrorScreen::OnUserAction(const std::string& action_id) { |
| + if (action_id == kUserActionShowCaptivePortalClicked) |
| + ShowCaptivePortal(); |
| + else if (action_id == kUserActionConfigureCertsButtonClicked) |
| + OnConfigureCerts(); |
| + else if (action_id == kUserActionDiagnoseButtonClicked) |
| + OnDiagnoseButtonClicked(); |
| + else if (action_id == kUserActionLaunchOobeGuestSessionClicked) |
| + OnLaunchOobeGuestSession(); |
| + else if (action_id == kUserActionLocalStateErrorPowerwashButtonClicked) |
| + OnLocalStateErrorPowerwashButtonClicked(); |
| + else if (action_id == kUserActionRebootButtonClicked) |
| + OnRebootButtonClicked(); |
| + else if (action_id == kUserActionConnectRequested) |
| + OnConnectRequested(); |
| + else |
| + BaseScreen::OnUserAction(action_id); |
| +} |
| + |
| +void ErrorScreen::OnContextKeyUpdated( |
| + const ::login::ScreenContext::KeyType& key) { |
| + BaseScreen::OnContextKeyUpdated(key); |
| +} |
|
achuithb
2017/01/20 23:06:55
Do we need this method? Shouldn't the base class m
jdufault
2017/01/25 00:51:34
Done.
|
| + |
| void ErrorScreen::OnAuthFailure(const AuthFailure& error) { |
| // The only condition leading here is guest mount failure, which should not |
| // happen in practice. For now, just log an error so this situation is visible |
| @@ -241,11 +270,6 @@ void ErrorScreen::SetAuthFlowOffline(bool offline) { |
| LOG(FATAL); |
| } |
| -ErrorScreen::ConnectRequestCallbackSubscription |
| -ErrorScreen::RegisterConnectRequestCallback(const base::Closure& callback) { |
| - return connect_request_callbacks_.Add(callback); |
| -} |
| - |
| void ErrorScreen::DefaultHideCallback() { |
| if (parent_screen_ != OobeScreen::SCREEN_UNKNOWN && view_) |
| view_->ShowOobeScreen(parent_screen_); |