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

Side by Side Diff: third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp

Issue 2873433002: Enable Feature Policy without experimental features or fullscreen (Closed)
Patch Set: Codereview: pass enum instead of string to IsSupportedInFeaturePolicy Created 3 years, 7 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #include "platform/feature_policy/FeaturePolicy.h" 5 #include "platform/feature_policy/FeaturePolicy.h"
6 6
7 #include "platform/RuntimeEnabledFeatures.h" 7 #include "platform/RuntimeEnabledFeatures.h"
8 #include "platform/json/JSONValues.h" 8 #include "platform/json/JSONValues.h"
9 #include "platform/network/HTTPParsers.h" 9 #include "platform/network/HTTPParsers.h"
10 #include "platform/weborigin/SecurityOrigin.h" 10 #include "platform/weborigin/SecurityOrigin.h"
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 // If allowfullscreen attribute is present and no fullscreen policy is set, 121 // If allowfullscreen attribute is present and no fullscreen policy is set,
122 // enable the feature for all origins; similarly for allowpaymentrequest. 122 // enable the feature for all origins; similarly for allowpaymentrequest.
123 if (allowpayment && !override_payment) 123 if (allowpayment && !override_payment)
124 AddAllowFeatureToList(WebFeaturePolicyFeature::kPayment, whitelists); 124 AddAllowFeatureToList(WebFeaturePolicyFeature::kPayment, whitelists);
125 if (allowfullscreen && !override_fullscreen) 125 if (allowfullscreen && !override_fullscreen)
126 AddAllowFeatureToList(WebFeaturePolicyFeature::kFullscreen, whitelists); 126 AddAllowFeatureToList(WebFeaturePolicyFeature::kFullscreen, whitelists);
127 127
128 return whitelists; 128 return whitelists;
129 } 129 }
130 130
131 bool IsSupportedInFeaturePolicy(WebFeaturePolicyFeature feature) {
132 switch (feature) {
133 // TODO(lunalu): Re-enabled fullscreen in feature policy once tests have
134 // been updated.
135 // crbug.com/666761
136 case WebFeaturePolicyFeature::kFullscreen:
137 return false;
138 case WebFeaturePolicyFeature::kPayment:
139 return true;
140 case WebFeaturePolicyFeature::kVibrate:
141 return RuntimeEnabledFeatures::featurePolicyExperimentalFeaturesEnabled();
142 default:
143 return false;
144 }
145 }
146
131 const FeatureNameMap& GetDefaultFeatureNameMap() { 147 const FeatureNameMap& GetDefaultFeatureNameMap() {
132 DEFINE_STATIC_LOCAL(FeatureNameMap, default_feature_name_map, ()); 148 DEFINE_STATIC_LOCAL(FeatureNameMap, default_feature_name_map, ());
133 if (default_feature_name_map.IsEmpty()) { 149 if (default_feature_name_map.IsEmpty()) {
134 default_feature_name_map.Set("fullscreen",
135 WebFeaturePolicyFeature::kFullscreen);
136 default_feature_name_map.Set("payment", WebFeaturePolicyFeature::kPayment); 150 default_feature_name_map.Set("payment", WebFeaturePolicyFeature::kPayment);
137 if (RuntimeEnabledFeatures::featurePolicyExperimentalFeaturesEnabled()) { 151 if (RuntimeEnabledFeatures::featurePolicyExperimentalFeaturesEnabled()) {
152 default_feature_name_map.Set("fullscreen",
153 WebFeaturePolicyFeature::kFullscreen);
138 default_feature_name_map.Set("vibrate", 154 default_feature_name_map.Set("vibrate",
139 WebFeaturePolicyFeature::kVibrate); 155 WebFeaturePolicyFeature::kVibrate);
140 default_feature_name_map.Set("camera", WebFeaturePolicyFeature::kCamera); 156 default_feature_name_map.Set("camera", WebFeaturePolicyFeature::kCamera);
141 default_feature_name_map.Set("encrypted-media", 157 default_feature_name_map.Set("encrypted-media",
142 WebFeaturePolicyFeature::kEme); 158 WebFeaturePolicyFeature::kEme);
143 default_feature_name_map.Set("microphone", 159 default_feature_name_map.Set("microphone",
144 WebFeaturePolicyFeature::kMicrophone); 160 WebFeaturePolicyFeature::kMicrophone);
145 default_feature_name_map.Set("speaker", 161 default_feature_name_map.Set("speaker",
146 WebFeaturePolicyFeature::kSpeaker); 162 WebFeaturePolicyFeature::kSpeaker);
147 default_feature_name_map.Set("cookie", 163 default_feature_name_map.Set("cookie",
(...skipping 13 matching lines...) Expand all
161 WebFeaturePolicyFeature::kSyncScript); 177 WebFeaturePolicyFeature::kSyncScript);
162 default_feature_name_map.Set("sync-xhr", 178 default_feature_name_map.Set("sync-xhr",
163 WebFeaturePolicyFeature::kSyncXHR); 179 WebFeaturePolicyFeature::kSyncXHR);
164 default_feature_name_map.Set("webrtc", WebFeaturePolicyFeature::kWebRTC); 180 default_feature_name_map.Set("webrtc", WebFeaturePolicyFeature::kWebRTC);
165 } 181 }
166 } 182 }
167 return default_feature_name_map; 183 return default_feature_name_map;
168 } 184 }
169 185
170 } // namespace blink 186 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698