Index: chrome/renderer/chrome_content_renderer_client.cc |
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
index 5f902a2065b2d5cdf99e1b3b61b50ee9b0a920a8..6446bd85b3cc6e7d236f0084b72ab3360027a6c8 100644 |
--- a/chrome/renderer/chrome_content_renderer_client.cc |
+++ b/chrome/renderer/chrome_content_renderer_client.cc |
@@ -214,6 +214,14 @@ void ChromeContentRendererClient::RenderThreadStarted() { |
// chrome-extension: resources should be allowed to receive CORS requests. |
WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_scheme); |
+ |
+ WebString extension_resource_scheme( |
+ ASCIIToUTF16(chrome::kExtensionResourceScheme)); |
+ WebSecurityPolicy::registerURLSchemeAsSecure(extension_resource_scheme); |
+ |
+ // chrome-extension-resource: resources should be allowed to receive CORS |
+ // requests. |
+ WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); |
} |
void ChromeContentRendererClient::RenderViewCreated( |
@@ -703,11 +711,9 @@ bool ChromeContentRendererClient::ShouldFork(WebFrame* frame, |
bool ChromeContentRendererClient::WillSendRequest(WebKit::WebFrame* frame, |
const GURL& url, |
GURL* new_url) { |
- // If the request is for an extension resource, check whether it should be |
- // allowed. If not allowed, we reset the URL to something invalid to prevent |
- // the request and cause an error. |
- if (url.SchemeIs(chrome::kExtensionScheme) && |
- !ExtensionResourceRequestPolicy::CanRequestResource( |
+ // Check whether the request should be allowed. If not allowed, we reset the |
+ // URL to something invalid to prevent the request and cause an error. |
+ if (!ExtensionResourceRequestPolicy::CanRequestResource( |
url, |
frame, |
extension_dispatcher_->extensions())) { |