| Index: third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
|
| diff --git a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
|
| index a51449bb06735d0bb26130fbe62482d901406d74..d870df742890309c098a472d64a9e26500f31b32 100644
|
| --- a/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
|
| +++ b/third_party/WebKit/Source/core/frame/csp/ContentSecurityPolicy.h
|
| @@ -62,6 +62,7 @@ class FrameLoaderClient;
|
| class KURL;
|
| class ResourceRequest;
|
| class SecurityOrigin;
|
| +class SecurityPolicyViolationEventInit;
|
|
|
| typedef int SandboxFlags;
|
| typedef HeapVector<Member<CSPDirectiveList>> CSPDirectiveListVector;
|
| @@ -143,10 +144,20 @@ class CORE_EXPORT ContentSecurityPolicy
|
|
|
| std::unique_ptr<Vector<CSPHeaderAndType>> headers() const;
|
|
|
| - bool allowJavaScriptURLs(const String& contextURL,
|
| + // |element| will not be present for navigations to javascript URLs,
|
| + // as those checks happen in the middle of the navigation algorithm,
|
| + // and we generally don't have access to the responsible element.
|
| + bool allowJavaScriptURLs(Element*,
|
| + const String& contextURL,
|
| const WTF::OrdinalNumber& contextLine,
|
| ReportingStatus = SendReport) const;
|
| - bool allowInlineEventHandler(const String& source,
|
| +
|
| + // |element| will be present almost all of the time, but because of
|
| + // strangeness around targeting handlers for '<body>', '<svg>', and
|
| + // '<frameset>', it will be 'nullptr' for handlers on those
|
| + // elements.
|
| + bool allowInlineEventHandler(Element*,
|
| + const String& source,
|
| const String& contextURL,
|
| const WTF::OrdinalNumber& contextLine,
|
| ReportingStatus = SendReport) const;
|
| @@ -214,13 +225,14 @@ class CORE_EXPORT ContentSecurityPolicy
|
| const String& nonce,
|
| RedirectStatus = RedirectStatus::NoRedirect,
|
| ReportingStatus = SendReport) const;
|
| - bool allowInlineScript(const String& contextURL,
|
| + bool allowInlineScript(Element*,
|
| + const String& contextURL,
|
| const String& nonce,
|
| - ParserDisposition,
|
| const WTF::OrdinalNumber& contextLine,
|
| const String& scriptContent,
|
| ReportingStatus = SendReport) const;
|
| - bool allowInlineStyle(const String& contextURL,
|
| + bool allowInlineStyle(Element*,
|
| + const String& contextURL,
|
| const String& nonce,
|
| const WTF::OrdinalNumber& contextLine,
|
| const String& styleContent,
|
| @@ -317,7 +329,8 @@ class CORE_EXPORT ContentSecurityPolicy
|
| ViolationType,
|
| LocalFrame* = nullptr,
|
| RedirectStatus = RedirectStatus::FollowedRedirect,
|
| - int contextLine = 0);
|
| + int contextLine = 0,
|
| + Element* = nullptr);
|
|
|
| // Called when mixed content is detected on a page; will trigger a violation
|
| // report if the 'block-all-mixed-content' directive is specified for a
|
| @@ -375,6 +388,9 @@ class CORE_EXPORT ContentSecurityPolicy
|
|
|
| bool shouldSendViolationReport(const String&) const;
|
| void didSendViolationReport(const String&);
|
| + void dispatchViolationEvents(const SecurityPolicyViolationEventInit&,
|
| + Element*,
|
| + Document*);
|
|
|
| Member<ExecutionContext> m_executionContext;
|
| bool m_overrideInlineStyleAllowed;
|
|
|