Index: site/try/src/cache.dart |
diff --git a/site/try/src/cache.dart b/site/try/src/cache.dart |
deleted file mode 100644 |
index a61ec0a79a5bfc2992daecc42a08f7203e963317..0000000000000000000000000000000000000000 |
--- a/site/try/src/cache.dart |
+++ /dev/null |
@@ -1,96 +0,0 @@ |
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library trydart.cache; |
- |
-import 'dart:async' show |
- Timer; |
- |
-import 'dart:html' show |
- AnchorElement, |
- ApplicationCache, |
- Event, |
- MeterElement, |
- ProgressEvent, |
- window; |
- |
-import 'ui.dart' show |
- cacheStatusElement; |
- |
-/// Called when the window has finished loading. |
-void onLoad(Event event) { |
- if (!ApplicationCache.supported) return; |
- window.applicationCache.onUpdateReady.listen(updateCacheStatus); |
- window.applicationCache.onCached.listen(updateCacheStatus); |
- window.applicationCache.onChecking.listen(updateCacheStatus); |
- window.applicationCache.onDownloading.listen(updateCacheStatus); |
- window.applicationCache.onError.listen(updateCacheStatus); |
- window.applicationCache.onNoUpdate.listen(updateCacheStatus); |
- window.applicationCache.onObsolete.listen(updateCacheStatus); |
- window.applicationCache.onProgress.listen(onCacheProgress); |
-} |
- |
-void onCacheProgress(Event event) { |
- if (event is ProgressEvent) { |
- // Firefox doesn't fire a ProgressEvent on cache progress. Just a plain |
- // Event with type == "progress". |
- if (event.lengthComputable) { |
- updateCacheStatusFromEvent(event); |
- return; |
- } |
- } |
- updateCacheStatus(null); |
-} |
- |
-void updateCacheStatusFromEvent(ProgressEvent event) { |
- cacheStatusElement.nodes.clear(); |
- cacheStatusElement.appendText('Downloading SDK '); |
- var progress = '${event.loaded} of ${event.total}'; |
- if (MeterElement.supported) { |
- cacheStatusElement.append( |
- new MeterElement() |
- ..appendText(progress) |
- ..min = 0 |
- ..max = event.total |
- ..value = event.loaded); |
- } else { |
- cacheStatusElement.appendText(progress); |
- } |
-} |
- |
-String cacheStatus() { |
- if (!ApplicationCache.supported) return 'offline not supported'; |
- int status = window.applicationCache.status; |
- if (status == ApplicationCache.CHECKING) return 'Checking for updates'; |
- if (status == ApplicationCache.DOWNLOADING) return 'Downloading SDK'; |
- if (status == ApplicationCache.IDLE) return 'Try Dart! works offline'; |
- if (status == ApplicationCache.OBSOLETE) return 'OBSOLETE'; |
- if (status == ApplicationCache.UNCACHED) return 'offline not available'; |
- if (status == ApplicationCache.UPDATEREADY) return 'SDK downloaded'; |
- return '?'; |
-} |
- |
-void updateCacheStatus(_) { |
- cacheStatusElement.nodes.clear(); |
- int status = window.applicationCache.status; |
- if (status == ApplicationCache.UPDATEREADY) { |
- cacheStatusElement.appendText('New version of Try Dart! ready: '); |
- cacheStatusElement.append( |
- new AnchorElement(href: '#') |
- ..appendText('Load') |
- ..onClick.listen((event) { |
- event.preventDefault(); |
- window.applicationCache.swapCache(); |
- window.location.reload(); |
- })); |
- } else if (status == ApplicationCache.IDLE) { |
- cacheStatusElement.appendText(cacheStatus()); |
- cacheStatusElement.classes.add('offlineyay'); |
- new Timer(const Duration(seconds: 10), () { |
- cacheStatusElement.style.display = 'none'; |
- }); |
- } else { |
- cacheStatusElement.appendText(cacheStatus()); |
- } |
-} |