OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // This file defines all the public base::FeatureList features for the content | 5 // This file defines all the public base::FeatureList features for the content |
6 // module. | 6 // module. |
7 | 7 |
8 #ifndef CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ | 8 #ifndef CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ |
9 #define CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ | 9 #define CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ |
10 | 10 |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 CONTENT_EXPORT extern const base::Feature kResourceLoadScheduler; | 70 CONTENT_EXPORT extern const base::Feature kResourceLoadScheduler; |
71 CONTENT_EXPORT extern const base::Feature kScrollAnchoring; | 71 CONTENT_EXPORT extern const base::Feature kScrollAnchoring; |
72 CONTENT_EXPORT extern const base::Feature kServiceWorkerNavigationPreload; | 72 CONTENT_EXPORT extern const base::Feature kServiceWorkerNavigationPreload; |
73 CONTENT_EXPORT extern const base::Feature kServiceWorkerScriptStreaming; | 73 CONTENT_EXPORT extern const base::Feature kServiceWorkerScriptStreaming; |
74 CONTENT_EXPORT extern const base::Feature kSharedArrayBuffer; | 74 CONTENT_EXPORT extern const base::Feature kSharedArrayBuffer; |
75 CONTENT_EXPORT extern const base::Feature kSignInProcessIsolation; | 75 CONTENT_EXPORT extern const base::Feature kSignInProcessIsolation; |
76 CONTENT_EXPORT extern const base::Feature kSkipCompositingSmallScrollers; | 76 CONTENT_EXPORT extern const base::Feature kSkipCompositingSmallScrollers; |
77 CONTENT_EXPORT extern const base::Feature kSlimmingPaintInvalidation; | 77 CONTENT_EXPORT extern const base::Feature kSlimmingPaintInvalidation; |
78 CONTENT_EXPORT extern const base::Feature kTimerThrottlingForHiddenFrames; | 78 CONTENT_EXPORT extern const base::Feature kTimerThrottlingForHiddenFrames; |
79 CONTENT_EXPORT extern const base::Feature kTokenBinding; | 79 CONTENT_EXPORT extern const base::Feature kTokenBinding; |
80 | |
81 CONTENT_EXPORT extern const base::Feature kTopDocumentIsolation; | 80 CONTENT_EXPORT extern const base::Feature kTopDocumentIsolation; |
82 | |
83 // If the kTopDocumentIsolation base::Feature is enabled, then it can be | |
84 // configured by additional parameters (see also GetFieldTrialParamsByFeature). | |
85 // |kTopDocumentIsolationModeParam| is the name of an optional parameter that | |
86 // specifies TopDocumentIsolationMode. Valid values of this parameter are | |
87 // strings that represent numeric values of TopDocumentIsolationMode enum values | |
88 // (e.g. "1" for TopDocumentIsolationMode::CrossSite). | |
89 CONTENT_EXPORT extern const char kTopDocumentIsolationModeParam[]; | |
90 | |
91 // If the kTopDocumentIsolation base::Feature is enabled, the values of this | |
92 // enum represent the mode for selecting *which* frames to isolate. | |
93 // | |
94 // These values should NOT be renumbered, because 1) they can be specified in a | |
95 // server-side trial config and 2) they can be persisted in the state of | |
96 // chrome://flags selected by the user. | |
97 enum class TopDocumentIsolationMode { | |
98 // This value indicates that kTopDocumentIsolationModeParam was not specified. | |
99 // Corresponds to "Enabled" state in chrome://flags (i.e. the user didn't | |
100 // select a more specific isolation mode). | |
101 Unspecified = 0, | |
102 | |
103 // Each of the modes below corresponds to "Enabled (<name> - <description>)" | |
104 // state in chrome://flags. | |
105 #define FOR_EACH_TDI_MODE(V) \ | |
106 V(CrossSite, 1, \ | |
107 "isolate all frames from sites other than the top-level frame") \ | |
108 V(Ads, 2, "isolate only cross-site ads detected by heuristics") | |
109 | |
110 #define DEFINE_TDI_MODE_ENUM_VALUE(name, value, description) name = value, | |
111 FOR_EACH_TDI_MODE(DEFINE_TDI_MODE_ENUM_VALUE) | |
112 #undef DEFINE_TDI_MODE_ENUM_VALUE | |
113 }; | |
114 | |
115 CONTENT_EXPORT extern const base::Feature kTouchpadAndWheelScrollLatching; | 81 CONTENT_EXPORT extern const base::Feature kTouchpadAndWheelScrollLatching; |
116 CONTENT_EXPORT extern const base::Feature kUseFeaturePolicyForPermissions; | 82 CONTENT_EXPORT extern const base::Feature kUseFeaturePolicyForPermissions; |
117 CONTENT_EXPORT extern const base::Feature kUseMojoAudioOutputStreamFactory; | 83 CONTENT_EXPORT extern const base::Feature kUseMojoAudioOutputStreamFactory; |
118 CONTENT_EXPORT extern const base::Feature kVibrateRequiresUserGesture; | 84 CONTENT_EXPORT extern const base::Feature kVibrateRequiresUserGesture; |
119 CONTENT_EXPORT extern const base::Feature kVrShell; | 85 CONTENT_EXPORT extern const base::Feature kVrShell; |
120 CONTENT_EXPORT extern const base::Feature kWebAssembly; | 86 CONTENT_EXPORT extern const base::Feature kWebAssembly; |
121 CONTENT_EXPORT extern const base::Feature kWebAssemblyStreaming; | 87 CONTENT_EXPORT extern const base::Feature kWebAssemblyStreaming; |
122 CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler; | 88 CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler; |
123 CONTENT_EXPORT extern const base::Feature kWebAuth; | 89 CONTENT_EXPORT extern const base::Feature kWebAuth; |
124 CONTENT_EXPORT extern const base::Feature kWebGLImageChromium; | 90 CONTENT_EXPORT extern const base::Feature kWebGLImageChromium; |
(...skipping 24 matching lines...) Expand all Loading... |
149 CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac; | 115 CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac; |
150 CONTENT_EXPORT extern const base::Feature kMacV2Sandbox; | 116 CONTENT_EXPORT extern const base::Feature kMacV2Sandbox; |
151 #endif // defined(OS_MACOSX) | 117 #endif // defined(OS_MACOSX) |
152 | 118 |
153 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in | 119 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in |
154 // alphabetical order, or in one of the ifdefs (also in order in each section). | 120 // alphabetical order, or in one of the ifdefs (also in order in each section). |
155 | 121 |
156 } // namespace features | 122 } // namespace features |
157 | 123 |
158 #endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ | 124 #endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ |
OLD | NEW |