| OLD | NEW | 
|    1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |    1 // Copyright (c) 2010 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 // Dependencies that we should remove/formalize: |    5 // Dependencies that we should remove/formalize: | 
|    6 // ../shared/js/class_list.js |    6 // ../shared/js/class_list.js | 
|    7 // util.js |    7 // util.js | 
|    8 // |    8 // | 
|    9 // afterTransition |    9 // afterTransition | 
|   10 // chrome.send |   10 // chrome.send | 
| (...skipping 23 matching lines...) Expand all  Loading... | 
|   34     } else { |   34     } else { | 
|   35       el.classList.remove('pinned'); |   35       el.classList.remove('pinned'); | 
|   36     } |   36     } | 
|   37   } |   37   } | 
|   38  |   38  | 
|   39   function getThumbnailIndex(el) { |   39   function getThumbnailIndex(el) { | 
|   40     var nodes = el.parentNode.querySelectorAll('.thumbnail-container'); |   40     var nodes = el.parentNode.querySelectorAll('.thumbnail-container'); | 
|   41     return Array.prototype.indexOf.call(nodes, el); |   41     return Array.prototype.indexOf.call(nodes, el); | 
|   42   } |   42   } | 
|   43  |   43  | 
|   44   function MostVisited(el, useSmallGrid, visible) { |   44   function MostVisited(el, miniview, useSmallGrid, visible) { | 
|   45     this.element = el; |   45     this.element = el; | 
 |   46     this.miniview = miniview; | 
|   46     this.useSmallGrid_ = useSmallGrid; |   47     this.useSmallGrid_ = useSmallGrid; | 
|   47     this.visible_ = visible; |   48     this.visible_ = visible; | 
|   48  |   49  | 
|   49     this.createThumbnails_(); |   50     this.createThumbnails_(); | 
|   50     this.applyMostVisitedRects_(); |   51     this.applyMostVisitedRects_(); | 
|   51  |   52  | 
|   52     el.addEventListener('click', bind(this.handleClick_, this)); |   53     el.addEventListener('click', bind(this.handleClick_, this)); | 
|   53     el.addEventListener('keydown', bind(this.handleKeyDown_, this)); |   54     el.addEventListener('keydown', bind(this.handleKeyDown_, this)); | 
|   54  |   55  | 
|   55     document.addEventListener('DOMContentLoaded', |   56     document.addEventListener('DOMContentLoaded', | 
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  494       var maxItems = 8; |  495       var maxItems = 8; | 
|  495       data.length = Math.min(maxItems, data.length); |  496       data.length = Math.min(maxItems, data.length); | 
|  496       var len = data.length; |  497       var len = data.length; | 
|  497       for (var i = len; i < maxItems; i++) { |  498       for (var i = len; i < maxItems; i++) { | 
|  498         data[i] = {filler: true}; |  499         data[i] = {filler: true}; | 
|  499       } |  500       } | 
|  500  |  501  | 
|  501       // On setting we need to update the items |  502       // On setting we need to update the items | 
|  502       this.data_ = data; |  503       this.data_ = data; | 
|  503       this.updateMostVisited_(); |  504       this.updateMostVisited_(); | 
 |  505       this.updateMiniview_(); | 
|  504     }, |  506     }, | 
|  505  |  507  | 
|  506     updateMostVisited_: function() { |  508     updateMostVisited_: function() { | 
|  507  |  509  | 
|  508       function getThumbnailClassName(item) { |  510       function getThumbnailClassName(item) { | 
|  509         return 'thumbnail-container' + |  511         return 'thumbnail-container' + | 
|  510             (item.pinned ? ' pinned' : '') + |  512             (item.pinned ? ' pinned' : '') + | 
|  511             (item.filler ? ' filler' : ''); |  513             (item.filler ? ' filler' : ''); | 
|  512       } |  514       } | 
|  513  |  515  | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  548         t.querySelector('.thumbnail-wrapper').style.backgroundImage = |  550         t.querySelector('.thumbnail-wrapper').style.backgroundImage = | 
|  549             url(thumbnailUrl); |  551             url(thumbnailUrl); | 
|  550         var titleDiv = t.querySelector('.title > div'); |  552         var titleDiv = t.querySelector('.title > div'); | 
|  551         titleDiv.xtitle = titleDiv.textContent = d.title; |  553         titleDiv.xtitle = titleDiv.textContent = d.title; | 
|  552         var faviconUrl = d.faviconUrl || 'chrome://favicon/' + d.url; |  554         var faviconUrl = d.faviconUrl || 'chrome://favicon/' + d.url; | 
|  553         titleDiv.style.backgroundImage = url(faviconUrl); |  555         titleDiv.style.backgroundImage = url(faviconUrl); | 
|  554         titleDiv.dir = d.direction; |  556         titleDiv.dir = d.direction; | 
|  555       } |  557       } | 
|  556     }, |  558     }, | 
|  557  |  559  | 
 |  560     updateMiniview_: function() { | 
 |  561       this.miniview.textContent = ''; | 
 |  562       var data = this.data.slice(0, MAX_MINIVIEW_ITEMS); | 
 |  563       for (var i = 0, item; item = data[i]; i++) { | 
 |  564         var span = document.createElement('span'); | 
 |  565         var a = span.appendChild(document.createElement('a')); | 
 |  566         a.href = item.url; | 
 |  567         a.textContent = item.title; | 
 |  568         a.style.backgroundImage = url('chrome://favicon/' + item.url); | 
 |  569         a.className = 'item'; | 
 |  570         this.miniview.appendChild(span); | 
 |  571       } | 
 |  572     }, | 
 |  573  | 
|  558     handleClick_: function(e) { |  574     handleClick_: function(e) { | 
|  559       var target = e.target; |  575       var target = e.target; | 
|  560       if (target.classList.contains('pin')) { |  576       if (target.classList.contains('pin')) { | 
|  561         this.togglePinned_(getItem(target)); |  577         this.togglePinned_(getItem(target)); | 
|  562         e.preventDefault(); |  578         e.preventDefault(); | 
|  563       } else if (target.classList.contains('remove')) { |  579       } else if (target.classList.contains('remove')) { | 
|  564         this.blacklist(getItem(target)); |  580         this.blacklist(getItem(target)); | 
|  565         e.preventDefault(); |  581         e.preventDefault(); | 
|  566       } else { |  582       } else { | 
|  567         var item = getItem(target); |  583         var item = getItem(target); | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
|  580     handleKeyDown_: function(e) { |  596     handleKeyDown_: function(e) { | 
|  581       if (!IS_MAC && e.keyCode == 46 || // Del |  597       if (!IS_MAC && e.keyCode == 46 || // Del | 
|  582           IS_MAC && e.metaKey && e.keyCode == 8) { // Cmd + Backspace |  598           IS_MAC && e.metaKey && e.keyCode == 8) { // Cmd + Backspace | 
|  583         this.blacklist(e.target); |  599         this.blacklist(e.target); | 
|  584       } |  600       } | 
|  585     } |  601     } | 
|  586   }; |  602   }; | 
|  587  |  603  | 
|  588   return MostVisited; |  604   return MostVisited; | 
|  589 })(); |  605 })(); | 
| OLD | NEW |