 Chromium Code Reviews
 Chromium Code Reviews Issue 10182006:
  Adds the MostVisitedAction stat. This stat will provide a baseline to compare  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/
    
  
    Issue 10182006:
  Adds the MostVisitedAction stat. This stat will provide a baseline to compare  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src/| Index: chrome/browser/resources/ntp4/most_visited_page.js | 
| =================================================================== | 
| --- chrome/browser/resources/ntp4/most_visited_page.js (revision 134118) | 
| +++ 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', | 
| + [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', | 
| + [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) { | 
| 
Evan Stade
2012/04/26 21:13:05
merge the two if conditions into one if
 
macourteau
2012/04/26 21:51:33
Done.
 | 
| + if (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); |