blob: 3d42045f6213aba1eeae59bc47d9150a858b6df7 [file] [log] [blame]
// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_NTP_TILES_FEATURES_H_
#define COMPONENTS_NTP_TILES_FEATURES_H_
#include "base/feature_list.h"
namespace ntp_tiles {
// Experiment groups for the new tab page retention experiments.
enum class NewTabPageRetentionExperimentBehavior {
// Default.
kDefault = 0,
// Hides all NTP tiles for new users.
kTileAblationHideAll = 1,
// Hides most visited tiles for new users.
kTileAblationHideMVTOnly = 2,
// Control group for tile ablation.
kTileAblationControl = 3,
};
// Name of the field trial to configure PopularSites.
extern const char kPopularSitesFieldTrialName[];
// This feature is enabled by default. Otherwise, users who need it would not
// get the right configuration timely enough. The configuration affects only
// Android or iOS users.
BASE_DECLARE_FEATURE(kPopularSitesBakedInContentFeature);
// Feature to allow the new Google favicon server for fetching favicons for Most
// Likely tiles on the New Tab Page.
BASE_DECLARE_FEATURE(kNtpMostLikelyFaviconsFromServerFeature);
// If this feature is enabled, we enable popular sites in the suggestions UI.
BASE_DECLARE_FEATURE(kUsePopularSitesSuggestions);
// Feature flag to enable new tab page retention experiment on IOS.
// Use `GetDefaultNTPRetentionExperimentType()` instead of this
// constant directly.
BASE_DECLARE_FEATURE(kNewTabPageRetention);
// Feature name for the NTP retention field trial.
extern const char kNewTabPageRetentionName[];
// Feature parameters for the new tab page retention experiment.
extern const char kNewTabPageRetentionParam[];
// Returns the currently enabled NTP retention experiment type. If none are
// enabled, returns the default value.
NewTabPageRetentionExperimentBehavior GetNewTabPageRetentionExperimentType();
} // namespace ntp_tiles
#endif // COMPONENTS_NTP_TILES_FEATURES_H_