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

Unified Diff: chrome/renderer/searchbox/searchbox_extension.cc

Issue 17526008: Log NTP hovers in 1993 clients (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed newline Created 7 years, 6 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
Index: chrome/renderer/searchbox/searchbox_extension.cc
diff --git a/chrome/renderer/searchbox/searchbox_extension.cc b/chrome/renderer/searchbox/searchbox_extension.cc
index 4b3043a185357058b25049ec770f7fffc355339d..1066f8d010106c97bb616101d40d7bf82ef15f74 100644
--- a/chrome/renderer/searchbox/searchbox_extension.cc
+++ b/chrome/renderer/searchbox/searchbox_extension.cc
@@ -5,6 +5,7 @@
#include "chrome/renderer/searchbox/searchbox_extension.h"
#include "base/i18n/rtl.h"
+#include "base/metrics/histogram.h"
#include "base/strings/string_number_conversions.h"
#include "base/strings/string_util.h"
#include "base/strings/stringprintf.h"
@@ -647,6 +648,9 @@ class SearchBoxExtensionWrapper : public v8::Extension {
static void GetMostVisitedItemData(
const v8::FunctionCallbackInfo<v8::Value>& args);
+ // Logs information from the iframes on the NTP.
+ static void LogEvent(const v8::FunctionCallbackInfo<v8::Value>& args);
+
// Gets whether the omnibox has focus or not.
static void IsFocused(const v8::FunctionCallbackInfo<v8::Value>& args);
@@ -739,6 +743,8 @@ v8::Handle<v8::FunctionTemplate> SearchBoxExtensionWrapper::GetNativeFunction(
return v8::FunctionTemplate::New(GetSuggestionData);
if (name->Equals(v8::String::New("GetMostVisitedItemData")))
return v8::FunctionTemplate::New(GetMostVisitedItemData);
+ if (name->Equals(v8::String::New("LogEvent")))
+ return v8::FunctionTemplate::New(LogEvent);
if (name->Equals(v8::String::New("IsFocused")))
return v8::FunctionTemplate::New(IsFocused);
if (name->Equals(v8::String::New("IsInputInProgress")))
@@ -1458,6 +1464,32 @@ void SearchBoxExtensionWrapper::GetMostVisitedItemData(
}
// static
+void SearchBoxExtensionWrapper::LogEvent(
+ const v8::FunctionCallbackInfo<v8::Value>& args) {
+ content::RenderView* render_view = GetRenderViewWithCheckedOrigin(
+ GURL(chrome::kChromeSearchMostVisitedUrl));
+ if (!render_view) return;
+
+ if (args.Length() < 2 || !args[0]->IsString() || !args[1]->IsNumber())
+ return;
+
+ DVLOG(1) << render_view << " LogEvent";
+
+ std::string histogram_name = *v8::String::Utf8Value(args[0]->ToString());
+ int value = args[1]->IntegerValue();
+
+ if (histogram_name == "NewTabPage.NumberOfMouseOvers") {
+ SearchBox::Get(render_view)->LogIframeHover();
+ return;
+ }
+
+ if (!args[2]->IsNull() && args[2]->IsNumber()) {
+ int boundary = args[2]->IntegerValue();
+ UMA_HISTOGRAM_ENUMERATION(histogram_name, value, boundary);
Alexei Svitkine (slow) 2013/06/25 17:21:20 Don't use the macro if histogram_name can be diffe
annark1 2013/06/25 21:04:11 Done.
+ }
+}
+
+// static
void SearchBoxExtensionWrapper::IsFocused(
const v8::FunctionCallbackInfo<v8::Value>& args) {
content::RenderView* render_view = GetRenderView();

Powered by Google App Engine
This is Rietveld 408576698