summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/chromeos/login/oobe_browsertest.cc5
-rw-r--r--chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc20
-rw-r--r--chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h6
3 files changed, 26 insertions, 5 deletions
diff --git a/chrome/browser/chromeos/login/oobe_browsertest.cc b/chrome/browser/chromeos/login/oobe_browsertest.cc
index 3ecab68..1cd9a41 100644
--- a/chrome/browser/chromeos/login/oobe_browsertest.cc
+++ b/chrome/browser/chromeos/login/oobe_browsertest.cc
@@ -207,8 +207,7 @@ class OobeTest : public chromeos::CrosInProcessBrowserTest {
// needs UI thread.
};
-// Test is flaky - http://crbug.com/242587
-IN_PROC_BROWSER_TEST_F(OobeTest, DISABLED_NewUser) {
+IN_PROC_BROWSER_TEST_F(OobeTest, NewUser) {
chromeos::WizardController::SkipPostLoginScreensForTesting();
chromeos::WizardController* wizard_controller =
chromeos::WizardController::default_controller();
@@ -222,4 +221,4 @@ IN_PROC_BROWSER_TEST_F(OobeTest, DISABLED_NewUser) {
runner->Run();
}
-}
+} // namespace
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 2bcf094..f54ffa3 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
@@ -334,7 +334,8 @@ SigninScreenHandler::SigninScreenHandler(
is_first_update_state_call_(true),
offline_login_active_(false),
last_network_state_(NetworkStateInformer::UNKNOWN),
- has_pending_auth_ui_(false) {
+ has_pending_auth_ui_(false),
+ ignore_next_user_abort_frame_error_(false) {
DCHECK(network_state_informer_);
DCHECK(error_screen_actor_);
network_state_informer_->AddObserver(this);
@@ -433,7 +434,7 @@ void SigninScreenHandler::DeclareLocalizedValues(
IDS_LOGIN_PUBLIC_ACCOUNT_ENTER_ACCESSIBLE_NAME);
if (chromeos::KioskModeSettings::Get()->IsKioskModeEnabled())
- builder->Add("demoLoginMessage", IDS_KIOSK_MODE_LOGIN_MESSAGE);
+ builder->Add("demoLoginMessage", IDS_KIOSK_MODE_LOGIN_MESSAGE);
}
void SigninScreenHandler::Show(bool oobe_ui) {
@@ -722,6 +723,7 @@ void SigninScreenHandler::ReloadGaiaScreen() {
}
LOG(WARNING) << "Reload auth extension frame.";
frame_state_ = FRAME_STATE_LOADING;
+ ignore_next_user_abort_frame_error_ = true;
CallJS("login.GaiaSigninScreen.doReload");
}
@@ -1067,6 +1069,8 @@ void SigninScreenHandler::LoadAuthExtension(
test_pass_.clear();
}
}
+ frame_state_ = FRAME_STATE_LOADING;
+ ignore_next_user_abort_frame_error_ = true;
CallJS("login.GaiaSigninScreen.loadAuthExtension", params);
}
@@ -1475,9 +1479,21 @@ void SigninScreenHandler::HandleFrameLoadingCompleted(int status) {
LOG(INFO) << "Gaia frame is loaded";
frame_state_ = FRAME_STATE_LOADED;
} else {
+ // Ignore net::ERR_ABORTED frame error once.
+ if (ignore_next_user_abort_frame_error_ &&
+ frame_error_ == net::ERR_ABORTED) {
+ LOG(WARNING) << "Ignore gaia frame error: " << frame_error_;
+ ignore_next_user_abort_frame_error_ = false;
+ return;
+ }
+
LOG(WARNING) << "Gaia frame error: " << frame_error_;
frame_state_ = FRAME_STATE_ERROR;
}
+
+ // Frame load okay and other frame error clears the flag.
+ ignore_next_user_abort_frame_error_ = false;
+
if (network_state_informer_->state() != NetworkStateInformer::ONLINE)
return;
if (frame_state_ == FRAME_STATE_LOADED) {
diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
index 143cbcd..a7f6328 100644
--- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
+++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.h
@@ -451,6 +451,12 @@ class SigninScreenHandler
// NOTIFICATION_AUTH_CANCELLED.
bool has_pending_auth_ui_;
+ // Whether to ignore the next net::ERR_ABORTED frame error. ERR_ABORTED could
+ // be triggered when reloading gaia frame's src with a pending load.
+ // ReloadGaiaExtension() sets this flag to true to ignore potential
+ // ERR_ABORTED triggered from its reload request. See http://crbug.com/242527.
+ bool ignore_next_user_abort_frame_error_;
+
// Testing helper, specifies new value for gaia url.
GURL gaia_url_for_test_;