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

Unified Diff: components/suggestions/suggestions_service_impl.cc

Issue 2872573002: Use |min| param to query a variable number of suggestions (Closed)
Patch Set: Control number of suggestion with variation param Created 3 years, 7 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: components/suggestions/suggestions_service_impl.cc
diff --git a/components/suggestions/suggestions_service_impl.cc b/components/suggestions/suggestions_service_impl.cc
index 407ad4564cff67adc2b0a4960920c1b372b88cfd..7a2cccae3571d57964c26e6911b4cb8fbe0af25f 100644
--- a/components/suggestions/suggestions_service_impl.cc
+++ b/components/suggestions/suggestions_service_impl.cc
@@ -22,10 +22,12 @@
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/signin/core/browser/signin_manager_base.h"
#include "components/suggestions/blacklist_store.h"
+#include "components/suggestions/features.h"
#include "components/suggestions/image_manager.h"
#include "components/suggestions/suggestions_store.h"
#include "components/sync/driver/sync_service.h"
#include "components/variations/net/variations_http_headers.h"
+#include "components/variations/variations_associated_data.h"
#include "google_apis/gaia/gaia_constants.h"
#include "google_apis/gaia/oauth2_token_service.h"
#include "net/base/escape.h"
@@ -82,13 +84,18 @@ GURL GetGoogleBaseURL() {
// Format strings for the various suggestions URLs. They all have two string
// params: The Google base URL and the device type.
// TODO(mathp): Put this in TemplateURL.
-const char kSuggestionsURLFormat[] = "%schromesuggestions?t=%s";
+const char kSuggestionsURLFormat[] = "%schromesuggestions?%s";
const char kSuggestionsBlacklistURLPrefixFormat[] =
"%schromesuggestions/blacklist?t=%s&url=";
const char kSuggestionsBlacklistClearURLFormat[] =
"%schromesuggestions/blacklist/clear?t=%s";
const char kSuggestionsBlacklistURLParam[] = "url";
+const char kSuggestionsDeviceParam[] = "t=%s";
+const char kSuggestionsMinParam[] = "min=%i";
+
+const char kSuggestionsMinVariationName[] = "min_suggestions";
+const int kSuggestionsMinVariationDefault = 0;
#if defined(OS_ANDROID) || defined(OS_IOS)
const char kDeviceType[] = "2";
@@ -105,6 +112,12 @@ const char kFaviconURL[] =
// The default expiry timeout is 168 hours.
const int64_t kDefaultExpiryUsec = 168 * base::Time::kMicrosecondsPerHour;
+int GetMinimumSuggestionsCount() {
+ return variations::GetVariationParamByFeatureAsInt(
Marc Treib 2017/05/10 12:32:24 This is deprecated, you should use base::GetFieldT
fhorschig 2017/05/10 12:45:34 Used GetFieldTrialParamByFeatureAsInt.
+ kUseSuggestionsEvenIfFewFeature, kSuggestionsMinVariationName,
+ kSuggestionsMinVariationDefault);
+}
+
} // namespace
SuggestionsServiceImpl::SuggestionsServiceImpl(
@@ -256,8 +269,16 @@ void SuggestionsServiceImpl::RegisterProfilePrefs(
// static
GURL SuggestionsServiceImpl::BuildSuggestionsURL() {
+ std::string device = base::StringPrintf(kSuggestionsDeviceParam, kDeviceType);
+ std::string query = device;
+ if (base::FeatureList::IsEnabled(kUseSuggestionsEvenIfFewFeature)) {
+ std::string min_suggestions =
+ base::StringPrintf(kSuggestionsMinParam, GetMinimumSuggestionsCount());
+ query =
+ base::StringPrintf("%s&%s", device.c_str(), min_suggestions.c_str());
+ }
return GURL(base::StringPrintf(
- kSuggestionsURLFormat, GetGoogleBaseURL().spec().c_str(), kDeviceType));
+ kSuggestionsURLFormat, GetGoogleBaseURL().spec().c_str(), query.c_str()));
}
// static
« no previous file with comments | « components/suggestions/suggestions_service_impl.h ('k') | components/suggestions/suggestions_service_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698