| OLD | NEW | 
|    1 // Copyright 2015 The Chromium Authors. All rights reserved. |    1 // Copyright 2015 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('downloads', function() { |    5 cr.define('downloads', function() { | 
|    6   /** |    6   /** | 
|    7    * Class to own and manage download items. |    7    * Class to own and manage download items. | 
|    8    * @constructor |    8    * @constructor | 
|    9    */ |    9    */ | 
|   10   function Manager() {} |   10   function Manager() {} | 
|   11  |   11  | 
|   12   cr.addSingletonGetter(Manager); |   12   cr.addSingletonGetter(Manager); | 
|   13  |   13  | 
|   14   Manager.prototype = { |   14   Manager.prototype = { | 
|   15     /** @private {string} */ |   15     /** @private {string} */ | 
|   16     searchText_: '', |   16     searchText_: '', | 
|   17  |   17  | 
|   18     /** |   18     /** | 
|   19      * Sets the search text, updates related UIs, and tells the browser. |   19      * Sets the search text, updates related UIs, and tells the browser. | 
|   20      * @param {string} searchText Text we're searching for. |   20      * @param {string} searchText Text we're searching for. | 
|   21      * @private |   21      * @private | 
|   22      */ |   22      */ | 
|   23     setSearchText_: function(searchText) { |   23     setSearchText_: function(searchText) { | 
|   24       this.searchText_ = searchText; |   24       this.searchText_ = searchText; | 
|   25  |   25  | 
|   26       $('downloads-summary-text').textContent = this.searchText_ ? |   26       $('downloads-summary-text').textContent = this.searchText_ ? | 
|   27           loadTimeData.getStringF('searchresultsfor', this.searchText_) : ''; |   27           loadTimeData.getStringF('searchResultsFor', this.searchText_) : ''; | 
|   28  |   28  | 
|   29       // Split quoted terms (e.g., 'The "lazy" dog' => ['The', 'lazy', 'dog']). |   29       // Split quoted terms (e.g., 'The "lazy" dog' => ['The', 'lazy', 'dog']). | 
|   30       function trim(s) { return s.trim(); } |   30       function trim(s) { return s.trim(); } | 
|   31       chrome.send('getDownloads', searchText.split(/"([^"]*)"/).map(trim)); |   31       chrome.send('getDownloads', searchText.split(/"([^"]*)"/).map(trim)); | 
|   32     }, |   32     }, | 
|   33  |   33  | 
|   34     /** |   34     /** | 
|   35      * @return {number} A guess at how many items could be visible at once. |   35      * @return {number} A guess at how many items could be visible at once. | 
|   36      * @private |   36      * @private | 
|   37      */ |   37      */ | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  100         for (var j = i + 1; !before && j < this.items_.length; ++j) { |  100         for (var j = i + 1; !before && j < this.items_.length; ++j) { | 
|  101           if (this.items_[j].parentNode) |  101           if (this.items_[j].parentNode) | 
|  102             before = this.items_[j]; |  102             before = this.items_[j]; | 
|  103         } |  103         } | 
|  104         // If |before| is null, |item| will just get added at the end. |  104         // If |before| is null, |item| will just get added at the end. | 
|  105         this.node_.insertBefore(item, before); |  105         this.node_.insertBefore(item, before); | 
|  106       } |  106       } | 
|  107  |  107  | 
|  108       var noDownloadsOrResults = $('no-downloads-or-results'); |  108       var noDownloadsOrResults = $('no-downloads-or-results'); | 
|  109       noDownloadsOrResults.textContent = loadTimeData.getString( |  109       noDownloadsOrResults.textContent = loadTimeData.getString( | 
|  110           this.searchText_ ? 'no_search_results' : 'no_downloads'); |  110           this.searchText_ ? 'noSearchResults' : 'noDownloads'); | 
|  111  |  111  | 
|  112       var hasDownloads = this.size_() > 0; |  112       var hasDownloads = this.size_() > 0; | 
|  113       this.node_.hidden = !hasDownloads; |  113       this.node_.hidden = !hasDownloads; | 
|  114       noDownloadsOrResults.hidden = hasDownloads; |  114       noDownloadsOrResults.hidden = hasDownloads; | 
|  115  |  115  | 
|  116       if (loadTimeData.getBoolean('allow_deleting_history')) |  116       if (loadTimeData.getBoolean('allowDeletingHistory')) | 
|  117         $('clear-all').hidden = !hasDownloads || this.searchText_.length > 0; |  117         $('clear-all').hidden = !hasDownloads || this.searchText_.length > 0; | 
|  118     }, |  118     }, | 
|  119  |  119  | 
|  120     /** |  120     /** | 
|  121      * @param {!downloads.Data} data |  121      * @param {!downloads.Data} data | 
|  122      * @private |  122      * @private | 
|  123      */ |  123      */ | 
|  124     updateItem_: function(data) { |  124     updateItem_: function(data) { | 
|  125       this.idMap_[data.id].update(data); |  125       this.idMap_[data.id].update(data); | 
|  126     }, |  126     }, | 
|  127  |  127  | 
|  128     /** |  128     /** | 
|  129      * @return {number} The number of downloads shown on the page. |  129      * @return {number} The number of downloads shown on the page. | 
|  130      * @private |  130      * @private | 
|  131      */ |  131      */ | 
|  132     size_: function() { |  132     size_: function() { | 
|  133       return this.items_.length; |  133       return this.items_.length; | 
|  134     }, |  134     }, | 
|  135  |  135  | 
|  136     /** @private */ |  136     /** @private */ | 
|  137     clearAll_: function() { |  137     clearAll_: function() { | 
|  138       if (loadTimeData.getBoolean('allow_deleting_history')) { |  138       if (loadTimeData.getBoolean('allowDeletingHistory')) { | 
|  139         chrome.send('clearAll'); |  139         chrome.send('clearAll'); | 
|  140         this.setSearchText_(''); |  140         this.setSearchText_(''); | 
|  141       } |  141       } | 
|  142     }, |  142     }, | 
|  143  |  143  | 
|  144     /** @private */ |  144     /** @private */ | 
|  145     onLoad_: function() { |  145     onLoad_: function() { | 
|  146       this.node_ = $('downloads-display'); |  146       this.node_ = $('downloads-display'); | 
|  147  |  147  | 
|  148       $('clear-all').onclick = function() { |  148       $('clear-all').onclick = function() { | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  225   }; |  225   }; | 
|  226  |  226  | 
|  227   Manager.size = function() { |  227   Manager.size = function() { | 
|  228     return Manager.getInstance().size_(); |  228     return Manager.getInstance().size_(); | 
|  229   }; |  229   }; | 
|  230  |  230  | 
|  231   return {Manager: Manager}; |  231   return {Manager: Manager}; | 
|  232 }); |  232 }); | 
|  233  |  233  | 
|  234 window.addEventListener('load', downloads.Manager.onLoad); |  234 window.addEventListener('load', downloads.Manager.onLoad); | 
| OLD | NEW |