| Index: third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp
|
| diff --git a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp
|
| index 44d6c96359a7499994c6a3ded2c65001bcdcc404..b51cb8c66cc9d9281318b5891338046d7cd8ad44 100644
|
| --- a/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp
|
| +++ b/third_party/WebKit/Source/platform/feature_policy/FeaturePolicy.cpp
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "platform/feature_policy/FeaturePolicy.h"
|
|
|
| +#include "platform/RuntimeEnabledFeatures.h"
|
| #include "platform/json/JSONValues.h"
|
| #include "platform/network/HTTPParsers.h"
|
| #include "platform/weborigin/KURL.h"
|
| @@ -59,6 +60,41 @@ const FeaturePolicy::Feature kVibrateFeature{
|
| const FeaturePolicy::Feature kWebRTC{
|
| "webrtc", FeaturePolicy::FeatureDefault::EnableForAll};
|
|
|
| +WebFeaturePolicyFeature FeaturePolicy::getWebFeaturePolicyFeature(
|
| + const String& feature) {
|
| + if (feature == "fullscreen")
|
| + return WebFeaturePolicyFeature::Fullscreen;
|
| + if (feature == "payment")
|
| + return WebFeaturePolicyFeature::Payment;
|
| + if (feature == "vibrate")
|
| + return WebFeaturePolicyFeature::Vibrate;
|
| + if (feature == "usermedia")
|
| + return WebFeaturePolicyFeature::Usermedia;
|
| + if (RuntimeEnabledFeatures::featurePolicyExperimentalFeaturesEnabled()) {
|
| + if (feature == "cookie")
|
| + return WebFeaturePolicyFeature::DocumentCookie;
|
| + if (feature == "domain")
|
| + return WebFeaturePolicyFeature::DocumentDomain;
|
| + if (feature == "docwrite")
|
| + return WebFeaturePolicyFeature::DocumentWrite;
|
| + if (feature == "geolocation")
|
| + return WebFeaturePolicyFeature::Geolocation;
|
| + if (feature == "midi")
|
| + return WebFeaturePolicyFeature::MidiFeature;
|
| + if (feature == "notifications")
|
| + return WebFeaturePolicyFeature::Notifications;
|
| + if (feature == "push")
|
| + return WebFeaturePolicyFeature::Push;
|
| + if (feature == "sync-script")
|
| + return WebFeaturePolicyFeature::SyncScript;
|
| + if (feature == "sync-xhr")
|
| + return WebFeaturePolicyFeature::SyncXHR;
|
| + if (feature == "webrtc")
|
| + return WebFeaturePolicyFeature::WebRTC;
|
| + }
|
| + return WebFeaturePolicyFeature::NotFound;
|
| +}
|
| +
|
| // static
|
| std::unique_ptr<FeaturePolicy::Whitelist> FeaturePolicy::Whitelist::from(
|
| const WebFeaturePolicy::ParsedWhitelist& parsedWhitelist) {
|
|
|