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

Side by Side Diff: chrome/browser/resources/options/website_settings.js

Issue 408493003: Show local storage usage on the Website Settings options page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add caching. Created 6 years, 5 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 cr.define('options', function() { 5 cr.define('options', function() {
6 /** @const */ var OptionsPage = options.OptionsPage; 6 /** @const */ var OptionsPage = options.OptionsPage;
7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; 7 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
8 8
9 ///////////////////////////////////////////////////////////////////////////// 9 /////////////////////////////////////////////////////////////////////////////
10 // WebsiteSettingsManager class: 10 // WebsiteSettingsManager class:
(...skipping 23 matching lines...) Expand all
34 /** @override */ 34 /** @override */
35 initializePage: function() { 35 initializePage: function() {
36 OptionsPage.prototype.initializePage.call(this); 36 OptionsPage.prototype.initializePage.call(this);
37 37
38 $('website-settings-overlay-confirm').onclick = 38 $('website-settings-overlay-confirm').onclick =
39 OptionsPage.closeOverlay.bind(OptionsPage); 39 OptionsPage.closeOverlay.bind(OptionsPage);
40 40
41 $('resourceType').onchange = function() { 41 $('resourceType').onchange = function() {
42 var target = event.target; 42 var target = event.target;
43 assert(target.tagName == 'SELECT'); 43 assert(target.tagName == 'SELECT');
44 chrome.send('updateOrigins', [target.value]); 44 if (target.value == 'storage')
45 chrome.send('updateLocalStorage');
46 else
47 chrome.send('updateOrigins', [target.value]);
45 }; 48 };
46 49
47 var searchBox = $('website-settings-search-box'); 50 var searchBox = $('website-settings-search-box');
48 searchBox.addEventListener('search', 51 searchBox.addEventListener('search',
49 this.handleSearchQueryChange_.bind(this)); 52 this.handleSearchQueryChange_.bind(this));
50 53
51 searchBox.onkeydown = function(e) { 54 searchBox.onkeydown = function(e) {
52 if (e.keyIdentifier == 'Enter') 55 if (e.keyIdentifier == 'Enter')
53 e.preventDefault(); 56 e.preventDefault();
54 }; 57 };
(...skipping 28 matching lines...) Expand all
83 * box. 86 * box.
84 * @private 87 * @private
85 */ 88 */
86 searchOrigins: function() { 89 searchOrigins: function() {
87 var filter = 90 var filter =
88 $('website-settings-search-box').value; 91 $('website-settings-search-box').value;
89 chrome.send('updateOriginsSearchResults', [filter]); 92 chrome.send('updateOriginsSearchResults', [filter]);
90 }, 93 },
91 94
92 /** 95 /**
96 * Populates the origin list with all origins that are using local storage.
97 * @private
98 */
99 populateLocalStorage_: function(originDict) {
100 var origins = [];
101 Object.keys(originDict).map(function(origin) {
Bernhard Bauer 2014/07/22 08:51:47 map() will return a list containing the return val
Daniel Nishi 2014/07/22 22:30:56 Whoops. Now using map() to assign directly.
102 origins.push({origin: origin,
103 usage: originDict[origin].usage,
104 usage_string: originDict[origin].usageString});
Bernhard Bauer 2014/07/22 08:51:47 Make this usageString as well.
Daniel Nishi 2014/07/22 22:30:56 Done and fixed other locations as well.
105 });
106 origins.sort(function(first, second) {
107 return second.usage - first.usage;
108 });
109 this.originList_.dataModel = new ArrayDataModel(origins);
110 },
111
112 /**
93 * Handle and delay search query changes. 113 * Handle and delay search query changes.
94 * @param {!Event} e The event object. 114 * @param {!Event} e The event object.
95 * @private 115 * @private
96 */ 116 */
97 handleSearchQueryChange_: function() { 117 handleSearchQueryChange_: function() {
98 if (this.queryDelayTimerId_) 118 if (this.queryDelayTimerId_)
99 window.clearTimeout(this.queryDelayTimerId_); 119 window.clearTimeout(this.queryDelayTimerId_);
100 120
101 this.queryDelayTimerId_ = window.setTimeout(this.searchOrigins.bind(this), 121 this.queryDelayTimerId_ = window.setTimeout(this.searchOrigins.bind(this),
102 160); 122 160);
103 }, 123 },
104 }; 124 };
105 125
106 WebsiteSettingsManager.populateOrigins = function(originDict) { 126 WebsiteSettingsManager.populateOrigins = function(originDict) {
107 WebsiteSettingsManager.getInstance().populateOrigins_(originDict); 127 WebsiteSettingsManager.getInstance().populateOrigins_(originDict);
108 }; 128 };
109 129
130 WebsiteSettingsManager.populateLocalStorage = function(originDict) {
131 WebsiteSettingsManager.getInstance().populateLocalStorage_(originDict);
132 };
133
110 // Export 134 // Export
111 return { 135 return {
112 WebsiteSettingsManager: WebsiteSettingsManager 136 WebsiteSettingsManager: WebsiteSettingsManager
113 }; 137 };
114 }); 138 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698