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

Unified Diff: chrome/browser/resources/chromeos/login/screen_error_message.js

Issue 9861015: [cros] Captive portal dialog fixes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clarify Created 8 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
Index: chrome/browser/resources/chromeos/login/screen_error_message.js
diff --git a/chrome/browser/resources/chromeos/login/screen_error_message.js b/chrome/browser/resources/chromeos/login/screen_error_message.js
index 39d1375789b0a3b59a742fcc541af4336bfbc2cf..f151f359275316bdf9f62238c8e57085488f6d49 100644
--- a/chrome/browser/resources/chromeos/login/screen_error_message.js
+++ b/chrome/browser/resources/chromeos/login/screen_error_message.js
@@ -80,7 +80,7 @@ cr.define('login', function() {
'<a id="' + FIX_CAPTIVE_PORTAL_ID + '" class="signin-link" href="#">',
'</a>');
$(FIX_CAPTIVE_PORTAL_ID).onclick = function() {
- chrome.send('fixCaptivePortal');
+ chrome.send('showCaptivePortal');
};
$('proxy-message-text').innerHTML = localStrings.getStringF(
@@ -147,6 +147,7 @@ cr.define('login', function() {
reason == ERROR_REASONS.PROXY_CONNECTION_FAILED;
var shouldOverlay = MANAGED_SCREENS.indexOf(currentScreen.id) != -1 &&
!currentScreen.isLocal;
+ var isTimeout = false;
if (reason == ERROR_REASONS.PROXY_CONFIG_CHANGED && shouldOverlay &&
!offlineMessage.classList.contains('hidden') &&
@@ -160,8 +161,11 @@ cr.define('login', function() {
if (reason == ERROR_REASONS.LOADING_TIMEOUT) {
isOnline = false;
isUnderCaptivePortal = true;
+ isTimeout = true;
}
+ // Portal was detected via generate_204 redirect on Chrome side.
+ // Subsequent call to show dialog if it's already shown does nothing.
if (reason == ERROR_REASONS.PORTAL_DETECTED) {
isOnline = false;
isUnderCaptivePortal = true;
@@ -175,10 +179,18 @@ cr.define('login', function() {
offlineMessage.onBeforeShow(lastNetworkType);
- if (isUnderCaptivePortal && !isProxyError)
- chrome.send('fixCaptivePortal');
- else
+ if (isUnderCaptivePortal && !isProxyError) {
+ // In case of timeout we're suspecting that network might be
+ // a captive portal but would like to check that first.
+ // Otherwise (signal from flimflam / generate_204 got redirected)
+ // show dialog right away.
+ if (isTimeout)
+ chrome.send('fixCaptivePortal');
+ else
+ chrome.send('showCaptivePortal');
+ } else {
chrome.send('hideCaptivePortal');
+ }
if (isUnderCaptivePortal) {
if (isProxyError) {

Powered by Google App Engine
This is Rietveld 408576698