Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
index cd0b3b50f854a30a6757e9831dff5f3ef7e8259a..21e862d3f162d5f7bfcacc35a6179a310e66bc9c 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
@@ -25,6 +25,7 @@ |
#include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" |
#include "chrome/browser/chromeos/login/base_login_display_host.h" |
#include "chrome/browser/chromeos/login/error_screen_actor.h" |
+#include "chrome/browser/chromeos/login/hwid_checker.h" |
#include "chrome/browser/chromeos/login/screen_locker.h" |
#include "chrome/browser/chromeos/login/user.h" |
#include "chrome/browser/chromeos/login/webui_login_display.h" |
@@ -1268,6 +1269,13 @@ void SigninScreenHandler::HandleAccountPickerReady( |
const base::ListValue* args) { |
LOG(INFO) << "Login WebUI >> AccountPickerReady"; |
+ if (delegate_ && !ScreenLocker::default_screen_locker() && |
+ !chromeos::IsMachineHWIDCorrect() && |
+ !oobe_ui_) { |
+ delegate_->ShowWrongHWIDScreen(); |
+ return; |
+ } |
+ |
PrefService* prefs = g_browser_process->local_state(); |
if (prefs->GetBoolean(prefs::kFactoryResetRequested)) { |
prefs->SetBoolean(prefs::kFactoryResetRequested, false); |