| OLD | NEW | 
|---|
| 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 cr.define('ntp4', function() { | 5 cr.define('ntp4', function() { | 
| 6   'use strict'; | 6   'use strict'; | 
| 7 | 7 | 
| 8   var localStrings = new LocalStrings; | 8   var localStrings = new LocalStrings; | 
| 9 | 9 | 
| 10   /** | 10   /** | 
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 52       title.textContent = this.data.title; | 52       title.textContent = this.data.title; | 
| 53 | 53 | 
| 54       if (this.data.url) { | 54       if (this.data.url) { | 
| 55         var button = this.querySelector('.button'); | 55         var button = this.querySelector('.button'); | 
| 56         button.href = title.href = this.data.url; | 56         button.href = title.href = this.data.url; | 
| 57       } | 57       } | 
| 58 | 58 | 
| 59       var faviconDiv = this.querySelector('.favicon'); | 59       var faviconDiv = this.querySelector('.favicon'); | 
| 60       var faviconUrl; | 60       var faviconUrl; | 
| 61       if (this.data.url) { | 61       if (this.data.url) { | 
| 62         faviconUrl = 'chrome://favicon/size/32/' + this.data.url; | 62         faviconUrl = 'chrome://favicon/size/16/' + this.data.url; | 
| 63         chrome.send('getFaviconDominantColor', | 63         chrome.send('getFaviconDominantColor', | 
| 64                     [faviconUrl, id, 'ntp4.setBookmarksFaviconDominantColor']); | 64                     [faviconUrl, id, 'ntp4.setBookmarksFaviconDominantColor']); | 
| 65       } else { | 65       } else { | 
| 66         // TODO(csilv): We need a large (32px) icon for this URL. |  | 
| 67         faviconUrl = 'chrome://theme/IDR_BOOKMARK_BAR_FOLDER'; | 66         faviconUrl = 'chrome://theme/IDR_BOOKMARK_BAR_FOLDER'; | 
| 68         // TODO(csilv): Should we vary this color by platform? | 67         // TODO(csilv): Should we vary this color by platform? | 
| 69         this.stripeColor = '#919191'; | 68         this.stripeColor = '#919191'; | 
| 70       } | 69       } | 
| 71       faviconDiv.style.backgroundImage = url(faviconUrl); | 70       faviconDiv.style.backgroundImage = url(faviconUrl); | 
| 72 | 71 | 
| 73       this.addEventListener('click', this.handleClick_.bind(this)); | 72       this.addEventListener('click', this.handleClick_.bind(this)); | 
| 74     }, | 73     }, | 
| 75 | 74 | 
| 76     /** | 75     /** | 
| 77      * Sets the color of the favicon dominant color bar. | 76      * Sets the color of the favicon dominant color bar. | 
| 78      * @param {string} color The css-parsable value for the color. | 77      * @param {string} color The css-parsable value for the color. | 
| 79      */ | 78      */ | 
| 80     set stripeColor(color) { | 79     set stripeColor(color) { | 
| 81       this.querySelector('.color-stripe').style.backgroundColor = color; | 80       this.querySelector('.color-stripe').style.backgroundColor = color; | 
| 82     }, | 81     }, | 
| 83 | 82 | 
| 84     /** | 83     /** | 
| 85      * Set the size and position of the bookmark tile. | 84      * Set the size and position of the bookmark tile. | 
| 86      * @param {number} size The total size of |this|. | 85      * @param {number} size The total size of |this|. | 
| 87      * @param {number} x The x-position. | 86      * @param {number} x The x-position. | 
| 88      * @param {number} y The y-position. | 87      * @param {number} y The y-position. | 
| 89      *     animate. | 88      *     animate. | 
| 90      */ | 89      */ | 
| 91     setBounds: function(size, x, y) { | 90     setBounds: function(size, x, y) { | 
| 92       this.style.width = this.style.height = size + 'px'; | 91       this.style.width = size + 'px'; | 
|  | 92       this.style.height = heightForWidth(size) + 'px'; | 
|  | 93 | 
| 93       this.style.left = x + 'px'; | 94       this.style.left = x + 'px'; | 
|  | 95       this.style.right = x + 'px'; | 
| 94       this.style.top = y + 'px'; | 96       this.style.top = y + 'px'; | 
| 95     }, | 97     }, | 
| 96 | 98 | 
| 97     /** | 99     /** | 
| 98      * Invoked when a bookmark is clicked | 100      * Invoked when a bookmark is clicked | 
| 99      * @param {Event} e The click event. | 101      * @param {Event} e The click event. | 
| 100      * @private | 102      * @private | 
| 101      */ | 103      */ | 
| 102     handleClick_: function(e) { | 104     handleClick_: function(e) { | 
| 103       if (e.target.classList.contains('close-button')) { | 105       if (e.target.classList.contains('close-button')) { | 
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 166     maxColCount: 6, | 168     maxColCount: 6, | 
| 167 | 169 | 
| 168     // The smallest a tile can be. | 170     // The smallest a tile can be. | 
| 169     minTileWidth: 150, | 171     minTileWidth: 150, | 
| 170     // The biggest a tile can be. | 172     // The biggest a tile can be. | 
| 171     maxTileWidth: 150, | 173     maxTileWidth: 150, | 
| 172   }; | 174   }; | 
| 173   TilePage.initGridValues(bookmarksPageGridValues); | 175   TilePage.initGridValues(bookmarksPageGridValues); | 
| 174 | 176 | 
| 175   /** | 177   /** | 
|  | 178    * Calculates the height for a bookmarks tile for a given width. The size | 
|  | 179    * is based on a desired size of 96x72 ratio. | 
|  | 180    * @return {number} The height. | 
|  | 181    */ | 
|  | 182   function heightForWidth(width) { | 
|  | 183     // The 2s are for borders, the 31 is for the title. | 
|  | 184     return (width - 2) * 72 / 96 + 2 + 31; | 
|  | 185   } | 
|  | 186 | 
|  | 187   /** | 
| 176    * Creates a new BookmarksPage object. | 188    * Creates a new BookmarksPage object. | 
| 177    * @constructor | 189    * @constructor | 
| 178    * @extends {TilePage} | 190    * @extends {TilePage} | 
| 179    */ | 191    */ | 
| 180   function BookmarksPage() { | 192   function BookmarksPage() { | 
| 181     var el = new TilePage(bookmarksPageGridValues); | 193     var el = new TilePage(bookmarksPageGridValues); | 
| 182     el.__proto__ = BookmarksPage.prototype; | 194     el.__proto__ = BookmarksPage.prototype; | 
| 183     el.initialize(); | 195     el.initialize(); | 
| 184 | 196 | 
| 185     return el; | 197     return el; | 
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 268         } | 280         } | 
| 269       } | 281       } | 
| 270       return false; | 282       return false; | 
| 271     }, | 283     }, | 
| 272 | 284 | 
| 273     /** @inheritDoc */ | 285     /** @inheritDoc */ | 
| 274     shouldAcceptDrag: function(dataTransfer) { | 286     shouldAcceptDrag: function(dataTransfer) { | 
| 275       return false; | 287       return false; | 
| 276     }, | 288     }, | 
| 277 | 289 | 
|  | 290     /** @inheritDoc */ | 
|  | 291     heightForWidth: heightForWidth, | 
|  | 292 | 
| 278     /** | 293     /** | 
| 279      * Invoked before a batch import begins.  We will ignore added/changed | 294      * Invoked before a batch import begins.  We will ignore added/changed | 
| 280      * notifications while the operation is in progress. | 295      * notifications while the operation is in progress. | 
| 281      */ | 296      */ | 
| 282     bookmarkImportBegan: function() { | 297     bookmarkImportBegan: function() { | 
| 283       this.importing = true; | 298       this.importing = true; | 
| 284     }, | 299     }, | 
| 285 | 300 | 
| 286     /** | 301     /** | 
| 287      * Invoked after a batch import finishes.  We will reload the bookmarks | 302      * Invoked after a batch import finishes.  We will reload the bookmarks | 
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 442   }; | 457   }; | 
| 443 | 458 | 
| 444   return { | 459   return { | 
| 445     BookmarksPage: BookmarksPage, | 460     BookmarksPage: BookmarksPage, | 
| 446     initBookmarkChevron: initBookmarkChevron, | 461     initBookmarkChevron: initBookmarkChevron, | 
| 447     setBookmarksFaviconDominantColor: setBookmarksFaviconDominantColor | 462     setBookmarksFaviconDominantColor: setBookmarksFaviconDominantColor | 
| 448   }; | 463   }; | 
| 449 }); | 464 }); | 
| 450 | 465 | 
| 451 window.addEventListener('load', ntp4.initBookmarkChevron); | 466 window.addEventListener('load', ntp4.initBookmarkChevron); | 
| OLD | NEW | 
|---|