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

Unified Diff: Source/core/frame/csp/ContentSecurityPolicy.h

Issue 27073003: CSP Suborigins Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address many of mkwst's comments Created 5 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/frame/csp/ContentSecurityPolicy.h
diff --git a/Source/core/frame/csp/ContentSecurityPolicy.h b/Source/core/frame/csp/ContentSecurityPolicy.h
index a1fdc3af5f93cf4398e84bafc6a94561994e8447..c755683c7710a99daa7352671c75fb9f353b8ca9 100644
--- a/Source/core/frame/csp/ContentSecurityPolicy.h
+++ b/Source/core/frame/csp/ContentSecurityPolicy.h
@@ -96,6 +96,10 @@ public:
// https://w3c.github.io/webappsec/specs/upgrade/
static const char UpgradeInsecureRequests[];
+ // Suborigin Directive
+ // https://metromoxie.github.io/webappsec/specs/suborigins/index.html
+ static const char Suborigin[];
+
enum ReportingStatus {
SendReport,
SuppressReport
@@ -192,6 +196,7 @@ public:
void reportInvalidPathCharacter(const String& directiveName, const String& value, const char);
void reportInvalidPluginTypes(const String&);
void reportInvalidSandboxFlags(const String&);
+ void reportInvalidSuboriginFlags(const String&);
void reportInvalidSourceExpression(const String& directiveName, const String& source);
void reportInvalidReflectedXSS(const String&);
void reportMissingReportURI(const String&);
@@ -200,6 +205,7 @@ public:
void reportInvalidReferrer(const String&);
void reportReportOnlyInMeta(const String&);
void reportMetaOutsideHead(const String&);
+ void reportSuboriginInMeta(const String&);
void reportValueForEmptyDirective(const String& directiveName, const String& value);
// If a frame is passed in, the report will be sent using it as a context. If no frame is
@@ -211,6 +217,7 @@ public:
const KURL url() const;
void enforceSandboxFlags(SandboxFlags);
+ void enforceSuborigin(const String&);
void enforceStrictMixedContentChecking();
String evalDisabledErrorMessage() const;
@@ -256,6 +263,7 @@ private:
// State flags used to configure the environment after parsing a policy.
SandboxFlags m_sandboxMask;
+ String m_suboriginName;
bool m_enforceStrictMixedContentChecking;
ReferrerPolicy m_referrerPolicy;
String m_disableEvalErrorMessage;

Powered by Google App Engine
This is Rietveld 408576698