Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Side by Side Diff: chrome/browser/resources/quota_internals/event_handler.js

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 var result = checkIfAvailable_(value); 99 var result = checkIfAvailable_(value);
100 if (result) 100 if (result)
101 return result; 101 return result;
102 102
103 var segments = separateBackward_(value.toString(), 3); 103 var segments = separateBackward_(value.toString(), 3);
104 result = segments.join(',') + ' B'; 104 result = segments.join(',') + ' B';
105 105
106 if (segments.length > 1) { 106 if (segments.length > 1) {
107 var UNIT = [' B', ' KB', ' MB', ' GB', ' TB', ' PB']; 107 var UNIT = [' B', ' KB', ' MB', ' GB', ' TB', ' PB'];
108 result = segments[0] + '.' + segments[1].slice(0, 2) + 108 result = segments[0] + '.' + segments[1].slice(0, 2) +
109 UNIT[Math.min(segments.length, UNIT.length) - 1] + 109 UNIT[Math.min(segments.length, UNIT.length) - 1] + ' (' + result + ')';
110 ' (' + result + ')';
111 } 110 }
112 111
113 return result; 112 return result;
114 } 113 }
115 114
116 /** 115 /**
117 * Return formatted date |value| if |value| is not undefined. 116 * Return formatted date |value| if |value| is not undefined.
118 * If |value| is undefined, this function returns 'N/A'. 117 * If |value| is undefined, this function returns 'N/A'.
119 * @param {?number} value Number of milliseconds since 118 * @param {?number} value Number of milliseconds since
120 * UNIX epoch time (0:00, Jan 1, 1970, UTC). 119 * UNIX epoch time (0:00, Jan 1, 1970, UTC).
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
195 194
196 /** 195 /**
197 * Initialize and return a tree item, that represents specified storage type. 196 * Initialize and return a tree item, that represents specified storage type.
198 * @param {!string} type Storage type. 197 * @param {!string} type Storage type.
199 * @return {cr.ui.TreeItem} Initialized |storageObject|. 198 * @return {cr.ui.TreeItem} Initialized |storageObject|.
200 */ 199 */
201 function getStorageObject(type) { 200 function getStorageObject(type) {
202 var treeViewObject = getTreeViewObject(); 201 var treeViewObject = getTreeViewObject();
203 var storageObject = treeViewObject.detail.children[type]; 202 var storageObject = treeViewObject.detail.children[type];
204 if (!storageObject) { 203 if (!storageObject) {
205 storageObject = new cr.ui.TreeItem({ 204 storageObject =
206 label: type, 205 new cr.ui.TreeItem({label: type, detail: {payload: {}, children: {}}});
207 detail: {payload: {}, children: {}}
208 });
209 storageObject.mayHaveChildren_ = true; 206 storageObject.mayHaveChildren_ = true;
210 treeViewObject.detail.children[type] = storageObject; 207 treeViewObject.detail.children[type] = storageObject;
211 treeViewObject.add(storageObject); 208 treeViewObject.add(storageObject);
212 } 209 }
213 return storageObject; 210 return storageObject;
214 } 211 }
215 212
216 /** 213 /**
217 * Initialize and return a tree item, that represents specified 214 * Initialize and return a tree item, that represents specified
218 * storage type and hostname. 215 * storage type and hostname.
219 * @param {!string} type Storage type. 216 * @param {!string} type Storage type.
220 * @param {!string} host Hostname. 217 * @param {!string} host Hostname.
221 * @return {cr.ui.TreeItem} Initialized |hostObject|. 218 * @return {cr.ui.TreeItem} Initialized |hostObject|.
222 */ 219 */
223 function getHostObject(type, host) { 220 function getHostObject(type, host) {
224 var storageObject = getStorageObject(type); 221 var storageObject = getStorageObject(type);
225 var hostObject = storageObject.detail.children[host]; 222 var hostObject = storageObject.detail.children[host];
226 if (!hostObject) { 223 if (!hostObject) {
227 hostObject = new cr.ui.TreeItem({ 224 hostObject =
228 label: host, 225 new cr.ui.TreeItem({label: host, detail: {payload: {}, children: {}}});
229 detail: {payload: {}, children: {}}
230 });
231 hostObject.mayHaveChildren_ = true; 226 hostObject.mayHaveChildren_ = true;
232 storageObject.detail.children[host] = hostObject; 227 storageObject.detail.children[host] = hostObject;
233 storageObject.add(hostObject); 228 storageObject.add(hostObject);
234 } 229 }
235 return hostObject; 230 return hostObject;
236 } 231 }
237 232
238 /** 233 /**
239 * Initialize and return a tree item, that represents specified 234 * Initialize and return a tree item, that represents specified
240 * storage type, hostname and origin url. 235 * storage type, hostname and origin url.
241 * @param {!string} type Storage type. 236 * @param {!string} type Storage type.
242 * @param {!string} host Hostname. 237 * @param {!string} host Hostname.
243 * @param {!string} origin Origin URL. 238 * @param {!string} origin Origin URL.
244 * @return {cr.ui.TreeItem} Initialized |originObject|. 239 * @return {cr.ui.TreeItem} Initialized |originObject|.
245 */ 240 */
246 function getOriginObject(type, host, origin) { 241 function getOriginObject(type, host, origin) {
247 var hostObject = getHostObject(type, host); 242 var hostObject = getHostObject(type, host);
248 var originObject = hostObject.detail.children[origin]; 243 var originObject = hostObject.detail.children[origin];
249 if (!originObject) { 244 if (!originObject) {
250 originObject = new cr.ui.TreeItem({ 245 originObject = new cr.ui.TreeItem(
251 label: origin, 246 {label: origin, detail: {payload: {}, children: {}}});
252 detail: {payload: {}, children: {}}
253 });
254 originObject.mayHaveChildren_ = false; 247 originObject.mayHaveChildren_ = false;
255 hostObject.detail.children[origin] = originObject; 248 hostObject.detail.children[origin] = originObject;
256 hostObject.add(originObject); 249 hostObject.add(originObject);
257 } 250 }
258 return originObject; 251 return originObject;
259 } 252 }
260 253
261 /** 254 /**
262 * Event Handler for |cr.quota.onAvailableSpaceUpdated|. 255 * Event Handler for |cr.quota.onAvailableSpaceUpdated|.
263 * |event.detail| contains |availableSpace|. 256 * |event.detail| contains |availableSpace|.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
296 * unlimitedUsage: {?number} 289 * unlimitedUsage: {?number}
297 * quota: {?string} 290 * quota: {?string}
298 * }} 291 * }}
299 */ 292 */
300 var data = event.detail; 293 var data = event.detail;
301 var storageObject = getStorageObject(data.type); 294 var storageObject = getStorageObject(data.type);
302 copyAttributes_(data, storageObject.detail.payload); 295 copyAttributes_(data, storageObject.detail.payload);
303 storageObject.reveal(); 296 storageObject.reveal();
304 if (getTreeViewObject().selectedItem == storageObject) 297 if (getTreeViewObject().selectedItem == storageObject)
305 updateDescription(); 298 updateDescription();
306
307 } 299 }
308 300
309 /** 301 /**
310 * Event Handler for |cr.quota.onPerHostInfoUpdated|. 302 * Event Handler for |cr.quota.onPerHostInfoUpdated|.
311 * |event.detail| contains records which have: 303 * |event.detail| contains records which have:
312 * |host|: 304 * |host|:
313 * Hostname of the entry. (e.g. 'example.com') 305 * Hostname of the entry. (e.g. 'example.com')
314 * |type|: 306 * |type|:
315 * Storage type. 'temporary' or 'persistent' 307 * Storage type. 'temporary' or 'persistent'
316 * |usage|: 308 * |usage|:
(...skipping 16 matching lines...) Expand all
333 */ 325 */
334 var dataArray = event.detail; 326 var dataArray = event.detail;
335 327
336 for (var i = 0; i < dataArray.length; ++i) { 328 for (var i = 0; i < dataArray.length; ++i) {
337 var data = dataArray[i]; 329 var data = dataArray[i];
338 var hostObject = getHostObject(data.type, data.host); 330 var hostObject = getHostObject(data.type, data.host);
339 copyAttributes_(data, hostObject.detail.payload); 331 copyAttributes_(data, hostObject.detail.payload);
340 hostObject.reveal(); 332 hostObject.reveal();
341 if (getTreeViewObject().selectedItem == hostObject) 333 if (getTreeViewObject().selectedItem == hostObject)
342 updateDescription(); 334 updateDescription();
343
344 } 335 }
345 } 336 }
346 337
347 /** 338 /**
348 * Event Handler for |cr.quota.onPerOriginInfoUpdated|. 339 * Event Handler for |cr.quota.onPerOriginInfoUpdated|.
349 * |event.detail| contains records which have: 340 * |event.detail| contains records which have:
350 * |origin|: 341 * |origin|:
351 * Origin URL of the entry. 342 * Origin URL of the entry.
352 * |type|: 343 * |type|:
353 * Storage type of the entry. 'temporary' or 'persistent'. 344 * Storage type of the entry. 'temporary' or 'persistent'.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 */ 394 */
404 var data = event.detail; 395 var data = event.detail;
405 for (var key in data) { 396 for (var key in data) {
406 var entry = statistics[key]; 397 var entry = statistics[key];
407 if (!entry) { 398 if (!entry) {
408 entry = cr.doc.createElement('tr'); 399 entry = cr.doc.createElement('tr');
409 $('stat-entries').appendChild(entry); 400 $('stat-entries').appendChild(entry);
410 statistics[key] = entry; 401 statistics[key] = entry;
411 } 402 }
412 entry.detail = data[key]; 403 entry.detail = data[key];
413 entry.innerHTML = 404 entry.innerHTML = '<td>' + stringToText_(key) + '</td>' +
414 '<td>' + stringToText_(key) + '</td>' +
415 '<td>' + stringToText_(entry.detail) + '</td>'; 405 '<td>' + stringToText_(entry.detail) + '</td>';
416 localize_(entry); 406 localize_(entry);
417 } 407 }
418 } 408 }
419 409
420 /** 410 /**
421 * Update description on 'tree-item-description' field with 411 * Update description on 'tree-item-description' field with
422 * selected item in tree view. 412 * selected item in tree view.
423 */ 413 */
424 function updateDescription() { 414 function updateDescription() {
425 var item = getTreeViewObject().selectedItem; 415 var item = getTreeViewObject().selectedItem;
426 var tbody = $('tree-item-description'); 416 var tbody = $('tree-item-description');
427 tbody.innerHTML = ''; 417 tbody.innerHTML = '';
428 418
429 if (item) { 419 if (item) {
430 var keyAndLabel = [['type', 'Storage Type'], 420 var keyAndLabel = [
431 ['host', 'Host Name'], 421 ['type', 'Storage Type'], ['host', 'Host Name'], ['origin', 'Origin URL'],
432 ['origin', 'Origin URL'], 422 ['usage', 'Total Storage Usage', numBytesToText_],
433 ['usage', 'Total Storage Usage', numBytesToText_], 423 ['unlimitedUsage', 'Usage of Unlimited Origins', numBytesToText_],
434 ['unlimitedUsage', 'Usage of Unlimited Origins', 424 ['quota', 'Quota', numBytesToText_], ['inUse', 'Origin is in use?'],
435 numBytesToText_], 425 ['usedCount', 'Used count'],
436 ['quota', 'Quota', numBytesToText_], 426 ['lastAccessTime', 'Last Access Time', dateToText],
437 ['inUse', 'Origin is in use?'], 427 ['lastModifiedTime', 'Last Modified Time', dateToText]
438 ['usedCount', 'Used count'], 428 ];
439 ['lastAccessTime', 'Last Access Time',
440 dateToText],
441 ['lastModifiedTime', 'Last Modified Time',
442 dateToText]
443 ];
444 for (var i = 0; i < keyAndLabel.length; ++i) { 429 for (var i = 0; i < keyAndLabel.length; ++i) {
445 var key = keyAndLabel[i][0]; 430 var key = keyAndLabel[i][0];
446 var label = keyAndLabel[i][1]; 431 var label = keyAndLabel[i][1];
447 var entry = item.detail.payload[key]; 432 var entry = item.detail.payload[key];
448 if (entry === undefined) 433 if (entry === undefined)
449 continue; 434 continue;
450 435
451 var normalize = keyAndLabel[i][2] || stringToText_; 436 var normalize = keyAndLabel[i][2] || stringToText_;
452 437
453 var row = cr.doc.createElement('tr'); 438 var row = cr.doc.createElement('tr');
454 row.innerHTML = 439 row.innerHTML = '<td>' + label + '</td>' +
455 '<td>' + label + '</td>' +
456 '<td>' + normalize(entry) + '</td>'; 440 '<td>' + normalize(entry) + '</td>';
457 localize_(row); 441 localize_(row);
458 tbody.appendChild(row); 442 tbody.appendChild(row);
459 } 443 }
460 } 444 }
461 } 445 }
462 446
463 /** 447 /**
464 * Dump |treeViewObject| or subtree to a object. 448 * Dump |treeViewObject| or subtree to a object.
465 * @param {?{cr.ui.Tree|cr.ui.TreeItem}} opt_treeitem 449 * @param {?{cr.ui.Tree|cr.ui.TreeItem}} opt_treeitem
(...skipping 28 matching lines...) Expand all
494 return result; 478 return result;
495 } 479 }
496 480
497 /** 481 /**
498 * Event handler for 'dump-button' 'click'ed. 482 * Event handler for 'dump-button' 'click'ed.
499 * Dump and show all data from WebUI page to 'dump-field' element. 483 * Dump and show all data from WebUI page to 'dump-field' element.
500 */ 484 */
501 function dump() { 485 function dump() {
502 var separator = '========\n'; 486 var separator = '========\n';
503 487
504 $('dump-field').textContent = 488 $('dump-field').textContent = separator + 'Summary\n' + separator +
505 separator +
506 'Summary\n' +
507 separator +
508 JSON.stringify({availableSpace: availableSpace}, null, 2) + '\n' + 489 JSON.stringify({availableSpace: availableSpace}, null, 2) + '\n' +
509 separator + 490 separator + 'Usage And Quota\n' + separator +
510 'Usage And Quota\n' + 491 JSON.stringify(dumpTreeToObj(), null, 2) + '\n' + separator +
511 separator + 492 'Misc Statistics\n' + separator +
512 JSON.stringify(dumpTreeToObj(), null, 2) + '\n' +
513 separator +
514 'Misc Statistics\n' +
515 separator +
516 JSON.stringify(dumpStatisticsToObj(), null, 2); 493 JSON.stringify(dumpStatisticsToObj(), null, 2);
517 } 494 }
518 495
519 function onLoad() { 496 function onLoad() {
520 cr.ui.decorate('tabbox', cr.ui.TabBox); 497 cr.ui.decorate('tabbox', cr.ui.TabBox);
521 498
522 cr.quota.onAvailableSpaceUpdated.addEventListener('update', 499 cr.quota.onAvailableSpaceUpdated.addEventListener(
523 handleAvailableSpace); 500 'update', handleAvailableSpace);
524 cr.quota.onGlobalInfoUpdated.addEventListener('update', handleGlobalInfo); 501 cr.quota.onGlobalInfoUpdated.addEventListener('update', handleGlobalInfo);
525 cr.quota.onPerHostInfoUpdated.addEventListener('update', handlePerHostInfo); 502 cr.quota.onPerHostInfoUpdated.addEventListener('update', handlePerHostInfo);
526 cr.quota.onPerOriginInfoUpdated.addEventListener('update', 503 cr.quota.onPerOriginInfoUpdated.addEventListener(
527 handlePerOriginInfo); 504 'update', handlePerOriginInfo);
528 cr.quota.onStatisticsUpdated.addEventListener('update', handleStatistics); 505 cr.quota.onStatisticsUpdated.addEventListener('update', handleStatistics);
529 cr.quota.requestInfo(); 506 cr.quota.requestInfo();
530 507
531 $('refresh-button').addEventListener('click', cr.quota.requestInfo, false); 508 $('refresh-button').addEventListener('click', cr.quota.requestInfo, false);
532 $('dump-button').addEventListener('click', dump, false); 509 $('dump-button').addEventListener('click', dump, false);
533 } 510 }
534 511
535 cr.doc.addEventListener('DOMContentLoaded', onLoad, false); 512 cr.doc.addEventListener('DOMContentLoaded', onLoad, false);
536 })(); 513 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698