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 c557bb0b89fc7fc8d33960500d1943e724ccc511..2b7c03d5a344e7475d728e5aaa1d128e82dd782d 100644 |
--- a/chrome/browser/resources/chromeos/login/screen_offline_message.js |
+++ b/chrome/browser/resources/chromeos/login/screen_offline_message.js |
@@ -49,15 +49,20 @@ cr.define('login', function() { |
var shouldOverlay = MANAGED_SCREENS.indexOf(currentScreen.id) != -1; |
if (isOffline && shouldOverlay) { |
+ $('offline-message-text').hidden = false; |
+ $('captive-portal-message-text').hidden = true; |
+ |
offlineMessage.classList.remove('hidden'); |
offlineMessage.classList.remove('faded'); |
- currentScreen.classList.add('faded'); |
- currentScreen.addEventListener('webkitTransitionEnd', |
- function f(e) { |
- currentScreen.removeEventListener('webkitTransitionEnd', f); |
- currentScreen.classList.add('hidden'); |
- }); |
+ if (!currentScreen.classList.contains('faded')) { |
+ currentScreen.classList.add('faded'); |
+ currentScreen.addEventListener('webkitTransitionEnd', |
+ function f(e) { |
+ currentScreen.removeEventListener('webkitTransitionEnd', f); |
+ currentScreen.classList.add('hidden'); |
+ }); |
+ } |
} else { |
if (!offlineMessage.classList.contains('faded')) { |
offlineMessage.classList.add('faded'); |
@@ -85,6 +90,38 @@ cr.define('login', function() { |
} |
}; |
+ /** |
+ * Handler for iframe's error notification coming from the outside. |
+ * For more info see C++ class 'SnifferObserver' which calls this method. |
+ * @param {integer} error Error code. |
xiyuan
2011/09/02 15:49:53
nit: integer -> number
altimofeev
2011/09/05 09:39:33
Done.
|
+ */ |
+ OfflineMessageScreen.onFrameError = function(error) { |
+ var currentScreen = Oobe.getInstance().currentScreen; |
+ var offlineMessage = $('offline-message'); |
+ var isOffline = !window.navigator.onLine; |
+ var shouldOverlay = MANAGED_SCREENS.indexOf(currentScreen.id) != -1; |
+ |
+ if (!shouldOverlay) |
+ return; |
+ |
+ if (!isOffline) { |
+ $('offline-message-text').hidden = true; |
+ $('captive-portal-message-text').hidden = false; |
+ } |
+ |
+ if (!currentScreen.classList.contains('faded')) { |
+ offlineMessage.classList.remove('hidden'); |
+ offlineMessage.classList.remove('faded'); |
+ |
+ currentScreen.classList.add('faded'); |
+ currentScreen.addEventListener('webkitTransitionEnd', |
+ function f(e) { |
+ currentScreen.removeEventListener('webkitTransitionEnd', f); |
+ currentScreen.classList.add('hidden'); |
+ }); |
+ } |
+ }; |
+ |
return { |
OfflineMessageScreen: OfflineMessageScreen |
}; |