Index: third_party/WebKit/Source/core/frame/csp/CSPSource.h |
diff --git a/third_party/WebKit/Source/core/frame/csp/CSPSource.h b/third_party/WebKit/Source/core/frame/csp/CSPSource.h |
index b049bf6c87966def6e30c4eb3fb72696f106021d..450b56a948f5febb3768a8c477af9a1ea8132f60 100644 |
--- a/third_party/WebKit/Source/core/frame/csp/CSPSource.h |
+++ b/third_party/WebKit/Source/core/frame/csp/CSPSource.h |
@@ -31,16 +31,32 @@ class CORE_EXPORT CSPSource : public GarbageCollectedFinalized<CSPSource> { |
bool matches(const KURL&, |
ResourceRequest::RedirectStatus = |
ResourceRequest::RedirectStatus::NoRedirect) const; |
+ // Check whether this CSPSource is subsumed under a given CSPSource for a |
jochen (gone - plz use gerrit)
2016/11/02 11:11:33
nit. add empty line before this one
|
+ // subsumption algorithm described here: |
+ // https://w3c.github.io/webappsec-csp/embedded/#subsume-policy |
+ bool isSubsumedBy(CSPSource*); |
DECLARE_TRACE(); |
private: |
+ FRIEND_TEST_ALL_PREFIXES(CSPSourceTest, IsSimilar); |
+ |
bool schemeMatches(const String&) const; |
bool hostMatches(const String&) const; |
bool pathMatches(const String&) const; |
// Protocol is necessary to determine default port if it is zero. |
bool portMatches(int port, const String& protocol) const; |
bool isSchemeOnly() const; |
+ bool isPathEmptyOrSlashOnly() const; |
+ // Check if either one of the two matches the scheme, host, port, path of the |
+ // other. More detailed explanation here: |
+ // https://docs.google.com/document/d/1xwTxpB_sWYaTrOBJEPSXtfWKO4M2k9Xya7o0zcd6Dec/edit#heading=h.9efhej5pg0hj |
jochen (gone - plz use gerrit)
2016/11/02 11:11:33
if you put links in the source, please make this a
|
+ bool isSimilar(CSPSource* other); |
+ |
+ bool isWildcardsSubsumedBy(CSPSource* other); |
jochen (gone - plz use gerrit)
2016/11/02 11:11:33
isWildcard or areWildcards
|
+ bool isSchemeSubsumedBy(CSPSource* other); |
+ bool isPortSubsumedBy(CSPSource* other); |
+ bool isPathSubsumedBy(CSPSource* other); |
Member<ContentSecurityPolicy> m_policy; |
String m_scheme; |