| Index: chrome/browser/resources/ntp4/most_visited_page.js
|
| ===================================================================
|
| --- chrome/browser/resources/ntp4/most_visited_page.js (revision 134120)
|
| +++ chrome/browser/resources/ntp4/most_visited_page.js (working copy)
|
| @@ -141,6 +141,8 @@
|
| // Records the index of this tile.
|
| chrome.send('metricsHandler:recordInHistogram',
|
| ['NewTabPage.MostVisited', this.index, 8]);
|
| + chrome.send('mostVisitedAction',
|
| + [ntp.NtpFollowAction.CLICKED_TILE]);
|
| }
|
| },
|
|
|
| @@ -289,6 +291,9 @@
|
| this.classList.add('most-visited-page');
|
| this.data_ = null;
|
| this.mostVisitedTiles_ = this.getElementsByClassName('most-visited real');
|
| +
|
| + this.addEventListener('carddeselected', this.handleCardDeselected_);
|
| + this.addEventListener('cardselected', this.handleCardSelected_);
|
| },
|
|
|
| /**
|
| @@ -317,6 +322,28 @@
|
| },
|
|
|
| /**
|
| + * Handles the 'card deselected' event (i.e. the user clicked to another
|
| + * pane).
|
| + * @param {Event} e The CardChanged event.
|
| + */
|
| + handleCardDeselected_: function(e) {
|
| + if (!document.documentElement.classList.contains('starting-up')) {
|
| + chrome.send('mostVisitedAction',
|
| + [ntp.NtpFollowAction.CLICKED_OTHER_NTP_PANE]);
|
| + }
|
| + },
|
| +
|
| + /**
|
| + * Handles the 'card selected' event (i.e. the user clicked to select the
|
| + * Most Visited pane).
|
| + * @param {Event} e The CardChanged event.
|
| + */
|
| + handleCardSelected_: function(e) {
|
| + if (!document.documentElement.classList.contains('starting-up'))
|
| + chrome.send('mostVisitedSelected');
|
| + },
|
| +
|
| + /**
|
| * Array of most visited data objects.
|
| * @type {Array}
|
| */
|
| @@ -348,6 +375,20 @@
|
| };
|
|
|
| /**
|
| + * Executed once the NTP has loaded. Checks if the Most Visited pane is
|
| + * shown or not. If it is shown, the 'mostVisitedSelected' message is sent
|
| + * to the C++ code, to record the fact that the user has seen this pane.
|
| + */
|
| + MostVisitedPage.onLoaded = function() {
|
| + if (ntp.getCardSlider() &&
|
| + ntp.getCardSlider().currentCardValue &&
|
| + ntp.getCardSlider().currentCardValue.classList
|
| + .contains('most-visited-page')) {
|
| + chrome.send('mostVisitedSelected');
|
| + }
|
| + }
|
| +
|
| + /**
|
| * We've gotten additional Most Visited data. Update our old data with the
|
| * new data. The ordering of the new data is not important, except when a
|
| * page is pinned. Thus we try to minimize re-ordering.
|
| @@ -424,3 +465,5 @@
|
| refreshData: refreshData,
|
| };
|
| });
|
| +
|
| +document.addEventListener('ntpLoaded', ntp.MostVisitedPage.onLoaded);
|
|
|