Commit e1e4f5b3 authored by Hiroshige Hayashizaki's avatar Hiroshige Hayashizaki Committed by Commit Bot

Remove InlineType argument from AllowInlineScript()

It's always InlineType::kBlock.

Bug: 934651
Change-Id: I12090136c066387c004e09de63d0286daac12f9f
Reviewed-on: https://chromium-review.googlesource.com/c/1485126
Commit-Queue: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: default avatarAndy Paicu <andypaicu@chromium.org>
Reviewed-by: default avatarKouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636636}
parent 07c6baec
...@@ -540,7 +540,6 @@ bool ContentSecurityPolicy::AllowInlineScript( ...@@ -540,7 +540,6 @@ bool ContentSecurityPolicy::AllowInlineScript(
const String& nonce, const String& nonce,
const WTF::OrdinalNumber& context_line, const WTF::OrdinalNumber& context_line,
const String& script_content, const String& script_content,
InlineType inline_type,
SecurityViolationReportingPolicy reporting_policy) const { SecurityViolationReportingPolicy reporting_policy) const {
DCHECK(element); DCHECK(element);
...@@ -551,7 +550,8 @@ bool ContentSecurityPolicy::AllowInlineScript( ...@@ -551,7 +550,8 @@ bool ContentSecurityPolicy::AllowInlineScript(
bool is_allowed = true; bool is_allowed = true;
for (const auto& policy : policies_) { for (const auto& policy : policies_) {
is_allowed &= is_allowed &=
CheckScriptHashAgainstPolicy(csp_hash_values, policy, inline_type) || CheckScriptHashAgainstPolicy(csp_hash_values, policy,
InlineType::kBlock) ||
policy->AllowInlineScript(element, context_url, nonce, context_line, policy->AllowInlineScript(element, context_url, nonce, context_line,
reporting_policy, script_content); reporting_policy, script_content);
} }
......
...@@ -355,7 +355,6 @@ class CORE_EXPORT ContentSecurityPolicy ...@@ -355,7 +355,6 @@ class CORE_EXPORT ContentSecurityPolicy
const String& nonce, const String& nonce,
const WTF::OrdinalNumber& context_line, const WTF::OrdinalNumber& context_line,
const String& script_content, const String& script_content,
InlineType,
SecurityViolationReportingPolicy = SecurityViolationReportingPolicy =
SecurityViolationReportingPolicy::kReport) const; SecurityViolationReportingPolicy::kReport) const;
bool AllowInlineStyle(Element*, bool AllowInlineStyle(Element*,
......
...@@ -732,10 +732,9 @@ TEST_F(ContentSecurityPolicyTest, NonceInline) { ...@@ -732,10 +732,9 @@ TEST_F(ContentSecurityPolicyTest, NonceInline) {
policy->DidReceiveHeader(String("script-src ") + test.policy, policy->DidReceiveHeader(String("script-src ") + test.policy,
kContentSecurityPolicyHeaderTypeEnforce, kContentSecurityPolicyHeaderTypeEnforce,
kContentSecurityPolicyHeaderSourceHTTP); kContentSecurityPolicyHeaderSourceHTTP);
EXPECT_EQ(test.allowed, EXPECT_EQ(test.allowed, policy->AllowInlineScript(element, context_url,
policy->AllowInlineScript( String(test.nonce),
element, context_url, String(test.nonce), context_line, context_line, content));
content, ContentSecurityPolicy::InlineType::kBlock));
EXPECT_EQ(expected_reports, policy->violation_reports_sent_.size()); EXPECT_EQ(expected_reports, policy->violation_reports_sent_.size());
// Enforce 'style-src' // Enforce 'style-src'
...@@ -757,8 +756,7 @@ TEST_F(ContentSecurityPolicyTest, NonceInline) { ...@@ -757,8 +756,7 @@ TEST_F(ContentSecurityPolicyTest, NonceInline) {
kContentSecurityPolicyHeaderTypeReport, kContentSecurityPolicyHeaderTypeReport,
kContentSecurityPolicyHeaderSourceHTTP); kContentSecurityPolicyHeaderSourceHTTP);
EXPECT_TRUE(policy->AllowInlineScript( EXPECT_TRUE(policy->AllowInlineScript(
element, context_url, String(test.nonce), context_line, content, element, context_url, String(test.nonce), context_line, content));
ContentSecurityPolicy::InlineType::kBlock));
EXPECT_EQ(expected_reports, policy->violation_reports_sent_.size()); EXPECT_EQ(expected_reports, policy->violation_reports_sent_.size());
// Report 'style-src' // Report 'style-src'
...@@ -1550,9 +1548,8 @@ TEST_F(ContentSecurityPolicyTest, EmptyCSPIsNoOp) { ...@@ -1550,9 +1548,8 @@ TEST_F(ContentSecurityPolicyTest, EmptyCSPIsNoOp) {
EXPECT_TRUE(csp->AllowScriptFromSource( EXPECT_TRUE(csp->AllowScriptFromSource(
example_url, nonce, IntegrityMetadataSet(), kParserInserted)); example_url, nonce, IntegrityMetadataSet(), kParserInserted));
EXPECT_TRUE(csp->AllowStyleFromSource(example_url, nonce)); EXPECT_TRUE(csp->AllowStyleFromSource(example_url, nonce));
EXPECT_TRUE(csp->AllowInlineScript( EXPECT_TRUE(csp->AllowInlineScript(element, context_url, nonce,
element, context_url, nonce, ordinal_number, source, ordinal_number, source));
ContentSecurityPolicy::InlineType::kBlock));
EXPECT_TRUE(csp->AllowInlineStyle(element, context_url, nonce, ordinal_number, EXPECT_TRUE(csp->AllowInlineStyle(element, context_url, nonce, ordinal_number,
source, source,
ContentSecurityPolicy::InlineType::kBlock)); ContentSecurityPolicy::InlineType::kBlock));
......
...@@ -243,11 +243,9 @@ const AtomicString& HTMLScriptElement::GetNonceForElement() const { ...@@ -243,11 +243,9 @@ const AtomicString& HTMLScriptElement::GetNonceForElement() const {
bool HTMLScriptElement::AllowInlineScriptForCSP( bool HTMLScriptElement::AllowInlineScriptForCSP(
const AtomicString& nonce, const AtomicString& nonce,
const WTF::OrdinalNumber& context_line, const WTF::OrdinalNumber& context_line,
const String& script_content, const String& script_content) {
ContentSecurityPolicy::InlineType inline_type) {
return GetDocument().GetContentSecurityPolicy()->AllowInlineScript( return GetDocument().GetContentSecurityPolicy()->AllowInlineScript(
this, GetDocument().Url(), nonce, context_line, script_content, this, GetDocument().Url(), nonce, context_line, script_content);
inline_type);
} }
Document& HTMLScriptElement::GetDocument() const { Document& HTMLScriptElement::GetDocument() const {
......
...@@ -101,8 +101,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement, ...@@ -101,8 +101,7 @@ class CORE_EXPORT HTMLScriptElement final : public HTMLElement,
} }
bool AllowInlineScriptForCSP(const AtomicString& nonce, bool AllowInlineScriptForCSP(const AtomicString& nonce,
const WTF::OrdinalNumber&, const WTF::OrdinalNumber&,
const String& script_content, const String& script_content) override;
ContentSecurityPolicy::InlineType) override;
void DispatchLoadEvent() override; void DispatchLoadEvent() override;
void DispatchErrorEvent() override; void DispatchErrorEvent() override;
void SetScriptElementForBinding( void SetScriptElementForBinding(
......
...@@ -184,7 +184,6 @@ void HttpEquiv::ProcessHttpEquivRefresh(Document& document, ...@@ -184,7 +184,6 @@ void HttpEquiv::ProcessHttpEquivRefresh(Document& document,
UseCounter::Count(document, WebFeature::kMetaRefresh); UseCounter::Count(document, WebFeature::kMetaRefresh);
if (!document.GetContentSecurityPolicy()->AllowInlineScript( if (!document.GetContentSecurityPolicy()->AllowInlineScript(
element, NullURL(), "", OrdinalNumber(), "", element, NullURL(), "", OrdinalNumber(), "",
ContentSecurityPolicy::InlineType::kBlock,
SecurityViolationReportingPolicy::kSuppressReporting)) { SecurityViolationReportingPolicy::kSuppressReporting)) {
UseCounter::Count(document, UseCounter::Count(document,
WebFeature::kMetaRefreshWhenCSPBlocksInlineScript); WebFeature::kMetaRefreshWhenCSPBlocksInlineScript);
...@@ -200,7 +199,6 @@ void HttpEquiv::ProcessHttpEquivSetCookie(Document& document, ...@@ -200,7 +199,6 @@ void HttpEquiv::ProcessHttpEquivSetCookie(Document& document,
if (!document.GetContentSecurityPolicy()->AllowInlineScript( if (!document.GetContentSecurityPolicy()->AllowInlineScript(
element, NullURL(), "", OrdinalNumber(), "", element, NullURL(), "", OrdinalNumber(), "",
ContentSecurityPolicy::InlineType::kBlock,
SecurityViolationReportingPolicy::kSuppressReporting)) { SecurityViolationReportingPolicy::kSuppressReporting)) {
UseCounter::Count(document, UseCounter::Count(document,
WebFeature::kMetaSetCookieWhenCSPBlocksInlineScript); WebFeature::kMetaSetCookieWhenCSPBlocksInlineScript);
......
...@@ -46,11 +46,10 @@ class MockScriptElementBase ...@@ -46,11 +46,10 @@ class MockScriptElementBase
MOCK_CONST_METHOD0(GetNonceForElement, const AtomicString&()); MOCK_CONST_METHOD0(GetNonceForElement, const AtomicString&());
MOCK_CONST_METHOD0(ElementHasDuplicateAttributes, bool()); MOCK_CONST_METHOD0(ElementHasDuplicateAttributes, bool());
MOCK_CONST_METHOD0(InitiatorName, AtomicString()); MOCK_CONST_METHOD0(InitiatorName, AtomicString());
MOCK_METHOD4(AllowInlineScriptForCSP, MOCK_METHOD3(AllowInlineScriptForCSP,
bool(const AtomicString&, bool(const AtomicString&,
const WTF::OrdinalNumber&, const WTF::OrdinalNumber&,
const String&, const String&));
ContentSecurityPolicy::InlineType));
MOCK_CONST_METHOD0(GetDocument, Document&()); MOCK_CONST_METHOD0(GetDocument, Document&());
MOCK_METHOD1(SetScriptElementForBinding, MOCK_METHOD1(SetScriptElementForBinding,
void(HTMLScriptElementOrSVGScriptElement&)); void(HTMLScriptElementOrSVGScriptElement&));
......
...@@ -160,9 +160,8 @@ void PendingScript::ExecuteScriptBlock(const KURL& document_url) { ...@@ -160,9 +160,8 @@ void PendingScript::ExecuteScriptBlock(const KURL& document_url) {
AtomicString nonce = element_->GetNonceForElement(); AtomicString nonce = element_->GetNonceForElement();
if (!should_bypass_main_world_csp && if (!should_bypass_main_world_csp &&
!element_->AllowInlineScriptForCSP( !element_->AllowInlineScriptForCSP(nonce, StartingPosition().line_,
nonce, StartingPosition().line_, script->InlineSourceTextForCSP(), script->InlineSourceTextForCSP())) {
ContentSecurityPolicy::InlineType::kBlock)) {
// Consider as if: // Consider as if:
// //
// <spec step="2">If the script's script is null, ...</spec> // <spec step="2">If the script's script is null, ...</spec>
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
#define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_SCRIPT_ELEMENT_BASE_H_ #define THIRD_PARTY_BLINK_RENDERER_CORE_SCRIPT_SCRIPT_ELEMENT_BASE_H_
#include "third_party/blink/renderer/core/core_export.h" #include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
#include "third_party/blink/renderer/platform/heap/handle.h" #include "third_party/blink/renderer/platform/heap/handle.h"
#include "third_party/blink/renderer/platform/heap/heap.h" #include "third_party/blink/renderer/platform/heap/heap.h"
#include "third_party/blink/renderer/platform/wtf/text/atomic_string.h" #include "third_party/blink/renderer/platform/wtf/text/atomic_string.h"
...@@ -62,8 +61,7 @@ class CORE_EXPORT ScriptElementBase : public GarbageCollectedMixin { ...@@ -62,8 +61,7 @@ class CORE_EXPORT ScriptElementBase : public GarbageCollectedMixin {
virtual bool AllowInlineScriptForCSP(const AtomicString& nonce, virtual bool AllowInlineScriptForCSP(const AtomicString& nonce,
const WTF::OrdinalNumber&, const WTF::OrdinalNumber&,
const String& script_content, const String& script_content) = 0;
ContentSecurityPolicy::InlineType) = 0;
virtual Document& GetDocument() const = 0; virtual Document& GetDocument() const = 0;
virtual void SetScriptElementForBinding( virtual void SetScriptElementForBinding(
HTMLScriptElementOrSVGScriptElement&) = 0; HTMLScriptElementOrSVGScriptElement&) = 0;
......
...@@ -136,11 +136,9 @@ const AtomicString& SVGScriptElement::GetNonceForElement() const { ...@@ -136,11 +136,9 @@ const AtomicString& SVGScriptElement::GetNonceForElement() const {
bool SVGScriptElement::AllowInlineScriptForCSP( bool SVGScriptElement::AllowInlineScriptForCSP(
const AtomicString& nonce, const AtomicString& nonce,
const WTF::OrdinalNumber& context_line, const WTF::OrdinalNumber& context_line,
const String& script_content, const String& script_content) {
ContentSecurityPolicy::InlineType inline_type) {
return GetDocument().GetContentSecurityPolicy()->AllowInlineScript( return GetDocument().GetContentSecurityPolicy()->AllowInlineScript(
this, GetDocument().Url(), nonce, context_line, script_content, this, GetDocument().Url(), nonce, context_line, script_content);
inline_type);
} }
Document& SVGScriptElement::GetDocument() const { Document& SVGScriptElement::GetDocument() const {
......
...@@ -91,8 +91,7 @@ class SVGScriptElement final : public SVGElement, ...@@ -91,8 +91,7 @@ class SVGScriptElement final : public SVGElement,
} }
bool AllowInlineScriptForCSP(const AtomicString& nonce, bool AllowInlineScriptForCSP(const AtomicString& nonce,
const WTF::OrdinalNumber&, const WTF::OrdinalNumber&,
const String& script_content, const String& script_content) override;
ContentSecurityPolicy::InlineType) override;
Document& GetDocument() const override; Document& GetDocument() const override;
void DispatchLoadEvent() override; void DispatchLoadEvent() override;
void DispatchErrorEvent() override; void DispatchErrorEvent() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment