| Index: chrome/renderer/extensions/extension_resource_request_policy.cc
|
| diff --git a/chrome/renderer/extensions/extension_resource_request_policy.cc b/chrome/renderer/extensions/extension_resource_request_policy.cc
|
| index c7b5b5af6069224d87640aac8380f806a4b5ef44..6e62a85df56d5a0124f79e3ca261f6046d92b646 100644
|
| --- a/chrome/renderer/extensions/extension_resource_request_policy.cc
|
| +++ b/chrome/renderer/extensions/extension_resource_request_policy.cc
|
| @@ -81,5 +81,27 @@ bool ExtensionResourceRequestPolicy::CanRequestResource(
|
| return true;
|
| }
|
|
|
| +// static
|
| +bool ExtensionResourceRequestPolicy::CanRequestExtensionResourceScheme(
|
| + const GURL& resource_url,
|
| + WebKit::WebFrame* frame) {
|
| + CHECK(resource_url.SchemeIs(chrome::kExtensionResourceScheme));
|
| +
|
| + GURL frame_url = frame->document().url();
|
| + if (!frame_url.is_empty() &&
|
| + !frame_url.SchemeIs(chrome::kExtensionScheme)) {
|
| + std::string message = base::StringPrintf(
|
| + "Denying load of %s. chrome-extension-resources:// can only be "
|
| + "loaded from extensions.",
|
| + resource_url.spec().c_str());
|
| + frame->addMessageToConsole(
|
| + WebKit::WebConsoleMessage(WebKit::WebConsoleMessage::LevelError,
|
| + WebKit::WebString::fromUTF8(message)));
|
| + return false;
|
| + }
|
| +
|
| + return true;
|
| +}
|
| +
|
| ExtensionResourceRequestPolicy::ExtensionResourceRequestPolicy() {
|
| }
|
|
|