Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6)

Side by Side Diff: third_party/WebKit/Source/core/frame/csp/SourceListDirective.h

Issue 2555153002: Part 3.8: Is policy list subsumed under subsuming policy? (Closed)
Patch Set: Style Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef SourceListDirective_h 5 #ifndef SourceListDirective_h
6 #define SourceListDirective_h 6 #define SourceListDirective_h
7 7
8 #include "core/CoreExport.h" 8 #include "core/CoreExport.h"
9 #include "core/frame/csp/CSPDirective.h" 9 #include "core/frame/csp/CSPDirective.h"
10 #include "core/frame/csp/CSPSource.h" 10 #include "core/frame/csp/CSPSource.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // The algorothm is described more extensively here: 51 // The algorothm is described more extensively here:
52 // https://w3c.github.io/webappsec-csp/embedded/#subsume-source-list 52 // https://w3c.github.io/webappsec-csp/embedded/#subsume-source-list
53 bool subsumes(const HeapVector<Member<SourceListDirective>>&) const; 53 bool subsumes(const HeapVector<Member<SourceListDirective>>&) const;
54 54
55 private: 55 private:
56 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectCSPSources); 56 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectCSPSources);
57 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, 57 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest,
58 GetIntersectCSPSourcesSchemes); 58 GetIntersectCSPSourcesSchemes);
59 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectNonces); 59 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectNonces);
60 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectHashes); 60 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetIntersectHashes);
61 FRIEND_TEST_ALL_PREFIXES(SourceListDirectiveTest, GetSources);
61 FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, GetSourceVector); 62 FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, GetSourceVector);
62 FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, OperativeDirectiveGivenType); 63 FRIEND_TEST_ALL_PREFIXES(CSPDirectiveListTest, OperativeDirectiveGivenType);
63 64
64 bool parseSource(const UChar* begin, 65 bool parseSource(const UChar* begin,
65 const UChar* end, 66 const UChar* end,
66 String& scheme, 67 String& scheme,
67 String& host, 68 String& host,
68 int& port, 69 int& port,
69 String& path, 70 String& path,
70 CSPSource::WildcardDisposition&, 71 CSPSource::WildcardDisposition&,
(...skipping 30 matching lines...) Expand all
101 bool hasSourceMatchInList(const KURL&, ResourceRequest::RedirectStatus) const; 102 bool hasSourceMatchInList(const KURL&, ResourceRequest::RedirectStatus) const;
102 HashSet<String> getIntersectNonces(const HashSet<String>& other) const; 103 HashSet<String> getIntersectNonces(const HashSet<String>& other) const;
103 HashSet<CSPHashValue> getIntersectHashes( 104 HashSet<CSPHashValue> getIntersectHashes(
104 const HashSet<CSPHashValue>& other) const; 105 const HashSet<CSPHashValue>& other) const;
105 HeapVector<Member<CSPSource>> getIntersectCSPSources( 106 HeapVector<Member<CSPSource>> getIntersectCSPSources(
106 const HeapVector<Member<CSPSource>>& other) const; 107 const HeapVector<Member<CSPSource>>& other) const;
107 HeapHashMap<String, Member<CSPSource>> getIntersectSchemesOnly( 108 HeapHashMap<String, Member<CSPSource>> getIntersectSchemesOnly(
108 const HeapVector<Member<CSPSource>>& other) const; 109 const HeapVector<Member<CSPSource>>& other) const;
109 bool subsumesNoncesAndHashes(const HashSet<String>& nonces, 110 bool subsumesNoncesAndHashes(const HashSet<String>& nonces,
110 const HashSet<CSPHashValue> hashes) const; 111 const HashSet<CSPHashValue> hashes) const;
112 HeapVector<Member<CSPSource>> getSources(Member<CSPSource>) const;
111 113
112 Member<ContentSecurityPolicy> m_policy; 114 Member<ContentSecurityPolicy> m_policy;
113 HeapVector<Member<CSPSource>> m_list; 115 HeapVector<Member<CSPSource>> m_list;
114 String m_directiveName; 116 String m_directiveName;
115 bool m_allowSelf; 117 bool m_allowSelf;
116 bool m_allowStar; 118 bool m_allowStar;
117 bool m_allowInline; 119 bool m_allowInline;
118 bool m_allowEval; 120 bool m_allowEval;
119 bool m_allowDynamic; 121 bool m_allowDynamic;
120 bool m_allowHashedAttributes; 122 bool m_allowHashedAttributes;
121 HashSet<String> m_nonces; 123 HashSet<String> m_nonces;
122 HashSet<CSPHashValue> m_hashes; 124 HashSet<CSPHashValue> m_hashes;
123 uint8_t m_hashAlgorithmsUsed; 125 uint8_t m_hashAlgorithmsUsed;
124 }; 126 };
125 127
126 } // namespace blink 128 } // namespace blink
127 129
128 #endif 130 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698