Chromium Code Reviews| Index: Source/core/loader/cache/CachedResourceLoader.cpp |
| diff --git a/Source/core/loader/cache/CachedResourceLoader.cpp b/Source/core/loader/cache/CachedResourceLoader.cpp |
| index 6f1a33037b25294ae8fea1cae4247c88ef6ae961..8e3d4bfe488d0473d6812081de8a925d6098bd86 100644 |
| --- a/Source/core/loader/cache/CachedResourceLoader.cpp |
| +++ b/Source/core/loader/cache/CachedResourceLoader.cpp |
| @@ -146,7 +146,7 @@ CachedResourceHandle<CachedImage> CachedResourceLoader::requestImage(CachedResou |
| if (Frame* f = frame()) { |
| if (f->loader()->pageDismissalEventBeingDispatched() != FrameLoader::NoDismissal) { |
| KURL requestURL = request.resourceRequest().url(); |
| - if (requestURL.isValid() && canRequest(CachedResource::ImageResource, requestURL)) |
| + if (requestURL.isValid() && canRequest(CachedResource::ImageResource, requestURL, NULL)) |
|
abarth-chromium
2013/05/14 21:11:08
NULL -> 0
jww
2013/05/14 22:55:30
Done.
|
| PingLoader::loadImage(f, requestURL); |
| return 0; |
| } |
| @@ -268,7 +268,7 @@ bool CachedResourceLoader::checkInsecureContent(CachedResource::Type type, const |
| return true; |
| } |
| -bool CachedResourceLoader::canRequest(CachedResource::Type type, const KURL& url, bool forPreload) |
| +bool CachedResourceLoader::canRequest(CachedResource::Type type, const KURL& url, PassRefPtr<Element> initiatorElement, bool forPreload) |
| { |
| if (document() && !document()->securityOrigin()->canDisplay(url)) { |
| if (!forPreload) |
| @@ -308,13 +308,15 @@ bool CachedResourceLoader::canRequest(CachedResource::Type type, const KURL& url |
| break; |
| } |
| + const String& nonce = (initiatorElement != NULL) ? initiatorElement->fastGetAttribute(HTMLNames::nonceAttr) : AtomicString(); |
|
abarth-chromium
2013/05/14 21:11:08
(initiatorElement != NULL) -> initiatorElement
jww
2013/05/14 22:55:30
Done.
|
| + |
| switch (type) { |
| case CachedResource::XSLStyleSheet: |
| - if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowScriptFromSource(url)) |
| + if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowScriptFromSource(url, nonce)) |
| return false; |
| break; |
| case CachedResource::Script: |
| - if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowScriptFromSource(url)) |
| + if (!shouldBypassMainWorldContentSecurityPolicy && !m_document->contentSecurityPolicy()->allowScriptFromSource(url, nonce)) |
| return false; |
| if (frame()) { |
| @@ -379,7 +381,7 @@ CachedResourceHandle<CachedResource> CachedResourceLoader::requestResource(Cache |
| if (!url.isValid()) |
| return 0; |
| - if (!canRequest(type, url, request.forPreload())) |
| + if (!canRequest(type, url, request.initiatorElement(), request.forPreload())) |
| return 0; |
| if (Frame* f = frame()) |