| Index: chrome/browser/resources/ntp4/new_tab.js
|
| diff --git a/chrome/browser/resources/ntp4/new_tab.js b/chrome/browser/resources/ntp4/new_tab.js
|
| index 678be69906002c8e89a2f31ec1e0c57d60e3d461..b127c69a3df63f43ef1c19d4ca471c052bc3ec23 100644
|
| --- a/chrome/browser/resources/ntp4/new_tab.js
|
| +++ b/chrome/browser/resources/ntp4/new_tab.js
|
| @@ -7,6 +7,15 @@
|
| * This is the main code for the new tab page used by touch-enabled Chrome
|
| * browsers. For now this is still a prototype.
|
| */
|
| +
|
| +/**
|
| + * @typedef {{direction: string,
|
| + * filler: (boolean|undefined),
|
| + * title: string,
|
| + * url: string}}
|
| + * @see chrome/browser/ui/webui/ntp/most_visited_handler.cc
|
| + */
|
| +var PageData;
|
|
|
| // Use an anonymous function to enable strict mode just for this file (which
|
| // will be concatenated with other files when embedded in Chrome
|
| @@ -111,6 +120,8 @@
|
| */
|
| function onLoad() {
|
| sectionsToWaitFor = 0;
|
| + if (loadTimeData.getBoolean('showMostvisited'))
|
| + sectionsToWaitFor++;
|
| if (loadTimeData.getBoolean('showApps')) {
|
| sectionsToWaitFor++;
|
| if (loadTimeData.getBoolean('showAppLauncherPromo')) {
|
| @@ -130,6 +141,18 @@
|
| notificationContainer = getRequiredElement('notification-container');
|
| notificationContainer.addEventListener(
|
| 'webkitTransitionEnd', onNotificationTransitionEnd);
|
| +
|
| + if (loadTimeData.getBoolean('showMostvisited')) {
|
| + var mostVisited = new ntp.MostVisitedPage();
|
| + // Move the footer into the most visited page if we are in "bare minimum"
|
| + // mode.
|
| + if (document.body.classList.contains('bare-minimum'))
|
| + mostVisited.appendFooter(getRequiredElement('footer'));
|
| + newTabView.appendTilePage(mostVisited,
|
| + loadTimeData.getString('mostvisited'),
|
| + false);
|
| + chrome.send('getMostVisited');
|
| + }
|
|
|
| if (!loadTimeData.getBoolean('showWebStoreIcon')) {
|
| var webStoreIcon = $('chrome-web-store-link');
|
| @@ -303,11 +326,14 @@
|
| * its length may be measured and the nav dots sized accordingly.
|
| */
|
| function measureNavDots() {
|
| + var pxWidth = measureNavDot('appDefaultPageName');
|
| + if (loadTimeData.getBoolean('showMostvisited'))
|
| + pxWidth = Math.max(measureNavDot('mostvisited'), pxWidth);
|
| +
|
| var styleElement = document.createElement('style');
|
| styleElement.type = 'text/css';
|
| // max-width is used because if we run out of space, the nav dots will be
|
| // shrunk.
|
| - var pxWidth = measureNavDot('appDefaultPageName');
|
| styleElement.textContent = '.dot { max-width: ' + pxWidth + 'px; }';
|
| document.querySelector('head').appendChild(styleElement);
|
| }
|
| @@ -481,6 +507,15 @@
|
| }
|
|
|
| /**
|
| + * @param {Array<PageData>} data
|
| + * @param {boolean} hasBlacklistedUrls
|
| + */
|
| + function setMostVisitedPages(data, hasBlacklistedUrls) {
|
| + newTabView.mostVisitedPage.data = data;
|
| + cr.dispatchSimpleEvent(document, 'sectionready', true, true);
|
| + }
|
| +
|
| + /**
|
| * Set the dominant color for a node. This will be called in response to
|
| * getFaviconDominantColor. The node represented by |id| better have a setter
|
| * for stripeColor.
|
| @@ -536,6 +571,16 @@
|
| var rect = e.currentTarget.getBoundingClientRect();
|
| chrome.send('showSyncLoginUI',
|
| [rect.left, rect.top, rect.width, rect.height]);
|
| + }
|
| +
|
| + /**
|
| + * Logs the time to click for the specified item.
|
| + * @param {string} item The item to log the time-to-click.
|
| + */
|
| + function logTimeToClick(item) {
|
| + var timeToClick = Date.now() - startTime;
|
| + chrome.send('logTimeToClick',
|
| + ['NewTabPage.TimeToClick' + item, timeToClick]);
|
| }
|
|
|
| /**
|
| @@ -661,10 +706,12 @@
|
| getCardSlider: getCardSlider,
|
| onLoad: onLoad,
|
| leaveRearrangeMode: leaveRearrangeMode,
|
| + logTimeToClick: logTimeToClick,
|
| NtpFollowAction: NtpFollowAction,
|
| saveAppPageName: saveAppPageName,
|
| setAppToBeHighlighted: setAppToBeHighlighted,
|
| setBookmarkBarAttached: setBookmarkBarAttached,
|
| + setMostVisitedPages: setMostVisitedPages,
|
| setFaviconDominantColor: setFaviconDominantColor,
|
| showNotification: showNotification,
|
| themeChanged: themeChanged,
|
|
|