Commit 015f2e76 authored by Marc Treib's avatar Marc Treib Committed by Commit Bot

SearchProviderLogos: Add about:flags options for fixed test doodles

Bug: 690467
Change-Id: Icd90a52d66d7d6b8734398de6707f18e762cd06b
Reviewed-on: https://chromium-review.googlesource.com/600309Reviewed-by: default avatarBernhard Bauer <bauerb@chromium.org>
Commit-Queue: Marc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491964}
parent 4ea4dd84
...@@ -1126,6 +1126,31 @@ const FeatureEntry::Choice kAsyncImageDecodingChoices[] = { ...@@ -1126,6 +1126,31 @@ const FeatureEntry::Choice kAsyncImageDecodingChoices[] = {
cc::switches::kDisableCheckerImaging, ""}, cc::switches::kDisableCheckerImaging, ""},
}; };
#if defined(OS_ANDROID)
const FeatureEntry::FeatureParam kUseDdljsonApiTest1[] = {
{search_provider_logos::features::kDdljsonOverrideUrlParam,
"https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android1.json"}};
const FeatureEntry::FeatureParam kUseDdljsonApiTest2[] = {
{search_provider_logos::features::kDdljsonOverrideUrlParam,
"https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android2.json"}};
const FeatureEntry::FeatureParam kUseDdljsonApiTest3[] = {
{search_provider_logos::features::kDdljsonOverrideUrlParam,
"https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android3.json"}};
const FeatureEntry::FeatureParam kUseDdljsonApiTest4[] = {
{search_provider_logos::features::kDdljsonOverrideUrlParam,
"https://www.gstatic.com/chrome/ntp/doodle_test/ddljson_android4.json"}};
const FeatureEntry::FeatureVariation kUseDdljsonApiVariations[] = {
{"(force test doodle 1)", kUseDdljsonApiTest1,
arraysize(kUseDdljsonApiTest1), nullptr},
{"(force test doodle 2)", kUseDdljsonApiTest2,
arraysize(kUseDdljsonApiTest2), nullptr},
{"(force test doodle 3)", kUseDdljsonApiTest3,
arraysize(kUseDdljsonApiTest3), nullptr},
{"(force test doodle 4)", kUseDdljsonApiTest4,
arraysize(kUseDdljsonApiTest4), nullptr}};
#endif // OS_ANDROID
// RECORDING USER METRICS FOR FLAGS: // RECORDING USER METRICS FOR FLAGS:
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
// The first line of the entry is the internal name. // The first line of the entry is the internal name.
...@@ -3203,7 +3228,10 @@ const FeatureEntry kFeatureEntries[] = { ...@@ -3203,7 +3228,10 @@ const FeatureEntry kFeatureEntries[] = {
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
{"use-ddljson-api", flag_descriptions::kUseDdljsonApiName, {"use-ddljson-api", flag_descriptions::kUseDdljsonApiName,
flag_descriptions::kUseDdljsonApiDescription, kOsAndroid, flag_descriptions::kUseDdljsonApiDescription, kOsAndroid,
FEATURE_VALUE_TYPE(search_provider_logos::features::kUseDdljsonApi)}, FEATURE_WITH_PARAMS_VALUE_TYPE(
search_provider_logos::features::kUseDdljsonApi,
kUseDdljsonApiVariations,
search_provider_logos::features::kUseDdljsonApi.name)},
#endif // defined(OS_ANDROID) #endif // defined(OS_ANDROID)
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
......
...@@ -10,5 +10,7 @@ namespace features { ...@@ -10,5 +10,7 @@ namespace features {
const base::Feature kUseDdljsonApi{"UseDdljsonApi", const base::Feature kUseDdljsonApi{"UseDdljsonApi",
base::FEATURE_DISABLED_BY_DEFAULT}; base::FEATURE_DISABLED_BY_DEFAULT};
const char kDdljsonOverrideUrlParam[] = "ddljson-override-url";
} // namespace features } // namespace features
} // namespace search_provider_logos } // namespace search_provider_logos
...@@ -10,8 +10,14 @@ ...@@ -10,8 +10,14 @@
namespace search_provider_logos { namespace search_provider_logos {
namespace features { namespace features {
// If enabled, Google Doodles are fetched from the newer /ddljson API instead of
// the /newtab_mobile API.
extern const base::Feature kUseDdljsonApi; extern const base::Feature kUseDdljsonApi;
// This parameter can be used to override the URL of the /ddljson API. Useful
// for testing.
extern const char kDdljsonOverrideUrlParam[];
} // namespace features } // namespace features
} // namespace search_provider_logos } // namespace search_provider_logos
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h" #include "base/memory/ref_counted.h"
#include "base/memory/ref_counted_memory.h" #include "base/memory/ref_counted_memory.h"
#include "base/metrics/field_trial_params.h"
#include "base/strings/string_piece.h" #include "base/strings/string_piece.h"
#include "base/strings/string_util.h" #include "base/strings/string_util.h"
#include "base/values.h" #include "base/values.h"
...@@ -25,6 +26,11 @@ ...@@ -25,6 +26,11 @@
namespace search_provider_logos { namespace search_provider_logos {
GURL GetGoogleDoodleURL(const GURL& google_base_url) { GURL GetGoogleDoodleURL(const GURL& google_base_url) {
std::string override_url = base::GetFieldTrialParamValueByFeature(
features::kUseDdljsonApi, features::kDdljsonOverrideUrlParam);
if (!override_url.empty()) {
return GURL(override_url);
}
GURL::Replacements replacements; GURL::Replacements replacements;
replacements.SetPathStr(base::FeatureList::IsEnabled(features::kUseDdljsonApi) replacements.SetPathStr(base::FeatureList::IsEnabled(features::kUseDdljsonApi)
? "async/ddljson" ? "async/ddljson"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment