| Index: chrome/browser/resources/new_new_tab.js
|
| ===================================================================
|
| --- chrome/browser/resources/new_new_tab.js (revision 30053)
|
| +++ chrome/browser/resources/new_new_tab.js (working copy)
|
| @@ -8,7 +8,10 @@
|
| }
|
|
|
| function addClass(el, name) {
|
| - el.className += ' ' + name;
|
| + var names = el.className.split(/\s+/);
|
| + if (names.indexOf(name) == -1) {
|
| + el.className += ' ' + name;
|
| + }
|
| }
|
|
|
| function removeClass(el, name) {
|
| @@ -297,17 +300,27 @@
|
| if (section == Section.THUMB) {
|
| // hide LIST
|
| shownSections &= ~Section.LIST;
|
| - mostVisited.invalidate();
|
| } else if (section == Section.LIST) {
|
| // hide THUMB
|
| shownSections &= ~Section.THUMB;
|
| - mostVisited.invalidate();
|
| - } else {
|
| - renderRecentlyClosed();
|
| }
|
| -
|
| - mostVisited.updateDisplayMode();
|
| - mostVisited.layout();
|
| + switch (section) {
|
| + case Section.THUMB:
|
| + case Section.LIST:
|
| + mostVisited.invalidate();
|
| + mostVisited.updateDisplayMode();
|
| + mostVisited.layout();
|
| + break;
|
| + case Section.RECENT:
|
| + renderRecentlyClosed();
|
| + break;
|
| + case Section.TIPS:
|
| + $('tip-line').style.display = '';
|
| + break;
|
| + case Section.SYNC:
|
| + $('sync-status').style.display = '';
|
| + break;
|
| + }
|
| }
|
| }
|
|
|
| @@ -315,16 +328,23 @@
|
| if (section & shownSections) {
|
| shownSections &= ~section;
|
|
|
| - if (section & Section.THUMB || section & Section.LIST) {
|
| - mostVisited.invalidate();
|
| + switch (section) {
|
| + case Section.THUMB:
|
| + case Section.LIST:
|
| + mostVisited.invalidate();
|
| + mostVisited.updateDisplayMode();
|
| + mostVisited.layout();
|
| + break;
|
| + case Section.RECENT:
|
| + renderRecentlyClosed();
|
| + break;
|
| + case Section.TIPS:
|
| + $('tip-line').style.display = 'none';
|
| + break;
|
| + case Section.SYNC:
|
| + $('sync-status').style.display = 'none';
|
| + break;
|
| }
|
| -
|
| - if (section & Section.RECENT) {
|
| - renderRecentlyClosed();
|
| - }
|
| -
|
| - mostVisited.updateDisplayMode();
|
| - mostVisited.layout();
|
| }
|
| }
|
|
|
| @@ -545,15 +565,12 @@
|
| // Recently closed
|
|
|
| function layoutRecentlyClosed() {
|
| - var recentElement = $('recently-closed');
|
| var recentShown = shownSections & Section.RECENT;
|
| - var style = recentElement.style;
|
| + updateSimpleSection('recently-closed', Section.RECENT);
|
|
|
| - if (!recentShown) {
|
| - addClass(recentElement, 'collapsed');
|
| - } else {
|
| - removeClass(recentElement, 'collapsed');
|
| -
|
| + if (recentShown) {
|
| + var recentElement = $('recently-closed');
|
| + var style = recentElement.style;
|
| // We cannot use clientWidth here since the width has a transition.
|
| var spacing = 20;
|
| var headerEl = recentElement.firstElementChild;
|
| @@ -602,9 +619,10 @@
|
| function syncMessageChanged(newMessage) {
|
| var syncStatusElement = $('sync-status');
|
| var style = syncStatusElement.style;
|
| + $('sync-menu-item').style.display = 'block';
|
|
|
| // Hide the section if the message is emtpy.
|
| - if (!newMessage.syncsectionisvisible) {
|
| + if (!newMessage['syncsectionisvisible'] || !(shownSections & Section.SYNC)) {
|
| style.display = 'none';
|
| return;
|
| }
|
|
|