Chromium Code Reviews| 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 |
| }; |