Chromium Code Reviews

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

Issue 872633008: Migrate (Network)ErrorScreen to ScreenContext (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: cleanup Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
Index: chrome/browser/chromeos/login/screens/network_error_model.cc
diff --git a/chrome/browser/chromeos/login/screens/network_error_model.cc b/chrome/browser/chromeos/login/screens/network_error_model.cc
new file mode 100644
index 0000000000000000000000000000000000000000..66f5923e73220a24739fdd32f67aa38373796832
--- /dev/null
+++ b/chrome/browser/chromeos/login/screens/network_error_model.cc
@@ -0,0 +1,89 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/chromeos/login/screens/network_error_model.h"
+
+#include "chrome/browser/chromeos/login/wizard_controller.h"
+
+namespace chromeos {
+
+const char NetworkErrorModel::kContextKeyErrorStateCode[] = "error-state-code";
+const char NetworkErrorModel::kContextKeyErrorStateNetwork[] =
+ "error-state-network";
+const char NetworkErrorModel::kContextKeyGuestSigninAllowed[] =
+ "guest-signin-allowed";
+const char NetworkErrorModel::kContextKeyOfflineSigninAllowed[] =
+ "offline-signin-allowed";
+const char NetworkErrorModel::kContextKeyShowConnectingIndicator[] =
+ "show-connecting-indicator";
+const char NetworkErrorModel::kContextKeyUIState[] = "ui-state";
+const char NetworkErrorModel::kUserActionConfigureCertsButtonClicked[] =
+ "configure-certs";
+const char NetworkErrorModel::kUserActionDiagnoseButtonClicked[] = "diagnose";
+const char NetworkErrorModel::kUserActionLaunchOobeGuestSessionClicked[] =
+ "launch-oobe-guest";
+const char
+ NetworkErrorModel::kUserActionLocalStateErrorPowerwashButtonClicked[] =
+ "local-state-error-powerwash";
+const char NetworkErrorModel::kUserActionRebootButtonClicked[] = "reboot";
+const char NetworkErrorModel::kUserActionShowCaptivePortalClicked[] =
+ "show-captive-portal";
+
+NetworkErrorModel::NetworkErrorModel(BaseScreenDelegate* base_screen_delegate)
+ : BaseScreen(base_screen_delegate),
+ ui_state_(NetworkError::UI_STATE_UNKNOWN),
+ error_state_(NetworkError::ERROR_STATE_UNKNOWN),
+ parent_screen_(OobeUI::SCREEN_UNKNOWN) {
+}
+
+NetworkErrorModel::~NetworkErrorModel() {
+}
+
+std::string NetworkErrorModel::GetName() const {
+ return WizardController::kErrorScreenName;
+}
+
+void NetworkErrorModel::OnHide() {
+ if (on_hide_) {
+ on_hide_->Run();
+ on_hide_.reset();
+ }
+}
Denis Kuznetsov (DE-MUC) 2015/02/10 17:03:26 Why is not it purely abstract? I mean, I believe
Nikita (slow) 2015/02/11 12:18:58 Done.
+
+void NetworkErrorModel::AllowGuestSignin(bool allowed) {
+ GetContextEditor().SetBoolean(kContextKeyGuestSigninAllowed, allowed);
+}
+
+void NetworkErrorModel::AllowOfflineLogin(bool allowed) {
+ GetContextEditor().SetBoolean(kContextKeyOfflineSigninAllowed, allowed);
+}
+
+void NetworkErrorModel::SetUIState(NetworkError::UIState ui_state) {
+ ui_state_ = ui_state;
+ GetContextEditor().SetInteger(kContextKeyUIState,
+ static_cast<int>(ui_state_));
+}
+
+void NetworkErrorModel::SetErrorState(NetworkError::ErrorState error_state,
+ const std::string& network) {
+ error_state_ = error_state;
+ GetContextEditor()
+ .SetInteger(kContextKeyErrorStateCode, static_cast<int>(error_state_))
+ .SetString(kContextKeyErrorStateNetwork, network);
+}
+
+void NetworkErrorModel::SetParentScreen(OobeUI::Screen parent_screen) {
+ parent_screen_ = parent_screen;
+ // Not really used on JS side yet so no need to propagate to screen context.
+}
+
+void NetworkErrorModel::SetHideCallback(const base::Closure& on_hide) {
+ on_hide_.reset(new base::Closure(on_hide));
+}
+
+void NetworkErrorModel::ShowConnectingIndicator(bool show) {
+ GetContextEditor().SetBoolean(kContextKeyShowConnectingIndicator, show);
+}
+
+} // namespace chromeos

Powered by Google App Engine