summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prerender/prerender_local_predictor.cc
diff options
context:
space:
mode:
authortburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-07 22:08:58 +0000
committertburkard@chromium.org <tburkard@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-07 22:08:58 +0000
commitdc931aeb9cb53a29b41f3a347c47a22461d24c3f (patch)
tree1befca4e5ef4f5efbf20e4023ba628b289090796 /chrome/browser/prerender/prerender_local_predictor.cc
parentc87282692f04571330a9b06cccf8f22b52af8568 (diff)
downloadchromium_src-dc931aeb9cb53a29b41f3a347c47a22461d24c3f.zip
chromium_src-dc931aeb9cb53a29b41f3a347c47a22461d24c3f.tar.gz
chromium_src-dc931aeb9cb53a29b41f3a347c47a22461d24c3f.tar.bz2
Add events to categorize prerender URLs for the local predictor.
R=dominich, cbentzel Review URL: https://chromiumcodereview.appspot.com/10541062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141093 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_local_predictor.cc')
-rw-r--r--chrome/browser/prerender/prerender_local_predictor.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/chrome/browser/prerender/prerender_local_predictor.cc b/chrome/browser/prerender/prerender_local_predictor.cc
index 4e90bbd..5fee136 100644
--- a/chrome/browser/prerender/prerender_local_predictor.cc
+++ b/chrome/browser/prerender/prerender_local_predictor.cc
@@ -4,6 +4,7 @@
#include "chrome/browser/prerender/prerender_local_predictor.h"
+#include <algorithm>
#include <map>
#include <set>
@@ -118,6 +119,12 @@ base::Time GetCurrentTime() {
return base::Time::Now();
}
+bool StrCaseStr(std::string haystack, std::string needle) {
+ std::transform(haystack.begin(), haystack.end(), haystack.begin(), ::tolower);
+ std::transform(needle.begin(), needle.end(), needle.begin(), ::tolower);
+ return (haystack.find(needle)!=std::string::npos);
+}
+
} // namespace
struct PrerenderLocalPredictor::PrerenderData {
@@ -272,6 +279,19 @@ void PrerenderLocalPredictor::OnLookupURL(history::URLID url_id,
current_prerender_->url = url;
RecordEvent(EVENT_GOT_PRERENDER_URL);
}
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT);
+ if ((url.path() == "/" || url.path() == "") && (!url.has_query()))
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT_ROOT_PAGE);
+ if (url.SchemeIs("http"))
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT_IS_HTTP);
+ if (url.has_query())
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT_HAS_QUERY_STRING);
+ if (StrCaseStr(url.spec().c_str(), "logout") ||
+ StrCaseStr(url.spec().c_str(), "signout"))
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT_CONTAINS_LOGOUT);
+ if (StrCaseStr(url.spec().c_str(), "login") ||
+ StrCaseStr(url.spec().c_str(), "signin"))
+ RecordEvent(EVENT_PRERENDER_URL_LOOKUP_RESULT_CONTAINS_LOGIN);
}
void PrerenderLocalPredictor::OnGetInitialVisitHistory(