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

Unified Diff: chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc

Issue 2771623002: Bootstrapping: Display meaningful enrollment error message on Slave device. (Closed)
Patch Set: Created 3 years, 9 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
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc
diff --git a/chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc
index 1f378848c6e63ad59b9cc43edd5765c7412f29a0..39ff5fe96d7801b07c42fed4b2d8c2305f17827a 100644
--- a/chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.cc
@@ -7,9 +7,13 @@
#include "base/command_line.h"
#include "base/strings/string_util.h"
#include "chrome/browser/chromeos/login/oobe_screen.h"
+#include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
#include "chrome/grit/generated_resources.h"
#include "chromeos/chromeos_switches.h"
#include "components/login/localized_values_builder.h"
+#include "components/policy/core/browser/cloud/message_util.h"
+#include "google_apis/gaia/google_service_auth_error.h"
+#include "ui/base/l10n/l10n_util.h"
namespace chromeos {
@@ -117,4 +121,136 @@ void HostPairingScreenHandler::OnContextChanged(
CallJS(kMethodContextChanged, diff);
}
+std::string HostPairingScreenHandler::GetErrorStringFromAuthError(
+ const GoogleServiceAuthError& error) {
+ switch (error.state()) {
+ case GoogleServiceAuthError::NONE:
+ case GoogleServiceAuthError::CAPTCHA_REQUIRED:
+ case GoogleServiceAuthError::TWO_FACTOR:
+ case GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS:
+ case GoogleServiceAuthError::REQUEST_CANCELED:
+ case GoogleServiceAuthError::UNEXPECTED_SERVICE_RESPONSE:
+ case GoogleServiceAuthError::SERVICE_ERROR:
+ case GoogleServiceAuthError::WEB_LOGIN_REQUIRED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_AUTH_FATAL_ERROR);
+ case GoogleServiceAuthError::USER_NOT_SIGNED_UP:
+ case GoogleServiceAuthError::ACCOUNT_DELETED:
+ case GoogleServiceAuthError::ACCOUNT_DISABLED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_AUTH_ACCOUNT_ERROR);
+ case GoogleServiceAuthError::CONNECTION_FAILED:
+ case GoogleServiceAuthError::SERVICE_UNAVAILABLE:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_AUTH_NETWORK_ERROR);
+ default:
+ return std::string();
+ }
+}
+
+std::string HostPairingScreenHandler::GetErrorStringFromEnrollmentError(
+ policy::EnrollmentStatus status) {
+ switch (status.status()) {
+ case policy::EnrollmentStatus::NO_STATE_KEYS:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_NO_STATE_KEYS);
+ case policy::EnrollmentStatus::REGISTRATION_FAILED:
+ switch (status.client_status()) {
+ case policy::DM_STATUS_SERVICE_MANAGEMENT_NOT_SUPPORTED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ACCOUNT_ERROR);
+ case policy::DM_STATUS_SERVICE_MISSING_LICENSES:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_MISSING_LICENSES_ERROR);
+ case policy::DM_STATUS_SERVICE_DEPROVISIONED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_DEPROVISIONED_ERROR);
+ case policy::DM_STATUS_SERVICE_DOMAIN_MISMATCH:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_DOMAIN_MISMATCH_ERROR);
+ default:
+ return l10n_util::GetStringFUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_REGISTRATION_FAILED,
+ policy::FormatDeviceManagementStatus(status.client_status()));
+ }
+ case policy::EnrollmentStatus::ROBOT_AUTH_FETCH_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ROBOT_AUTH_FETCH_FAILED);
+ case policy::EnrollmentStatus::ROBOT_REFRESH_FETCH_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ROBOT_REFRESH_FETCH_FAILED);
+ case policy::EnrollmentStatus::ROBOT_REFRESH_STORE_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ROBOT_REFRESH_STORE_FAILED);
+ case policy::EnrollmentStatus::REGISTRATION_BAD_MODE:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_REGISTRATION_BAD_MODE);
+ case policy::EnrollmentStatus::REGISTRATION_CERT_FETCH_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_REGISTRATION_CERT_FETCH_FAILED);
+ case policy::EnrollmentStatus::POLICY_FETCH_FAILED:
+ return l10n_util::GetStringFUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_POLICY_FETCH_FAILED,
+ policy::FormatDeviceManagementStatus(status.client_status()));
+ case policy::EnrollmentStatus::VALIDATION_FAILED:
+ return l10n_util::GetStringFUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_VALIDATION_FAILED,
+ policy::FormatValidationStatus(status.validation_status()));
+ case policy::EnrollmentStatus::LOCK_ERROR:
+ switch (status.lock_status()) {
+ case InstallAttributes::LOCK_TIMEOUT:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_TIMEOUT);
+ case InstallAttributes::LOCK_BACKEND_INVALID:
+ case InstallAttributes::LOCK_ALREADY_LOCKED:
+ case InstallAttributes::LOCK_SET_ERROR:
+ case InstallAttributes::LOCK_FINALIZE_ERROR:
+ case InstallAttributes::LOCK_READBACK_ERROR:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_ERROR);
+ case InstallAttributes::LOCK_WRONG_DOMAIN:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_WRONG_USER);
+ case InstallAttributes::LOCK_WRONG_MODE:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_WRONG_MODE);
+ default:
+ return std::string();
+ }
+ case policy::EnrollmentStatus::STORE_ERROR:
+ return l10n_util::GetStringFUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_STORE_ERROR,
+ policy::FormatStoreStatus(status.store_status(),
+ status.validation_status()));
+ case policy::EnrollmentStatus::ATTRIBUTE_UPDATE_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ATTRIBUTE_ERROR);
+ case policy::EnrollmentStatus::NO_MACHINE_IDENTIFICATION:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_NO_MACHINE_IDENTIFICATION);
+ case policy::EnrollmentStatus::ACTIVE_DIRECTORY_POLICY_FETCH_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ERROR_ACTIVE_DIRECTORY_POLICY_FETCH);
+ case policy::EnrollmentStatus::DM_TOKEN_STORE_FAILED:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_ERROR_SAVE_DEVICE_CONFIGURATION);
+ default:
+ return std::string();
+ }
+}
+
+std::string HostPairingScreenHandler::GetErrorStringFromOtherError(
+ EnterpriseEnrollmentHelper::OtherError error) {
+ switch (error) {
+ case EnterpriseEnrollmentHelper::OTHER_ERROR_DOMAIN_MISMATCH:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_STATUS_LOCK_WRONG_USER);
+ case EnterpriseEnrollmentHelper::OTHER_ERROR_FATAL:
+ return l10n_util::GetStringUTF8(
+ IDS_ENTERPRISE_ENROLLMENT_FATAL_ENROLLMENT_ERROR);
+ default:
+ return std::string();
+ }
+}
+
} // namespace chromeos
« no previous file with comments | « chrome/browser/ui/webui/chromeos/login/host_pairing_screen_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698