File: feed_feature_list.h

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (137 lines) | stat: -rw-r--r-- 4,920 bytes parent folder | download | duplicates (5)
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_