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

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: Update Created 8 years, 8 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 4bee495a511e706bca009a2133a6132850dcdf74..4c3a9edc6a5ec29d7adfacd6999ae88a42661677 100644
--- a/chrome/renderer/extensions/extension_resource_request_policy.cc
+++ b/chrome/renderer/extensions/extension_resource_request_policy.cc
@@ -76,5 +76,28 @@ bool ExtensionResourceRequestPolicy::CanRequestResource(
return true;
}
+// static
+bool ExtensionResourceRequestPolicy::CanRequestExtensionResourceScheme(
+ const GURL& resource_url,
+ WebKit::WebFrame* frame,
+ const ExtensionSet* loaded_extensions) {
+ 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