Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Unified Diff: chrome/renderer/extensions/extension_resource_request_policy.cc

Issue 9909019: Add schema chrome-extension-resource:// for extension resources (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Make some test flaky for OSX Created 8 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {
}

Powered by Google App Engine
This is Rietveld 408576698