Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 // Handle the bookmark bar and theme change requests from the C++ side. | 5 // Handle the bookmark bar and theme change requests from the C++ side. |
| 6 var ntp = { | 6 var ntp = { |
| 7 /** @param {string} attached */ | 7 /** @param {string} attached */ |
| 8 setBookmarkBarAttached: function(attached) { | 8 setBookmarkBarAttached: function(attached) { |
| 9 document.documentElement.setAttribute('bookmarkbarattached', attached); | 9 document.documentElement.setAttribute('bookmarkbarattached', attached); |
| 10 }, | 10 }, |
| 11 | 11 |
| 12 /** @param {!{hasCustomBackground: boolean}} themeData */ | 12 /** @param {!{hasCustomBackground: boolean}} themeData */ |
| 13 themeChanged: function(themeData) { | 13 themeChanged: function(themeData) { |
| 14 document.documentElement.setAttribute('hascustombackground', | 14 document.documentElement.setAttribute('hascustombackground', |
| 15 themeData.hasCustomBackground); | 15 themeData.hasCustomBackground); |
| 16 $('incognitothemecss').href = | 16 $('incognitothemecss').href = |
| 17 'chrome://theme/css/incognito_new_tab_theme.css?' + Date.now(); | 17 'chrome://theme/css/incognito_new_tab_theme.css?' + Date.now(); |
| 18 }, | 18 }, |
| 19 }; | 19 }; |
| 20 | 20 |
| 21 // Let the width of two lists of bulletpoints in a horizontal alignment | 21 // Let the width of two lists of bulletpoints in a horizontal alignment |
| 22 // determine the maximum content width. | 22 // determine the maximum content width. |
| 23 window.addEventListener('load', function() { | 23 window.addEventListener('load', function() { |
| 24 var bulletpoints = document.querySelectorAll('.bulletpoints'); | 24 var bulletpoints = document.querySelectorAll('.bulletpoints'); |
| 25 var content = document.querySelector('.content'); | 25 var content = document.querySelector('.content'); |
| 26 | 26 |
| 27 var maxWidth = (bulletpoints[0].offsetWidth + bulletpoints[1].offsetWidth + | 27 // Unless this is the first load of the Incognito NTP in this session and |
| 28 40 /* margin */ + 2 /* offsetWidths may be rounded down */); | 28 // with this font size, we already have the maximum content width determined. |
| 29 var fontSize = | |
| 30 window.getComputedStyle(document.body).getPropertyValue("font-size"); | |
|
Dan Beam
2017/05/19 01:09:32
don't really get why you prefer getPropertyValue('
msramek
2017/05/19 09:50:59
Fixed. Sorry, I missed that in your original comme
| |
| 31 var maxWidth = localStorage[fontSize] || | |
| 32 (bulletpoints[0].offsetWidth + bulletpoints[1].offsetWidth + | |
| 33 40 /* margin */ + 2 /* offsetWidths may be rounded down */); | |
| 34 | |
| 35 // Save the data for quicker access when the NTP is reloaded. Note that since | |
| 36 // we're in the Incognito mode, the local storage is ephemeral and the data | |
| 37 // will be discarded when the session ends. | |
| 38 localStorage[fontSize] = maxWidth; | |
|
msramek
2017/05/18 15:16:29
I fixed the ordering here. We want to save the res
| |
| 29 | 39 |
| 30 // Limit the maximum width to 600px. That might force the two lists | 40 // Limit the maximum width to 600px. That might force the two lists |
| 31 // of bulletpoints under each other, in which case we must swap the left | 41 // of bulletpoints under each other, in which case we must swap the left |
| 32 // and right margin. | 42 // and right margin. |
| 33 if (maxWidth > 600) { | 43 if (maxWidth > 600) { |
| 34 maxWidth = 600; | 44 maxWidth = 600; |
| 35 | 45 |
| 36 bulletpoints[1].classList.add('tooWide'); | 46 bulletpoints[1].classList.add('tooWide'); |
| 37 } | 47 } |
| 38 | 48 |
| 39 content.style.maxWidth = maxWidth + "px"; | 49 content.style.maxWidth = maxWidth + "px"; |
| 40 }); | 50 }); |
| OLD | NEW |