Chromium Code Reviews| Index: third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h |
| diff --git a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h |
| index 51ab571882a0465373623897c3833e542941dbc1..1e894e94ce367782b452bfdc5808100fdc500eb7 100644 |
| --- a/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h |
| +++ b/third_party/WebKit/Source/core/frame/csp/CSPDirectiveList.h |
| @@ -22,6 +22,8 @@ namespace blink { |
| class ContentSecurityPolicy; |
| +typedef HeapVector<Member<SourceListDirective>> SourceListDirectiveVector; |
| + |
| class CORE_EXPORT CSPDirectiveList |
| : public GarbageCollectedFinalized<CSPDirectiveList> { |
| WTF_MAKE_NONCOPYABLE(CSPDirectiveList); |
| @@ -156,10 +158,16 @@ class CORE_EXPORT CSPDirectiveList |
| bool shouldSendCSPHeader(Resource::Type) const; |
| + // The algorithm is described here: |
| + // https://w3c.github.io/webappsec-csp/embedded/#subsume-policy |
| + bool subsumes(const CSPDirectiveListVector&); |
| + |
| DECLARE_TRACE(); |
| private: |
| FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, IsMatchingNoncePresent); |
| + FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, GetSourceVector); |
| + FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, OperativeDirectiveGivenType); |
| enum RequireSRIForToken { None = 0, Script = 1 << 0, Style = 1 << 1 }; |
| @@ -266,6 +274,16 @@ class CORE_EXPORT CSPDirectiveList |
| bool denyIfEnforcingPolicy() const { return isReportOnly(); } |
| + // Tthis function returns a SourceListDirective of that type |
|
Mike West
2016/11/24 14:37:37
Nit: Tt.
Nit: "of a given type".
amalika
2016/11/24 15:38:20
Updated
|
| + // or if it is not defined, the default SourceListDirective for that type. |
| + SourceListDirective* operativeDirective( |
| + const ContentSecurityPolicy::DirectiveType&); |
| + // This function aggregates from a vector of policies all operative |
|
Mike West
2016/11/24 14:37:37
Nit: Newline.
amalika
2016/11/24 15:38:20
Added
|
| + // SourceListDirectives of a given type into a vector. |
| + static SourceListDirectiveVector getSourceVector( |
| + const ContentSecurityPolicy::DirectiveType&, |
| + const CSPDirectiveListVector& policies); |
| + |
| Member<ContentSecurityPolicy> m_policy; |
| String m_header; |