 Chromium Code Reviews
 Chromium Code Reviews Issue 2928833002:
  [CacheStorage] [DevTools] Added "Time Received" column to cache storage data grid  (Closed)
    
  
    Issue 2928833002:
  [CacheStorage] [DevTools] Added "Time Received" column to cache storage data grid  (Closed) 
  | Index: third_party/WebKit/Source/devtools/front_end/sdk/ServiceWorkerCacheModel.js | 
| diff --git a/third_party/WebKit/Source/devtools/front_end/sdk/ServiceWorkerCacheModel.js b/third_party/WebKit/Source/devtools/front_end/sdk/ServiceWorkerCacheModel.js | 
| index 0c6415d8d50930e75d3831971e3007039bf48e95..ced8944bc176a3a870115285fc66732ca2fb9868 100644 | 
| --- a/third_party/WebKit/Source/devtools/front_end/sdk/ServiceWorkerCacheModel.js | 
| +++ b/third_party/WebKit/Source/devtools/front_end/sdk/ServiceWorkerCacheModel.js | 
| @@ -215,6 +215,7 @@ SDK.ServiceWorkerCacheModel = class extends SDK.SDKModel { | 
| * @param {number} skipCount | 
| * @param {number} pageSize | 
| * @param {function(!Array<!SDK.ServiceWorkerCacheModel.Entry>, boolean)} callback | 
| + * @this {SDK.ServiceWorkerCacheModel} | 
| 
dgozman
2017/06/07 21:32:06
It's already an instance method, no need for @this
 | 
| */ | 
| async _requestEntries(cache, skipCount, pageSize, callback) { | 
| var response = await this._agent.invoke_requestEntries({cacheId: cache.cacheId, skipCount, pageSize}); | 
| @@ -223,9 +224,27 @@ SDK.ServiceWorkerCacheModel = class extends SDK.SDKModel { | 
| return; | 
| } | 
| var entries = response.cacheDataEntries.map( | 
| - dataEntry => new SDK.ServiceWorkerCacheModel.Entry(dataEntry.request, dataEntry.response)); | 
| + dataEntry => new SDK.ServiceWorkerCacheModel.Entry( | 
| + dataEntry.request, dataEntry.response, this._formatTimestamp(dataEntry.responseTime))); | 
| 
dgozman
2017/06/07 21:32:06
new Date(dataEntry.responseTime * 1000).toLocaleSt
 
kristipark
2017/06/07 22:42:37
Done.
 | 
| callback(entries, response.hasMore); | 
| } | 
| + | 
| + /** | 
| + * @param {number} UNIX_timestamp | 
| + */ | 
| + _formatTimestamp(UNIX_timestamp) { // yyyy Mth dd, hh:mm:ss (24hr format) | 
| + /** | 
| + * @param {number} n | 
| + */ | 
| + function pad(n) { | 
| + return n < 10 ? '0' + n.toString(10) : n.toString(10); | 
| + } | 
| + | 
| + var monthName = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; | 
| + var date = new Date(UNIX_timestamp * 1000); | 
| + var time = [pad(date.getHours()), pad(date.getMinutes()), pad(date.getSeconds())].join(':'); | 
| + return [date.getFullYear(), monthName[date.getMonth()], date.getDate(), ',', time].join(' '); | 
| + } | 
| }; | 
| SDK.SDKModel.register(SDK.ServiceWorkerCacheModel, SDK.Target.Capability.Browser, false); | 
| @@ -243,10 +262,12 @@ SDK.ServiceWorkerCacheModel.Entry = class { | 
| /** | 
| * @param {string} request | 
| * @param {string} response | 
| + * @param {number} responseTime | 
| */ | 
| - constructor(request, response) { | 
| + constructor(request, response, responseTime) { | 
| this.request = request; | 
| this.response = response; | 
| + this.responseTime = responseTime; | 
| } | 
| }; |