1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/feed/feed_feature_list.h"
#include "base/containers/contains.h"
#include "base/time/time.h"
#include "components/country_codes/country_codes.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "build/build_config.h"
#if BUILDFLAG(IS_ANDROID)
#include "components/sync/base/features.h"
#endif // BUILDFLAG(IS_ANDROID)
namespace feed {
const char kFeedHeaderRemovalTreatmentParam[] = "treatment";
const char kFeedHeaderRemovalTreatmentValue1[] = "label";
const char kFeedHeaderRemovalTreatmentValue2[] = "none";
// InterestFeedV2 takes precedence over InterestFeedContentSuggestions.
// InterestFeedV2 is cached in ChromeCachedFlags. If the default value here is
// changed, please update the cached one's default value in CachedFeatureFlags.
BASE_FEATURE(kInterestFeedV2,
"InterestFeedV2",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kDiscoFeedEndpoint,
"DiscoFeedEndpoint",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kXsurfaceMetricsReporting,
"XsurfaceMetricsReporting",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedLoadingPlaceholder,
"FeedLoadingPlaceholder",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedImageMemoryCacheSizePercentage,
"FeedImageMemoryCacheSizePercentage",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedStamp, "FeedStamp", base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kWebFeedAwareness,
"WebFeedAwareness",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kWebFeedOnboarding,
"WebFeedOnboarding",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kWebFeedSort, "WebFeedSort", base::FEATURE_DISABLED_BY_DEFAULT);
bool IsCormorantEnabledForLocale(std::string country) {
return IsWebFeedEnabledForLocale(country);
}
BASE_FEATURE(kPersonalizeFeedUnsignedUsers,
"PersonalizeFeedUnsignedUsers",
base::FEATURE_DISABLED_BY_DEFAULT);
// TODO(crbug.com/40764861): Remove this helper, directly use kSignin instead.
signin::ConsentLevel GetConsentLevelNeededForPersonalizedFeed() {
return signin::ConsentLevel::kSignin;
}
BASE_FEATURE(kFeedNoViewCache,
"FeedNoViewCache",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kFeedShowSignInCommand,
"FeedShowSignInCommand",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kFeedPerformanceStudy,
"FeedPerformanceStudy",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kSyntheticCapabilities,
"FeedSyntheticCapabilities",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedSignedOutViewDemotion,
"FeedSignedOutViewDemotion",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedFollowUiUpdate,
"FeedFollowUiUpdate",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kRefreshFeedOnRestart,
"RefreshFeedOnRestart",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedContainment,
"FeedContainment",
base::FEATURE_ENABLED_BY_DEFAULT);
BASE_FEATURE(kWebFeedKillSwitch,
"WebFeedKillSwitch",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedRecyclerBinderUnmountOnDetach,
"FeedRecyclerBinderUnmountOnDetach",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedStreaming,
"FeedStreaming",
base::FEATURE_DISABLED_BY_DEFAULT);
BASE_FEATURE(kFeedHeaderRemoval,
"FeedHeaderRemoval",
base::FEATURE_DISABLED_BY_DEFAULT);
bool IsWebFeedEnabledForLocale(const std::string& country) {
const std::vector<std::string> launched_countries = {"AU", "CA", "GB",
"NZ", "US", "ZA"};
return base::Contains(launched_countries, country) &&
!base::FeatureList::IsEnabled(kWebFeedKillSwitch);
}
} // namespace feed
|