| 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 ef384de9c236d68f0cd6d7ccf4a6331cd5dc1dbf..c4e3e606be4717d66f9146772607395c90474bcd 100644
|
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc
|
| @@ -442,6 +442,9 @@ void SigninScreenHandler::RegisterMessages() {
|
| web_ui()->RegisterMessageCallback("fixCaptivePortal",
|
| base::Bind(&SigninScreenHandler::HandleFixCaptivePortal,
|
| base::Unretained(this)));
|
| + web_ui()->RegisterMessageCallback("showCaptivePortal",
|
| + base::Bind(&SigninScreenHandler::HandleShowCaptivePortal,
|
| + base::Unretained(this)));
|
| web_ui()->RegisterMessageCallback("hideCaptivePortal",
|
| base::Bind(&SigninScreenHandler::HandleHideCaptivePortal,
|
| base::Unretained(this)));
|
| @@ -733,6 +736,13 @@ void SigninScreenHandler::HandleFixCaptivePortal(const base::ListValue* args) {
|
| captive_portal_window_proxy_->ShowIfRedirected();
|
| }
|
|
|
| +void SigninScreenHandler::HandleShowCaptivePortal(const base::ListValue* args) {
|
| + // This call is an explicit user action
|
| + // i.e. clicking on link so force dialog show.
|
| + HandleFixCaptivePortal(args);
|
| + captive_portal_window_proxy_->Show();
|
| +}
|
| +
|
| void SigninScreenHandler::HandleHideCaptivePortal(const base::ListValue* args) {
|
| if (captive_portal_window_proxy_.get())
|
| captive_portal_window_proxy_->Close();
|
|
|