Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: content/public/common/content_features.h

Issue 2946113002: Use FrameIsAd to decide whether to isolate a frame in TopDocumentIsolation mode. (Closed)
Patch Set: Addressing CR feedback from jkarlin@ and creis@. Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/public/browser/navigation_handle.h ('k') | content/public/common/content_features.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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_
OLDNEW
« no previous file with comments | « content/public/browser/navigation_handle.h ('k') | content/public/common/content_features.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698