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 |
80 CONTENT_EXPORT extern const base::Feature kTopDocumentIsolation; | 81 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 |
81 CONTENT_EXPORT extern const base::Feature kTouchpadAndWheelScrollLatching; | 115 CONTENT_EXPORT extern const base::Feature kTouchpadAndWheelScrollLatching; |
82 CONTENT_EXPORT extern const base::Feature kUseFeaturePolicyForPermissions; | 116 CONTENT_EXPORT extern const base::Feature kUseFeaturePolicyForPermissions; |
83 CONTENT_EXPORT extern const base::Feature kUseMojoAudioOutputStreamFactory; | 117 CONTENT_EXPORT extern const base::Feature kUseMojoAudioOutputStreamFactory; |
84 CONTENT_EXPORT extern const base::Feature kVibrateRequiresUserGesture; | 118 CONTENT_EXPORT extern const base::Feature kVibrateRequiresUserGesture; |
85 CONTENT_EXPORT extern const base::Feature kVrShell; | 119 CONTENT_EXPORT extern const base::Feature kVrShell; |
86 CONTENT_EXPORT extern const base::Feature kWebAssembly; | 120 CONTENT_EXPORT extern const base::Feature kWebAssembly; |
87 CONTENT_EXPORT extern const base::Feature kWebAssemblyStreaming; | 121 CONTENT_EXPORT extern const base::Feature kWebAssemblyStreaming; |
88 CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler; | 122 CONTENT_EXPORT extern const base::Feature kWebAssemblyTrapHandler; |
89 CONTENT_EXPORT extern const base::Feature kWebAuth; | 123 CONTENT_EXPORT extern const base::Feature kWebAuth; |
90 CONTENT_EXPORT extern const base::Feature kWebGLImageChromium; | 124 CONTENT_EXPORT extern const base::Feature kWebGLImageChromium; |
(...skipping 24 matching lines...) Expand all Loading... |
115 CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac; | 149 CONTENT_EXPORT extern const base::Feature kDeviceMonitorMac; |
116 CONTENT_EXPORT extern const base::Feature kMacV2Sandbox; | 150 CONTENT_EXPORT extern const base::Feature kMacV2Sandbox; |
117 #endif // defined(OS_MACOSX) | 151 #endif // defined(OS_MACOSX) |
118 | 152 |
119 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in | 153 // DON'T ADD RANDOM STUFF HERE. Put it in the main section above in |
120 // alphabetical order, or in one of the ifdefs (also in order in each section). | 154 // alphabetical order, or in one of the ifdefs (also in order in each section). |
121 | 155 |
122 } // namespace features | 156 } // namespace features |
123 | 157 |
124 #endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ | 158 #endif // CONTENT_PUBLIC_COMMON_CONTENT_FEATURES_H_ |
OLD | NEW |