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

Unified Diff: chrome/browser/chromeos/login/screens/error_screen.cc

Issue 2642823011: cros: Fold NetworkErrorModel into NetworkErrorView. (Closed)
Patch Set: Address comments Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
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..a0b46cbc9624a8f7024b5e58cc79403b4594c05c 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,64 @@ 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::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 +265,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_);
« no previous file with comments | « chrome/browser/chromeos/login/screens/error_screen.h ('k') | chrome/browser/chromeos/login/screens/mock_error_screen.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698