| 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 |