| Index: Source/core/loader/FrameLoader.cpp
|
| diff --git a/Source/core/loader/FrameLoader.cpp b/Source/core/loader/FrameLoader.cpp
|
| index f079d040b25872e1cbbc989bfa23f5bc7c052b2e..05796949ff95a2d8ab539c521fa8b89b6a4a001f 100644
|
| --- a/Source/core/loader/FrameLoader.cpp
|
| +++ b/Source/core/loader/FrameLoader.cpp
|
| @@ -380,7 +380,11 @@ void FrameLoader::didBeginDocument(bool dispatch)
|
| if (dispatch)
|
| dispatchDidClearDocumentOfWindowObject();
|
|
|
| - m_frame->document()->initContentSecurityPolicy(m_documentLoader ? ContentSecurityPolicyResponseHeaders(m_documentLoader->response()) : ContentSecurityPolicyResponseHeaders());
|
| + // FIXME: Move this to DocumentLoader::responseReceived, next to the X-Frame-Options checks.
|
| + RefPtr<ContentSecurityPolicy> csp = ContentSecurityPolicy::create();
|
| + if (m_documentLoader)
|
| + csp->didReceiveHeaders(ContentSecurityPolicyResponseHeaders(m_documentLoader->response()));
|
| + m_frame->document()->initContentSecurityPolicy(csp);
|
|
|
| if (!m_frame->document()->contentSecurityPolicy()->allowAncestors(m_frame)) {
|
| didFailContentSecurityPolicyCheck(this);
|
|
|