OLD | NEW |
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 Loading... |
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 Loading... |
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 = Object.keys(originDict).map(function(origin) { |
| 101 return { |
| 102 origin: origin, |
| 103 usage: originDict[origin].usage, |
| 104 usageString: originDict[origin].usageString |
| 105 }; |
| 106 }); |
| 107 origins.sort(function(first, second) { |
| 108 return second.usage - first.usage; |
| 109 }); |
| 110 this.originList_.dataModel = new ArrayDataModel(origins); |
| 111 }, |
| 112 |
| 113 /** |
93 * Handle and delay search query changes. | 114 * Handle and delay search query changes. |
94 * @param {!Event} e The event object. | 115 * @param {!Event} e The event object. |
95 * @private | 116 * @private |
96 */ | 117 */ |
97 handleSearchQueryChange_: function() { | 118 handleSearchQueryChange_: function() { |
98 if (this.queryDelayTimerId_) | 119 if (this.queryDelayTimerId_) |
99 window.clearTimeout(this.queryDelayTimerId_); | 120 window.clearTimeout(this.queryDelayTimerId_); |
100 | 121 |
101 this.queryDelayTimerId_ = window.setTimeout(this.searchOrigins.bind(this), | 122 this.queryDelayTimerId_ = window.setTimeout(this.searchOrigins.bind(this), |
102 160); | 123 160); |
103 }, | 124 }, |
104 }; | 125 }; |
105 | 126 |
106 WebsiteSettingsManager.populateOrigins = function(originDict) { | 127 WebsiteSettingsManager.populateOrigins = function(originDict) { |
107 WebsiteSettingsManager.getInstance().populateOrigins_(originDict); | 128 WebsiteSettingsManager.getInstance().populateOrigins_(originDict); |
108 }; | 129 }; |
109 | 130 |
| 131 WebsiteSettingsManager.populateLocalStorage = function(originDict) { |
| 132 WebsiteSettingsManager.getInstance().populateLocalStorage_(originDict); |
| 133 }; |
| 134 |
110 // Export | 135 // Export |
111 return { | 136 return { |
112 WebsiteSettingsManager: WebsiteSettingsManager | 137 WebsiteSettingsManager: WebsiteSettingsManager |
113 }; | 138 }; |
114 }); | 139 }); |
OLD | NEW |