Index: extensions/common/features/simple_feature.cc |
diff --git a/extensions/common/features/simple_feature.cc b/extensions/common/features/simple_feature.cc |
index e623bcf47d7661c48a2080f85d590f3b9cfc0a48..3dba373c954343b60ccc0926ff1d2dd389c271d2 100644 |
--- a/extensions/common/features/simple_feature.cc |
+++ b/extensions/common/features/simple_feature.cc |
@@ -17,6 +17,7 @@ |
#include "base/strings/stringprintf.h" |
#include "extensions/common/extension_api.h" |
#include "extensions/common/features/feature_provider.h" |
+#include "extensions/common/permissions/permissions_data.h" |
#include "extensions/common/switches.h" |
namespace extensions { |
@@ -406,7 +407,9 @@ Feature::Availability SimpleFeature::IsAvailableToContext( |
// Fewer surprises, and if the feature configuration wants to isolate |
// "matches" from say "blessed_extension" then they can use complex features. |
if ((context == WEB_PAGE_CONTEXT || context == WEBUI_CONTEXT) && |
- !matches_.MatchesURL(url)) { |
+ (!matches_.MatchesURL(url) || |
+ (url.is_valid() && |
sadrul
2014/08/06 18:51:51
The check for url.is_valid() is here because Exten
not at google - send to devlin
2014/08/06 22:10:28
damn, it looks like this check is breaking the web
|
+ PermissionsData::IsRestrictedUrl(url, url, extension, NULL)))) { |
return CreateAvailability(INVALID_URL, url); |
} |