Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2059)

Unified Diff: chrome/browser/resources/ntp4/most_visited_page.js

Issue 10182006: Adds the MostVisitedAction stat. This stat will provide a baseline to compare (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Sync'ed. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/resources/ntp4/new_tab.js » ('j') | chrome/browser/ui/webui/ntp/ntp_stats.h » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « no previous file | chrome/browser/resources/ntp4/new_tab.js » ('j') | chrome/browser/ui/webui/ntp/ntp_stats.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698