| Index: chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
|
| diff --git a/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
|
| index 7215c15b9132ef0f8d14153fada6258deb98a8a9..24e777150a00e6a4d3ad751a8819a411864b0ef7 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/error_screen_handler.cc
|
| @@ -53,12 +53,14 @@ void ErrorScreenHandler::SetDelegate(ErrorScreenActorDelegate* delegate) {
|
| }
|
|
|
| void ErrorScreenHandler::Show(OobeDisplay::Screen parent_screen,
|
| - base::DictionaryValue* params) {
|
| + base::DictionaryValue* params,
|
| + const base::Closure& hide_closure) {
|
| if (!page_is_ready()) {
|
| show_on_init_ = true;
|
| return;
|
| }
|
| parent_screen_ = parent_screen;
|
| + hide_closure_.reset(new base::Closure(hide_closure));
|
| ShowScreen(OobeUI::kScreenErrorMessage, params);
|
| NetworkErrorShown();
|
| NetworkPortalDetector::Get()->SetStrategy(
|
| @@ -68,12 +70,25 @@ void ErrorScreenHandler::Show(OobeDisplay::Screen parent_screen,
|
| LOG(WARNING) << "Offline message is displayed";
|
| }
|
|
|
| +void ErrorScreenHandler::CheckAndShowScreen() {
|
| + std::string screen_name;
|
| + if (GetScreenName(parent_screen(), &screen_name))
|
| + ShowScreen(screen_name.c_str(), NULL);
|
| +}
|
| +
|
| +void ErrorScreenHandler::Show(OobeDisplay::Screen parent_screen,
|
| + base::DictionaryValue* params) {
|
| + Show(parent_screen,
|
| + params,
|
| + base::Bind(&ErrorScreenHandler::CheckAndShowScreen,
|
| + base::Unretained(this)));
|
| +}
|
| +
|
| void ErrorScreenHandler::Hide() {
|
| if (parent_screen_ == OobeUI::SCREEN_UNKNOWN)
|
| return;
|
| - std::string screen_name;
|
| - if (GetScreenName(parent_screen_, &screen_name))
|
| - ShowScreen(screen_name.c_str(), NULL);
|
| + if (hide_closure_.get())
|
| + hide_closure_->Run();
|
| NetworkPortalDetector::Get()->SetStrategy(
|
| PortalDetectorStrategy::STRATEGY_ID_LOGIN_SCREEN);
|
| if (delegate_)
|
|
|