| Index: third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
|
| diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
|
| index 86366e38881fe4d67fa7d5c2b5c81c069e65ecf0..6a1e4bc6a5671ce07de0bd72fa94dbdd849d17f4 100644
|
| --- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.cpp
|
| @@ -99,7 +99,9 @@ void CSPDirectiveList::reportViolation(
|
| ErrorMessageLevel, message));
|
| m_policy->reportViolation(directiveText, effectiveType, message, blockedURL,
|
| m_reportEndpoints, m_header, m_headerType,
|
| - ContentSecurityPolicy::URLViolation, nullptr,
|
| + ContentSecurityPolicy::URLViolation,
|
| + std::unique_ptr<SourceLocation>(),
|
| + nullptr, // localFrame
|
| redirectStatus);
|
| }
|
|
|
| @@ -116,7 +118,8 @@ void CSPDirectiveList::reportViolationWithFrame(
|
| frame);
|
| m_policy->reportViolation(directiveText, effectiveType, message, blockedURL,
|
| m_reportEndpoints, m_header, m_headerType,
|
| - ContentSecurityPolicy::URLViolation, frame);
|
| + ContentSecurityPolicy::URLViolation,
|
| + std::unique_ptr<SourceLocation>(), frame);
|
| }
|
|
|
| void CSPDirectiveList::reportViolationWithLocation(
|
| @@ -130,13 +133,16 @@ void CSPDirectiveList::reportViolationWithLocation(
|
| const String& source) const {
|
| String message =
|
| isReportOnly() ? "[Report Only] " + consoleMessage : consoleMessage;
|
| - m_policy->logToConsole(ConsoleMessage::create(
|
| - SecurityMessageSource, ErrorMessageLevel, message,
|
| - SourceLocation::capture(contextURL, contextLine.oneBasedInt(), 0)));
|
| - m_policy->reportViolation(
|
| - directiveText, effectiveType, message, blockedURL, m_reportEndpoints,
|
| - m_header, m_headerType, ContentSecurityPolicy::InlineViolation, nullptr,
|
| - RedirectStatus::NoRedirect, contextLine.oneBasedInt(), element, source);
|
| + std::unique_ptr<SourceLocation> sourceLocation =
|
| + SourceLocation::capture(contextURL, contextLine.oneBasedInt(), 0);
|
| + m_policy->logToConsole(ConsoleMessage::create(SecurityMessageSource,
|
| + ErrorMessageLevel, message,
|
| + sourceLocation->clone()));
|
| + m_policy->reportViolation(directiveText, effectiveType, message, blockedURL,
|
| + m_reportEndpoints, m_header, m_headerType,
|
| + ContentSecurityPolicy::InlineViolation,
|
| + std::move(sourceLocation), nullptr, // localFrame
|
| + RedirectStatus::NoRedirect, element, source);
|
| }
|
|
|
| void CSPDirectiveList::reportViolationWithState(
|
| @@ -159,7 +165,8 @@ void CSPDirectiveList::reportViolationWithState(
|
| }
|
| m_policy->reportViolation(directiveText, effectiveType, message, blockedURL,
|
| m_reportEndpoints, m_header, m_headerType,
|
| - ContentSecurityPolicy::EvalViolation);
|
| + ContentSecurityPolicy::EvalViolation,
|
| + std::unique_ptr<SourceLocation>());
|
| }
|
|
|
| bool CSPDirectiveList::checkEval(SourceListDirective* directive) const {
|
| @@ -194,7 +201,9 @@ void CSPDirectiveList::reportMixedContent(
|
| ContentSecurityPolicy::DirectiveType::BlockAllMixedContent),
|
| ContentSecurityPolicy::DirectiveType::BlockAllMixedContent, String(),
|
| mixedURL, m_reportEndpoints, m_header, m_headerType,
|
| - ContentSecurityPolicy::URLViolation, nullptr, redirectStatus);
|
| + ContentSecurityPolicy::URLViolation, std::unique_ptr<SourceLocation>(),
|
| + nullptr, // contextFrame,
|
| + redirectStatus);
|
| }
|
| }
|
|
|
|
|