Ship `{script,style}-src-{attr,elem}` directives
I2S: https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/uauMQQQ7fAI/UAY5FX9UBgAJ
Bug: 880816
Change-Id: I3fa67e8be79d9cb82da96ab8d2b99c38e12bdbfb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1527526
Reviewed-by: Andy Paicu <andypaicu@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641551}
diff --git a/third_party/blink/renderer/core/frame/csp/csp_directive_list.cc b/third_party/blink/renderer/core/frame/csp/csp_directive_list.cc
index e0d298e..72452876 100644
--- a/third_party/blink/renderer/core/frame/csp/csp_directive_list.cc
+++ b/third_party/blink/renderer/core/frame/csp/csp_directive_list.cc
@@ -878,8 +878,6 @@
switch (directive_type) {
case ContentSecurityPolicy::DirectiveType::kScriptSrcAttr:
case ContentSecurityPolicy::DirectiveType::kStyleSrcAttr:
- if (!policy_->ExperimentalFeaturesEnabled())
- return false;
if (!CheckUnsafeHashesAllowed(OperativeDirective(directive_type)))
return false;
break;
@@ -1279,12 +1277,10 @@
} else if (type == ContentSecurityPolicy::DirectiveType::kScriptSrc) {
SetCSPDirective<SourceListDirective>(name, value, script_src_);
policy_->UsesScriptHashAlgorithms(script_src_->HashAlgorithmsUsed());
- } else if (type == ContentSecurityPolicy::DirectiveType::kScriptSrcAttr &&
- policy_->ExperimentalFeaturesEnabled()) {
+ } else if (type == ContentSecurityPolicy::DirectiveType::kScriptSrcAttr) {
SetCSPDirective<SourceListDirective>(name, value, script_src_attr_);
policy_->UsesScriptHashAlgorithms(script_src_attr_->HashAlgorithmsUsed());
- } else if (type == ContentSecurityPolicy::DirectiveType::kScriptSrcElem &&
- policy_->ExperimentalFeaturesEnabled()) {
+ } else if (type == ContentSecurityPolicy::DirectiveType::kScriptSrcElem) {
SetCSPDirective<SourceListDirective>(name, value, script_src_elem_);
policy_->UsesScriptHashAlgorithms(script_src_elem_->HashAlgorithmsUsed());
} else if (type == ContentSecurityPolicy::DirectiveType::kObjectSrc) {
@@ -1298,12 +1294,10 @@
} else if (type == ContentSecurityPolicy::DirectiveType::kStyleSrc) {
SetCSPDirective<SourceListDirective>(name, value, style_src_);
policy_->UsesStyleHashAlgorithms(style_src_->HashAlgorithmsUsed());
- } else if (type == ContentSecurityPolicy::DirectiveType::kStyleSrcAttr &&
- policy_->ExperimentalFeaturesEnabled()) {
+ } else if (type == ContentSecurityPolicy::DirectiveType::kStyleSrcAttr) {
SetCSPDirective<SourceListDirective>(name, value, style_src_attr_);
policy_->UsesStyleHashAlgorithms(style_src_attr_->HashAlgorithmsUsed());
- } else if (type == ContentSecurityPolicy::DirectiveType::kStyleSrcElem &&
- policy_->ExperimentalFeaturesEnabled()) {
+ } else if (type == ContentSecurityPolicy::DirectiveType::kStyleSrcElem) {
SetCSPDirective<SourceListDirective>(name, value, style_src_elem_);
policy_->UsesStyleHashAlgorithms(style_src_elem_->HashAlgorithmsUsed());
} else if (type == ContentSecurityPolicy::DirectiveType::kFontSrc) {
@@ -1464,23 +1458,19 @@
directive = script_src_;
break;
case ContentSecurityPolicy::DirectiveType::kScriptSrcAttr:
- directive = policy_->ExperimentalFeaturesEnabled() ? script_src_attr_
- : script_src_;
+ directive = script_src_attr_;
break;
case ContentSecurityPolicy::DirectiveType::kScriptSrcElem:
- directive = policy_->ExperimentalFeaturesEnabled() ? script_src_elem_
- : script_src_;
+ directive = script_src_elem_;
break;
case ContentSecurityPolicy::DirectiveType::kStyleSrc:
directive = style_src_;
break;
case ContentSecurityPolicy::DirectiveType::kStyleSrcAttr:
- directive =
- policy_->ExperimentalFeaturesEnabled() ? style_src_attr_ : style_src_;
+ directive = style_src_attr_;
break;
case ContentSecurityPolicy::DirectiveType::kStyleSrcElem:
- directive =
- policy_->ExperimentalFeaturesEnabled() ? style_src_elem_ : style_src_;
+ directive = style_src_elem_;
break;
case ContentSecurityPolicy::DirectiveType::kFrameSrc:
directive = frame_src_;