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

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

Issue 8037035: [ChromeOS] Auto reload auth extension. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix nits Created 9 years, 3 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
« no previous file with comments | « chrome/browser/resources/chromeos/login/screen_gaia_signin.js ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/chromeos/login/screen_offline_message.js
diff --git a/chrome/browser/resources/chromeos/login/screen_offline_message.js b/chrome/browser/resources/chromeos/login/screen_offline_message.js
index be90a08dcdfce01798e4b6b3938805c4b22dbca7..60df35699e3d3a0974ceff5e535ff842a9bdb536 100644
--- a/chrome/browser/resources/chromeos/login/screen_offline_message.js
+++ b/chrome/browser/resources/chromeos/login/screen_offline_message.js
@@ -8,7 +8,14 @@
cr.define('login', function() {
// Screens that should have offline message overlay.
- const MANAGED_SCREENS = ['gaia-signin', 'signin'];
+ const MANAGED_SCREENS = ['gaia-signin'];
+
+ // Network state constants.
+ const NET_STATE = {
+ OFFLINE: 0,
+ ONLINE: 1,
+ PORTAL: 2
+ };
/**
* Creates a new offline message screen div.
@@ -61,11 +68,13 @@ cr.define('login', function() {
updateState: function(state) {
var currentScreen = Oobe.getInstance().currentScreen;
var offlineMessage = this;
- var isOnline = state == 1;
- var isUnderCaptivePortal = state == 2;
+ var isOnline = (state == NET_STATE.ONLINE);
+ var isUnderCaptivePortal = (state == NET_STATE.PORTAL);
var shouldOverlay = MANAGED_SCREENS.indexOf(currentScreen.id) != -1;
if (!isOnline && shouldOverlay) {
+ console.log('Show offline message, state=' + state +
+ ',isUnderCaptivePortal=' + isUnderCaptivePortal);
offlineMessage.onBeforeShow();
$('offline-message-text').hidden = isUnderCaptivePortal;
@@ -85,6 +94,7 @@ cr.define('login', function() {
}
} else {
if (!offlineMessage.classList.contains('faded')) {
+ console.log('Hide offline message.');
offlineMessage.onBeforeHide();
offlineMessage.classList.add('faded');
@@ -117,11 +127,38 @@ cr.define('login', function() {
* @param {number} error Error code.
*/
OfflineMessageScreen.onFrameError = function(error) {
+ console.log('Gaia frame error = ' + error);
+
// Offline and simple captive portal cases are handled by the
// NetworkStateInformer, so only the case when browser is online is
// valuable.
- if (window.navigator.onLine)
- this.updateState(2);
+ if (window.navigator.onLine) {
+ this.updateState(NET_STATE.PORTAL);
+
+ // Check current network state if currentScreen is a managed one.
+ var currentScreen = Oobe.getInstance().currentScreen;
+ if (MANAGED_SCREENS.indexOf(currentScreen.id) != -1) {
+ chrome.send('loginRequestNetworkState',
+ ['login.OfflineMessageScreen.maybeRetry']);
+ }
+ }
+ };
+
+ /**
+ * Network state callback where we decide whether to schdule a retry.
+ */
+ OfflineMessageScreen.maybeRetry = function(state) {
+ console.log('OfflineMessageScreen.maybeRetry, state=' + state);
+
+ // No retry if we are not online.
+ if (state != NET_STATE.ONLINE)
+ return;
+
+ var currentScreen = Oobe.getInstance().currentScreen;
+ if (MANAGED_SCREENS.indexOf(currentScreen.id) != -1) {
+ // Schedules a retry.
+ currentScreen.schdeduleRetry();
+ }
};
return {
« no previous file with comments | « chrome/browser/resources/chromeos/login/screen_gaia_signin.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698