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

Unified Diff: chrome/browser/rlz/rlz.cc

Issue 220193005: Add RLZ Access points for the app launcher. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 6 years, 9 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 | « chrome/browser/rlz/rlz.h ('k') | chrome/browser/rlz/rlz_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/rlz/rlz.cc
diff --git a/chrome/browser/rlz/rlz.cc b/chrome/browser/rlz/rlz.cc
index 00882db390e3116f0c86278a0024914dac0780fb..826f1a568971bb207b0659c461b3c09bccf87434 100644
--- a/chrome/browser/rlz/rlz.cc
+++ b/chrome/browser/rlz/rlz.cc
@@ -73,7 +73,8 @@ void RecordProductEvents(bool first_run,
bool is_google_in_startpages,
bool already_ran,
bool omnibox_used,
- bool homepage_used) {
+ bool homepage_used,
+ bool app_list_used) {
TRACE_EVENT0("RLZ", "RecordProductEvents");
// Record the installation of chrome. We call this all the time but the rlz
// lib should ignore all but the first one.
@@ -83,6 +84,11 @@ void RecordProductEvents(bool first_run,
rlz_lib::RecordProductEvent(rlz_lib::CHROME,
RLZTracker::CHROME_HOME_PAGE,
rlz_lib::INSTALL);
+#if !defined(OS_IOS)
+ rlz_lib::RecordProductEvent(rlz_lib::CHROME,
+ RLZTracker::CHROME_APP_LIST,
+ rlz_lib::INSTALL);
+#endif
if (!already_ran) {
// Do the initial event recording if is the first run or if we have an
@@ -112,6 +118,21 @@ void RecordProductEvents(bool first_run,
RLZTracker::CHROME_HOME_PAGE,
rlz_lib::SET_TO_GOOGLE);
}
+
+#if !defined(OS_IOS)
+ char app_list_rlz[rlz_lib::kMaxRlzLength + 1];
+ if (!rlz_lib::GetAccessPointRlz(RLZTracker::CHROME_APP_LIST, app_list_rlz,
+ rlz_lib::kMaxRlzLength)) {
+ app_list_rlz[0] = 0;
+ }
+
+ // Record if google is the initial search provider and/or home page.
+ if ((first_run || app_list_rlz[0] == 0) && is_google_default_search) {
+ rlz_lib::RecordProductEvent(rlz_lib::CHROME,
+ RLZTracker::CHROME_APP_LIST,
+ rlz_lib::SET_TO_GOOGLE);
+ }
+#endif
}
// Record first user interaction with the omnibox. We call this all the
@@ -129,6 +150,16 @@ void RecordProductEvents(bool first_run,
RLZTracker::CHROME_HOME_PAGE,
rlz_lib::FIRST_SEARCH);
}
+
+#if !defined(OS_IOS)
+ // Record first user interaction with the app list. We call this all the
+ // time but the rlz lib should ingore all but the first one.
+ if (app_list_used) {
+ rlz_lib::RecordProductEvent(rlz_lib::CHROME,
+ RLZTracker::CHROME_APP_LIST,
+ rlz_lib::FIRST_SEARCH);
+ }
+#endif
}
bool SendFinancialPing(const std::string& brand,
@@ -136,6 +167,9 @@ bool SendFinancialPing(const std::string& brand,
const base::string16& referral) {
rlz_lib::AccessPoint points[] = {RLZTracker::CHROME_OMNIBOX,
RLZTracker::CHROME_HOME_PAGE,
+#if !defined(OS_IOS)
+ RLZTracker::CHROME_APP_LIST,
+#endif
rlz_lib::NO_ACCESS_POINT};
std::string lang_ascii(base::UTF16ToASCII(lang));
std::string referral_ascii(base::UTF16ToASCII(referral));
@@ -160,6 +194,9 @@ const rlz_lib::AccessPoint RLZTracker::CHROME_OMNIBOX =
// static
const rlz_lib::AccessPoint RLZTracker::CHROME_HOME_PAGE =
rlz_lib::CHROME_HOME_PAGE;
+// static
+const rlz_lib::AccessPoint RLZTracker::CHROME_APP_LIST =
+ rlz_lib::CHROME_APP_LIST;
#elif defined(OS_IOS)
// static
const rlz_lib::AccessPoint RLZTracker::CHROME_OMNIBOX =
@@ -174,6 +211,9 @@ const rlz_lib::AccessPoint RLZTracker::CHROME_OMNIBOX =
// static
const rlz_lib::AccessPoint RLZTracker::CHROME_HOME_PAGE =
rlz_lib::CHROME_MAC_HOME_PAGE;
+// static
+const rlz_lib::AccessPoint RLZTracker::CHROME_APP_LIST =
+ rlz_lib::CHROME_MAC_APP_LIST;
#elif defined(OS_CHROMEOS)
// static
const rlz_lib::AccessPoint RLZTracker::CHROME_OMNIBOX =
@@ -181,6 +221,9 @@ const rlz_lib::AccessPoint RLZTracker::CHROME_OMNIBOX =
// static
const rlz_lib::AccessPoint RLZTracker::CHROME_HOME_PAGE =
rlz_lib::CHROMEOS_HOME_PAGE;
+// static
+const rlz_lib::AccessPoint RLZTracker::CHROME_APP_LIST =
+ rlz_lib::CHROMEOS_APP_LIST;
#endif
RLZTracker* RLZTracker::tracker_ = NULL;
@@ -200,6 +243,7 @@ RLZTracker::RLZTracker()
already_ran_(false),
omnibox_used_(false),
homepage_used_(false),
+ app_list_used_(false),
min_init_delay_(kMinInitDelay) {
}
@@ -326,7 +370,8 @@ void RLZTracker::DelayedInit() {
if (!IsBrandOrganic(brand_)) {
RecordProductEvents(first_run_, is_google_default_search_,
is_google_homepage_, is_google_in_startpages_,
- already_ran_, omnibox_used_, homepage_used_);
+ already_ran_, omnibox_used_, homepage_used_,
+ app_list_used_);
schedule_ping = true;
}
@@ -336,7 +381,8 @@ void RLZTracker::DelayedInit() {
rlz_lib::SupplementaryBranding branding(reactivation_brand_.c_str());
RecordProductEvents(first_run_, is_google_default_search_,
is_google_homepage_, is_google_in_startpages_,
- already_ran_, omnibox_used_, homepage_used_);
+ already_ran_, omnibox_used_, homepage_used_,
+ app_list_used_);
schedule_ping = true;
}
@@ -374,6 +420,9 @@ void RLZTracker::PingNowImpl() {
// Prime the RLZ cache for the access points we are interested in.
GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, NULL);
GetAccessPointRlz(RLZTracker::CHROME_HOME_PAGE, NULL);
+#if !defined(OS_IOS)
+ GetAccessPointRlz(RLZTracker::CHROME_APP_LIST, NULL);
+#endif
}
if (!IsBrandOrganic(reactivation_brand_)) {
@@ -463,8 +512,7 @@ void RLZTracker::RecordFirstSearch(rlz_lib::AccessPoint point) {
if (ScheduleRecordFirstSearch(point))
return;
- bool* record_used = point == CHROME_OMNIBOX ?
- &omnibox_used_ : &homepage_used_;
+ bool* record_used = GetAccessPointRecord(point);
// Try to record event now, else set the flag to try later when we
// attempt the ping.
@@ -486,6 +534,19 @@ bool RLZTracker::ScheduleRecordFirstSearch(rlz_lib::AccessPoint point) {
return true;
}
+bool* RLZTracker::GetAccessPointRecord(rlz_lib::AccessPoint point) {
+ if (point == CHROME_OMNIBOX)
+ return &omnibox_used_;
+ if (point == CHROME_HOME_PAGE)
+ return &homepage_used_;
+#if !defined(OS_IOS)
+ if (point == CHROME_APP_LIST)
+ return &app_list_used_;
+#endif
+ NOTREACHED();
+ return NULL;
+}
+
// static
std::string RLZTracker::GetAccessPointHttpHeader(rlz_lib::AccessPoint point) {
TRACE_EVENT0("RLZ", "RLZTracker::GetAccessPointHttpHeader");
@@ -593,3 +654,10 @@ void RLZTracker::CleanupRlz() {
void RLZTracker::EnableZeroDelayForTesting() {
GetInstance()->min_init_delay_ = base::TimeDelta();
}
+
+#if !defined(OS_IOS)
+// static
+void RLZTracker::RecordAppListSearch() {
+ GetInstance()->RecordFirstSearch(RLZTracker::CHROME_APP_LIST);
+}
+#endif
« no previous file with comments | « chrome/browser/rlz/rlz.h ('k') | chrome/browser/rlz/rlz_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698