Index: chrome/common/extensions/extension.cc |
=================================================================== |
--- chrome/common/extensions/extension.cc (revision 32232) |
+++ chrome/common/extensions/extension.cc (working copy) |
@@ -247,11 +247,21 @@ |
IntToString(definition_index), IntToString(j)); |
return false; |
} |
+ std::string scheme = pattern.scheme(); |
+ if (scheme == "file") { |
+ // No content scripts are allowed unless the command line override switch |
+ // was provided. |
+ if (!CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableJsOnFileUrls)) { |
+ *error = errors::kInvalidJsMatches; |
+ return false; |
+ } |
+ } |
result->add_url_pattern(pattern); |
} |
- // include/exclude globs (mostly for Greasemonkey compat) |
+ // Include/exclude globs (mostly for Greasemonkey compatibility). |
if (!LoadGlobsHelper(content_script, definition_index, keys::kIncludeGlobs, |
error, &UserScript::add_glob, result)) { |
return false; |
@@ -262,7 +272,7 @@ |
return false; |
} |
- // js and css keys |
+ // js and css keys. |
ListValue* js = NULL; |
if (content_script->HasKey(keys::kJs) && |
!content_script->GetList(keys::kJs, &js)) { |