Index: Source/core/frame/ContentSecurityPolicy.cpp |
diff --git a/Source/core/frame/ContentSecurityPolicy.cpp b/Source/core/frame/ContentSecurityPolicy.cpp |
index 3057041a962646db9ca31b078183f23b25420e81..b3e3a1b0a210ec1bc934ed13e8e01d8dd0a0e857 100644 |
--- a/Source/core/frame/ContentSecurityPolicy.cpp |
+++ b/Source/core/frame/ContentSecurityPolicy.cpp |
@@ -1692,9 +1692,8 @@ void ContentSecurityPolicy::didReceiveHeader(const String& header, HeaderType ty |
void ContentSecurityPolicy::addPolicyFromHeaderValue(const String& header, HeaderType type, HeaderSource source) |
{ |
- Document* document = 0; |
- if (m_client->isDocument()) { |
- document = static_cast<Document*>(m_client); |
+ Document* document = this->document(); |
+ if (document) { |
UseCounter::count(*document, getUseCounterType(type)); |
// CSP 1.1 defines report-only in a <meta> element as invalid. Measure for now, disable in experimental mode. |
@@ -1859,10 +1858,8 @@ bool ContentSecurityPolicy::allowScriptEval(ScriptState* state, ContentSecurityP |
bool ContentSecurityPolicy::allowStyleEval(ScriptState* state, ContentSecurityPolicy::ReportingStatus reportingStatus) const |
{ |
if (!experimentalFeaturesEnabled()) { |
- if (m_client->isDocument()) { |
- Document* document = static_cast<Document*>(m_client); |
+ if (Document* document = this->document()) |
UseCounter::count(*document, UseCounter::UnsafeEvalBlocksCSSOM); |
- } |
return true; |
} |
return isAllowedByAllWithState<&CSPDirectiveList::allowStyleEval>(m_policies, state, reportingStatus); |
@@ -2079,8 +2076,8 @@ KURL ContentSecurityPolicy::completeURL(const String& url) const |
void ContentSecurityPolicy::enforceSandboxFlags(SandboxFlags mask) const |
{ |
- if (m_client->isDocument()) |
- static_cast<Document*>(m_client)->enforceSandboxFlags(mask); |
+ if (Document* document = this->document()) |
+ document->enforceSandboxFlags(mask); |
} |
static String stripURLForUseInReport(Document* document, const KURL& url) |
@@ -2128,7 +2125,7 @@ void ContentSecurityPolicy::reportViolation(const String& directiveText, const S |
if (!m_client->isDocument()) |
return; |
- Document* document = static_cast<Document*>(m_client); |
+ Document* document = this->document(); |
Frame* frame = document->frame(); |
if (!frame) |
return; |