 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 133667) | 
| +++ chrome/browser/resources/ntp4/most_visited_page.js (working copy) | 
| @@ -8,6 +8,16 @@ | 
| var TilePage = ntp.TilePage; | 
| /** | 
| + * See description for these values in ntp_stats.h. | 
| + * @enum {number} | 
| + */ | 
| + var NtpFollowAction = { | 
| 
Evan Stade
2012/04/24 20:29:44
this doesn't need to be defined twice, put it in n
 
macourteau
2012/04/26 19:10:14
Done.
 | 
| + CLICKED_TILE: 11, | 
| + CLICKED_OTHER_NTP_PANE: 12, | 
| + OTHER: 13 | 
| + }; | 
| + | 
| + /** | 
| * A counter for generating unique tile IDs. | 
| */ | 
| var tileID = 0; | 
| @@ -141,6 +151,8 @@ | 
| // Records the index of this tile. | 
| chrome.send('metricsHandler:recordInHistogram', | 
| ['NewTabPage.MostVisited', this.index, 8]); | 
| + chrome.send('mostVisitedAction', | 
| + [NtpFollowAction.CLICKED_TILE]); | 
| } | 
| }, | 
| @@ -289,6 +301,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 +332,29 @@ | 
| }, | 
| /** | 
| + * 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 +386,19 @@ | 
| }; | 
| /** | 
| + * Executed once the NTP has loaded. Checks if the Most Visited pane is | 
| + * shown or not. | 
| + */ | 
| + MostVisitedPage.onLoaded = function() { | 
| + if (ntp.getCardSlider() && ntp.getCardSlider().currentCardValue) { | 
| + 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 +475,5 @@ | 
| refreshData: refreshData, | 
| }; | 
| }); | 
| + | 
| +document.addEventListener('ntploaded', ntp.MostVisitedPage.onLoaded); |