OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "content/common/feature_policy/feature_policy.h" | 5 #include "content/common/feature_policy/feature_policy.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/memory/ptr_util.h" | 8 #include "base/memory/ptr_util.h" |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 | 10 |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 if (WhitelistFromDeclaration(parsed_declaration)->Contains(origin_) && | 180 if (WhitelistFromDeclaration(parsed_declaration)->Contains(origin_) && |
181 parent_policy->IsFeatureEnabled(feature)) { | 181 parent_policy->IsFeatureEnabled(feature)) { |
182 inherited_policies_[feature] = true; | 182 inherited_policies_[feature] = true; |
183 } else { | 183 } else { |
184 inherited_policies_[feature] = false; | 184 inherited_policies_[feature] = false; |
185 } | 185 } |
186 } | 186 } |
187 } | 187 } |
188 | 188 |
189 // static | 189 // static |
| 190 // See third_party/WebKit/public/platform/WebFeaturePolicy.h for status of each |
| 191 // features (in spec, implemented, etc). |
190 const FeaturePolicy::FeatureList& FeaturePolicy::GetDefaultFeatureList() { | 192 const FeaturePolicy::FeatureList& FeaturePolicy::GetDefaultFeatureList() { |
191 CR_DEFINE_STATIC_LOCAL(FeatureList, default_feature_list, | 193 CR_DEFINE_STATIC_LOCAL(FeatureList, default_feature_list, |
192 ({{blink::WebFeaturePolicyFeature::DocumentCookie, | 194 ({{blink::WebFeaturePolicyFeature::Camera, |
| 195 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 196 {blink::WebFeaturePolicyFeature::Eme, |
| 197 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 198 {blink::WebFeaturePolicyFeature::Fullscreen, |
| 199 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 200 {blink::WebFeaturePolicyFeature::Geolocation, |
| 201 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 202 {blink::WebFeaturePolicyFeature::Microphone, |
| 203 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 204 {blink::WebFeaturePolicyFeature::MidiFeature, |
| 205 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 206 {blink::WebFeaturePolicyFeature::Payment, |
| 207 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 208 {blink::WebFeaturePolicyFeature::Speaker, |
| 209 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 210 {blink::WebFeaturePolicyFeature::Vibrate, |
| 211 FeaturePolicy::FeatureDefault::EnableForSelf}, |
| 212 {blink::WebFeaturePolicyFeature::DocumentCookie, |
193 FeaturePolicy::FeatureDefault::EnableForAll}, | 213 FeaturePolicy::FeatureDefault::EnableForAll}, |
194 {blink::WebFeaturePolicyFeature::DocumentDomain, | 214 {blink::WebFeaturePolicyFeature::DocumentDomain, |
195 FeaturePolicy::FeatureDefault::EnableForAll}, | 215 FeaturePolicy::FeatureDefault::EnableForAll}, |
196 {blink::WebFeaturePolicyFeature::DocumentWrite, | 216 {blink::WebFeaturePolicyFeature::DocumentWrite, |
197 FeaturePolicy::FeatureDefault::EnableForAll}, | 217 FeaturePolicy::FeatureDefault::EnableForAll}, |
198 {blink::WebFeaturePolicyFeature::Fullscreen, | |
199 FeaturePolicy::FeatureDefault::EnableForSelf}, | |
200 {blink::WebFeaturePolicyFeature::Geolocation, | |
201 FeaturePolicy::FeatureDefault::EnableForSelf}, | |
202 {blink::WebFeaturePolicyFeature::MidiFeature, | |
203 FeaturePolicy::FeatureDefault::EnableForAll}, | |
204 {blink::WebFeaturePolicyFeature::Notifications, | 218 {blink::WebFeaturePolicyFeature::Notifications, |
205 FeaturePolicy::FeatureDefault::EnableForAll}, | 219 FeaturePolicy::FeatureDefault::EnableForAll}, |
206 {blink::WebFeaturePolicyFeature::Payment, | |
207 FeaturePolicy::FeatureDefault::EnableForSelf}, | |
208 {blink::WebFeaturePolicyFeature::Push, | 220 {blink::WebFeaturePolicyFeature::Push, |
209 FeaturePolicy::FeatureDefault::EnableForAll}, | 221 FeaturePolicy::FeatureDefault::EnableForAll}, |
210 {blink::WebFeaturePolicyFeature::SyncScript, | 222 {blink::WebFeaturePolicyFeature::SyncScript, |
211 FeaturePolicy::FeatureDefault::EnableForAll}, | 223 FeaturePolicy::FeatureDefault::EnableForAll}, |
212 {blink::WebFeaturePolicyFeature::SyncXHR, | 224 {blink::WebFeaturePolicyFeature::SyncXHR, |
213 FeaturePolicy::FeatureDefault::EnableForAll}, | 225 FeaturePolicy::FeatureDefault::EnableForAll}, |
214 {blink::WebFeaturePolicyFeature::Usermedia, | |
215 FeaturePolicy::FeatureDefault::EnableForAll}, | |
216 {blink::WebFeaturePolicyFeature::Vibrate, | |
217 FeaturePolicy::FeatureDefault::EnableForSelf}, | |
218 {blink::WebFeaturePolicyFeature::WebRTC, | 226 {blink::WebFeaturePolicyFeature::WebRTC, |
219 FeaturePolicy::FeatureDefault::EnableForAll}})); | 227 FeaturePolicy::FeatureDefault::EnableForAll}})); |
220 return default_feature_list; | 228 return default_feature_list; |
221 } | 229 } |
222 | 230 |
223 } // namespace content | 231 } // namespace content |
OLD | NEW |