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 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
// 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.
#ifndef COMPONENTS_FEED_FEED_FEATURE_LIST_H_
#define COMPONENTS_FEED_FEED_FEATURE_LIST_H_
#include <string>
#include "base/component_export.h"
#include "base/feature_list.h"
#include "base/metrics/field_trial_params.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/signin/public/base/consent_level.h"
// TODO(crbug.com/40741748): Clean up feedv1 features.
namespace feed {
namespace switches {
// Specifies whether RssLinkReader is enabled.
inline constexpr char kEnableRssLinkReader[] = "enable-rss-link-reader";
}
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
extern const char kFeedHeaderRemovalTreatmentParam[];
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
extern const char kFeedHeaderRemovalTreatmentValue1[];
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
extern const char kFeedHeaderRemovalTreatmentValue2[];
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kInterestFeedV2);
// Use the new DiscoFeed endpoint.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kDiscoFeedEndpoint);
// Feature that enables xsurface to provide the metrics reporting state to an
// xsurface feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kXsurfaceMetricsReporting);
// Feature that shows placeholder cards instead of a loading spinner at first
// load.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedLoadingPlaceholder);
// Feature that allows tuning the size of the image memory cache. Value is a
// percentage of the maximum size calculated for the device.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedImageMemoryCacheSizePercentage);
// Feature that enables StAMP cards in the feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedStamp);
// Feature that provides the user assistance in discovering the web feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kWebFeedAwareness);
// Feature that provides the user assistance in using the web feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kWebFeedOnboarding);
// Feature that enables sorting by different heuristics in the web feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kWebFeedSort);
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
bool IsCormorantEnabledForLocale(std::string country);
// Personalize feed for unsigned users.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kPersonalizeFeedUnsignedUsers);
// Returns the consent level needed to request a personalized feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
signin::ConsentLevel GetConsentLevelNeededForPersonalizedFeed();
// When enabled, no view cache is used.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedNoViewCache);
// When enabled, allow show sign in command to request a user signs in / syncs.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedShowSignInCommand);
// When enabled, depending on params selected, enable different
// performance-oriented features in Feed.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedPerformanceStudy);
// When enabled, allows the server to unilaterally alter capabilities sent
// by the client, primarily to retroactively work around bugs.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kSyntheticCapabilities);
// Feature that enables signed-out view demotion.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedSignedOutViewDemotion);
// Feature that enables UI update for Follow.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedFollowUiUpdate);
// Feature that enables refreshing feed when Chrome restarts.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kRefreshFeedOnRestart);
// Feature that enables feed containment.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedContainment);
// Kill-switch for the web feed feature.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kWebFeedKillSwitch);
// Feature that unmount RecyclerBinder on view detach to fix a memory leak.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedRecyclerBinderUnmountOnDetach);
// Feature that enables feed streaming.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedStreaming);
// Feature that removes feed header.
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
BASE_DECLARE_FEATURE(kFeedHeaderRemoval);
COMPONENT_EXPORT(COMPONENTS_FEED_FEATURE_LIST)
bool IsWebFeedEnabledForLocale(const std::string& country);
} // namespace feed
#endif // COMPONENTS_FEED_FEED_FEATURE_LIST_H_
|