OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // require cr.js | 5 // require cr.js |
6 // require cr/event_target.js | 6 // require cr/event_target.js |
7 // require cr/ui.js | 7 // require cr/ui.js |
8 // require cr/ui/tabs.js | 8 // require cr/ui/tabs.js |
9 // require cr/ui/tree.js | 9 // require cr/ui/tree.js |
10 // require cr/util.js | 10 // require cr/util.js |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 * @param {?number} value Number of milliseconds since | 119 * @param {?number} value Number of milliseconds since |
120 * UNIX epoch time (0:00, Jan 1, 1970, UTC). | 120 * UNIX epoch time (0:00, Jan 1, 1970, UTC). |
121 * @return {string} Formatted text of date or 'N/A'. | 121 * @return {string} Formatted text of date or 'N/A'. |
122 * @private | 122 * @private |
123 */ | 123 */ |
124 function dateToText(value) { | 124 function dateToText(value) { |
125 var result = checkIfAvailable_(value); | 125 var result = checkIfAvailable_(value); |
126 if (result) | 126 if (result) |
127 return result; | 127 return result; |
128 | 128 |
129 var lastAccessTime = new Date(value); | 129 var time = new Date(value); |
130 var now = new Date(); | 130 var now = new Date(); |
131 var delta = Date.now() - value; | 131 var delta = Date.now() - value; |
132 | 132 |
133 var SECOND = 1000; | 133 var SECOND = 1000; |
134 var MINUTE = 60 * SECOND; | 134 var MINUTE = 60 * SECOND; |
135 var HOUR = 60 * MINUTE; | 135 var HOUR = 60 * MINUTE; |
136 var DAY = 23 * HOUR; | 136 var DAY = 23 * HOUR; |
137 var WEEK = 7 * DAY; | 137 var WEEK = 7 * DAY; |
138 | 138 |
139 var SHOW_SECOND = 5 * MINUTE; | 139 var SHOW_SECOND = 5 * MINUTE; |
140 var SHOW_MINUTE = 5 * HOUR; | 140 var SHOW_MINUTE = 5 * HOUR; |
141 var SHOW_HOUR = 3 * DAY; | 141 var SHOW_HOUR = 3 * DAY; |
142 var SHOW_DAY = 2 * WEEK; | 142 var SHOW_DAY = 2 * WEEK; |
143 var SHOW_WEEK = 3 * 30 * DAY; | 143 var SHOW_WEEK = 3 * 30 * DAY; |
144 | 144 |
145 if (delta < 0) { | 145 if (delta < 0) { |
146 result = 'access from future '; | 146 result = 'access from future '; |
147 } else if (delta < SHOW_SECOND) { | 147 } else if (delta < SHOW_SECOND) { |
148 result = Math.ceil(delta / SECOND) + ' sec ago '; | 148 result = Math.ceil(delta / SECOND) + ' sec ago '; |
149 } else if (delta < SHOW_MINUTE) { | 149 } else if (delta < SHOW_MINUTE) { |
150 result = Math.ceil(delta / MINUTE) + ' min ago '; | 150 result = Math.ceil(delta / MINUTE) + ' min ago '; |
151 } else if (delta < SHOW_HOUR) { | 151 } else if (delta < SHOW_HOUR) { |
152 result = Math.ceil(delta / HOUR) + ' hr ago '; | 152 result = Math.ceil(delta / HOUR) + ' hr ago '; |
153 } else if (delta < SHOW_WEEK) { | 153 } else if (delta < SHOW_WEEK) { |
154 result = Math.ceil(delta / DAY) + ' day ago '; | 154 result = Math.ceil(delta / DAY) + ' day ago '; |
155 } | 155 } |
156 | 156 |
157 result += '(' + lastAccessTime.toString() + ')'; | 157 result += '(' + time.toString() + ')'; |
158 return result; | 158 return result; |
159 } | 159 } |
160 | 160 |
161 /** | 161 /** |
162 * Available disk space. | 162 * Available disk space. |
163 * @type {number|undefined} | 163 * @type {number|undefined} |
164 */ | 164 */ |
165 var availableSpace = undefined; | 165 var availableSpace = undefined; |
166 | 166 |
167 /** | 167 /** |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
347 * Storage type of the entry. 'temporary' or 'persistent'. | 347 * Storage type of the entry. 'temporary' or 'persistent'. |
348 * |host|: | 348 * |host|: |
349 * Hostname of the entry. | 349 * Hostname of the entry. |
350 * |inUse|: | 350 * |inUse|: |
351 * true if the origin is in use. | 351 * true if the origin is in use. |
352 * |usedCount|: | 352 * |usedCount|: |
353 * Used count of the storage from the origin. | 353 * Used count of the storage from the origin. |
354 * |lastAccessTime|: | 354 * |lastAccessTime|: |
355 * Last storage access time from the origin. | 355 * Last storage access time from the origin. |
356 * Number of milliseconds since UNIX epoch (Jan 1, 1970, 0:00:00 UTC). | 356 * Number of milliseconds since UNIX epoch (Jan 1, 1970, 0:00:00 UTC). |
| 357 * |lastModifiedTime|: |
| 358 * Last modified time of the storage from the origin. |
| 359 * Number of milliseconds since UNIX epoch. |
357 * | 360 * |
358 * |inUse|, |usedCount| and |lastAccessTime| can be missing, | 361 * |inUse|, |usedCount|, |lastAccessTime| and |lastModifiedTime| can be missing, |
359 * and some additional fields can be included. | 362 * and some additional fields can be included. |
360 * @param {CustomEvent} event OriginDataUpdated event. | 363 * @param {CustomEvent} event OriginDataUpdated event. |
361 */ | 364 */ |
362 function handleOriginData(event) { | 365 function handleOriginData(event) { |
363 /** | 366 /** |
364 * @type {Array<{ | 367 * @type {Array<{ |
365 * origin: {!string}, | 368 * origin: {!string}, |
366 * type: {!string}, | 369 * type: {!string}, |
367 * host: {!string}, | 370 * host: {!string}, |
368 * inUse: {?boolean}, | 371 * inUse: {?boolean}, |
369 * usedCount: {?number}, | 372 * usedCount: {?number}, |
370 * lastAccessTime: {?number} | 373 * lastAccessTime: {?number} |
| 374 * lastModifiedTime: {?number} |
371 * }>} | 375 * }>} |
372 */ | 376 */ |
373 var dataArray = event.detail; | 377 var dataArray = event.detail; |
374 | 378 |
375 for (var i = 0; i < dataArray.length; ++i) { | 379 for (var i = 0; i < dataArray.length; ++i) { |
376 var data = dataArray[i]; | 380 var data = dataArray[i]; |
377 var originObject = getOriginObject(data.type, data.host, data.origin); | 381 var originObject = getOriginObject(data.type, data.host, data.origin); |
378 copyAttributes_(data, originObject.detail.payload); | 382 copyAttributes_(data, originObject.detail.payload); |
379 originObject.reveal(); | 383 originObject.reveal(); |
380 } | 384 } |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
418 var keyAndLabel = [['type', 'Storage Type'], | 422 var keyAndLabel = [['type', 'Storage Type'], |
419 ['host', 'Host Name'], | 423 ['host', 'Host Name'], |
420 ['origin', 'Origin URL'], | 424 ['origin', 'Origin URL'], |
421 ['usage', 'Total Storage Usage', numBytesToText_], | 425 ['usage', 'Total Storage Usage', numBytesToText_], |
422 ['unlimitedUsage', 'Usage of Unlimited Origins', | 426 ['unlimitedUsage', 'Usage of Unlimited Origins', |
423 numBytesToText_], | 427 numBytesToText_], |
424 ['quota', 'Quota', numBytesToText_], | 428 ['quota', 'Quota', numBytesToText_], |
425 ['inUse', 'Origin is in use?'], | 429 ['inUse', 'Origin is in use?'], |
426 ['usedCount', 'Used count'], | 430 ['usedCount', 'Used count'], |
427 ['lastAccessTime', 'Last Access Time', | 431 ['lastAccessTime', 'Last Access Time', |
| 432 dateToText], |
| 433 ['lastModifiedTime', 'Last Modified Time', |
428 dateToText] | 434 dateToText] |
429 ]; | 435 ]; |
430 for (var i = 0; i < keyAndLabel.length; ++i) { | 436 for (var i = 0; i < keyAndLabel.length; ++i) { |
431 var key = keyAndLabel[i][0]; | 437 var key = keyAndLabel[i][0]; |
432 var label = keyAndLabel[i][1]; | 438 var label = keyAndLabel[i][1]; |
433 var entry = item.detail.payload[key]; | 439 var entry = item.detail.payload[key]; |
434 if (entry === undefined) | 440 if (entry === undefined) |
435 continue; | 441 continue; |
436 | 442 |
437 var normalize = keyAndLabel[i][2] || stringToText_; | 443 var normalize = keyAndLabel[i][2] || stringToText_; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 cr.quota.onOriginDataUpdated.addEventListener('update', handleOriginData); | 519 cr.quota.onOriginDataUpdated.addEventListener('update', handleOriginData); |
514 cr.quota.onStatisticsUpdated.addEventListener('update', handleStatistics); | 520 cr.quota.onStatisticsUpdated.addEventListener('update', handleStatistics); |
515 cr.quota.requestData(); | 521 cr.quota.requestData(); |
516 | 522 |
517 $('refresh-button').addEventListener('click', cr.quota.requestData, false); | 523 $('refresh-button').addEventListener('click', cr.quota.requestData, false); |
518 $('dump-button').addEventListener('click', dump, false); | 524 $('dump-button').addEventListener('click', dump, false); |
519 } | 525 } |
520 | 526 |
521 cr.doc.addEventListener('DOMContentLoaded', onLoad, false); | 527 cr.doc.addEventListener('DOMContentLoaded', onLoad, false); |
522 })(); | 528 })(); |
OLD | NEW |