summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_protocols.cc
diff options
context:
space:
mode:
authoraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 22:55:00 +0000
committeraa@chromium.org <aa@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-23 22:55:00 +0000
commit1cea23942dddeeb854a0f8120812e87b5c962d34 (patch)
tree8b957aaf4e349bd100791ac1c7d8e4c9edbc8dd3 /chrome/browser/extensions/extension_protocols.cc
parent088ee1afadb121aaf01cb033c373ade1d35456ac (diff)
downloadchromium_src-1cea23942dddeeb854a0f8120812e87b5c962d34.zip
chromium_src-1cea23942dddeeb854a0f8120812e87b5c962d34.tar.gz
chromium_src-1cea23942dddeeb854a0f8120812e87b5c962d34.tar.bz2
Allow extensions to request the icons of hosted apps.
BUG=53495 TEST= Review URL: http://codereview.chromium.org/3409004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60371 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_protocols.cc')
-rw-r--r--chrome/browser/extensions/extension_protocols.cc12
1 files changed, 8 insertions, 4 deletions
diff --git a/chrome/browser/extensions/extension_protocols.cc b/chrome/browser/extensions/extension_protocols.cc
index f281c74..874b759 100644
--- a/chrome/browser/extensions/extension_protocols.cc
+++ b/chrome/browser/extensions/extension_protocols.cc
@@ -88,11 +88,15 @@ bool AllowExtensionResourceLoad(URLRequest* request,
return true;
// Disallow loading of packaged resources for hosted apps. We don't allow
- // hybrid hosted/packaged apps.
+ // hybrid hosted/packaged apps. The one exception is access to icons, since
+ // some extensions want to be able to do things like create their own
+ // launchers.
if (context->ExtensionHasWebExtent(request->url().host())) {
- LOG(ERROR) << "Denying load of " << request->url().spec() << " from "
- << "hosted app.";
- return false;
+ if (!context->URLIsForExtensionIcon(request->url())) {
+ LOG(ERROR) << "Denying load of " << request->url().spec() << " from "
+ << "hosted app.";
+ return false;
+ }
}
// Don't allow toplevel navigations to extension resources in incognito mode.