#include "chrome/browser/search_engines/search_terms_data.h"
+#include "base/command_line.h"
#include "base/logging.h"
#include "base/metrics/field_trial.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/sync/glue/device_info.h"
#include "chrome/browser/themes/theme_service.h"
#include "chrome/browser/themes/theme_service_factory.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/pref_names.h"
#include "content/public/browser/browser_thread.h"
#include "sync/protocol/sync.pb.h"
return "en";
}
-base::string16 SearchTermsData::GetRlzParameterValue() const {
+base::string16 SearchTermsData::GetRlzParameterValue(bool from_app_list) const {
return base::string16();
}
// Android implementations are located in search_terms_data_android.cc.
#if !defined(OS_ANDROID)
-base::string16 UIThreadSearchTermsData::GetRlzParameterValue() const {
+base::string16 UIThreadSearchTermsData::GetRlzParameterValue(
+ bool from_app_list) const {
DCHECK(!BrowserThread::IsThreadInitialized(BrowserThread::UI) ||
BrowserThread::CurrentlyOn(BrowserThread::UI));
base::string16 rlz_string;
// This call will return false the first time(s) it is called until the
// value has been cached. This normally would mean that at most one omnibox
// search might not send the RLZ data but this is not really a problem.
- RLZTracker::GetAccessPointRlz(RLZTracker::CHROME_OMNIBOX, &rlz_string);
+ rlz_lib::AccessPoint access_point = RLZTracker::CHROME_OMNIBOX;
+#if !defined(OS_IOS)
+ if (from_app_list)
+ access_point = RLZTracker::CHROME_APP_LIST;
+#endif
+ RLZTracker::GetAccessPointRlz(access_point, &rlz_string);
}
#endif
return rlz_string;
#if defined(OS_ANDROID)
sync_pb::SyncEnums::DeviceType device_type =
browser_sync::DeviceInfo::GetLocalDeviceType();
- return device_type == sync_pb::SyncEnums_DeviceType_TYPE_PHONE ?
- "chrome-mobile-ext" : "chrome-ext";
+ if (device_type == sync_pb::SyncEnums_DeviceType_TYPE_PHONE) {
+ if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableAnswersInSuggest)) {
+ return "chrome-mobile-ext-ansg";
+ } else {
+ return "chrome-mobile-ext";
+ }
+ }
+ return "chrome-ext";
#else
return "chrome-ext";
#endif