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

Unified Diff: chrome/browser/resources/local_ntp/most_visited_util.js

Issue 111423005: [Most Visited] Log suggestion provider to UMA (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clean Created 7 years 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
Index: chrome/browser/resources/local_ntp/most_visited_util.js
diff --git a/chrome/browser/resources/local_ntp/most_visited_util.js b/chrome/browser/resources/local_ntp/most_visited_util.js
index bd389ae09a9d1efd6521e674bd65aa78c5931bfb..993b67efeed9d95c9769850098d0ed596407a3f4 100644
--- a/chrome/browser/resources/local_ntp/most_visited_util.js
+++ b/chrome/browser/resources/local_ntp/most_visited_util.js
@@ -36,6 +36,12 @@ var NTP_LOGGING_EVENT_TYPE = {
NTP_EXTERNAL_TILE: 7
};
+/** @type {string} Indicating the suggestion came from the server. */
+var SERVER_PROVIDER = 'server';
+
+/** @type {string} Indicating the suggestions came from the client. */
+var CLIENT_PROVIDER = 'client';
+
/**
* Parses query parameters from Location.
* @param {string} location The URL to generate the CSS url for.
@@ -70,9 +76,12 @@ function parseQueryParams(location) {
* @param {string|undefined} ping If specified, a location relative to the
* referrer of this iframe, to ping when the link is clicked. Only works if
* the referrer is HTTPS.
+ * @param {string|undefined} provider A provider name (max 8 alphanumeric
+ * characters) used for logging. Undefined if suggestion is not coming from
+ * the server.
* @return {HTMLAnchorElement} A new link element.
*/
-function createMostVisitedLink(params, href, title, text, ping) {
+function createMostVisitedLink(params, href, title, text, ping, provider) {
var styles = getMostVisitedStyles(params, !!text);
var link = document.createElement('a');
link.style.color = styles.color;
@@ -82,6 +91,8 @@ function createMostVisitedLink(params, href, title, text, ping) {
link.href = href;
if ('pos' in params && isFinite(params.pos)) {
link.ping = '/log.html?pos=' + params.pos;
+ if (provider)
+ link.ping += '&pr=' + provider;
// If a ping parameter was specified, add it to the list of pings, relative
// to the referrer of this iframe, which is the default search provider.
if (ping) {
@@ -162,6 +173,7 @@ function fillMostVisited(location, fill) {
data.direction = params.di || '';
data.domain = params.dom || '';
data.ping = params.ping || '';
+ data.provider = params.pr || SERVER_PROVIDER;
// Log the fact that suggestion was obtained from the server.
var ntpApiHandle = chrome.embeddedSearch.newTabPage;
ntpApiHandle.logEvent(NTP_LOGGING_EVENT_TYPE.NTP_SERVER_SIDE_SUGGESTION);
@@ -170,11 +182,13 @@ function fillMostVisited(location, fill) {
data = apiHandle.getMostVisitedItemData(params.rid);
if (!data)
return;
+ data.provider = CLIENT_PROVIDER;
delete data.ping;
}
if (/^javascript:/i.test(data.url) ||
/^javascript:/i.test(data.thumbnailUrl) ||
- /^javascript:/i.test(data.thumbnailUrl2))
+ /^javascript:/i.test(data.thumbnailUrl2) ||
+ !/^[a-z0-9]{0,8}$/i.test(data.provider))
return;
if (data.direction)
document.body.dir = data.direction;

Powered by Google App Engine
This is Rietveld 408576698