Chrome 18 Dev/Canary только что был выпущен, и content_security_policy потребуется в манифесте для определенных расширений.
Я пытаюсь заставить CSP работать для встроенных скриптов, но я не знаю, что я делаю что-то неправильно или это ошибка Chrome 18.
manifest.json:
{
"name": "CSP Test",
"version": "1.0",
"manifest_version": 2,
"options_page": "test.html",
"content_security_policy": "default-src 'unsafe-inline'"
}
test.html:
<html><head>
<script type="text/javascript">
alert("hello");
</script>
</head></html>
В Chrome 18 это распакованное расширение не загружается, отображая сообщение об ошибке:
![Could not load extension from '[extension directory]'. Invalid value for 'content_security_policy'.](/img/53ffcf4a8e436a22cc025f7008f98c5e.png)
Если я изменил значение 'unsafe-inline' на 'self', расширение загрузилось нормально, но alert() не работает, а консоль страницы параметров содержит ошибку:
Отказано в выполнении встроенного script из-за политики безопасности контента.
В Chrome 16, используя 'unsafe-inline', добавляет прекрасную нагрузку и alert(). Однако в Chrome 16 замена 'unsafe-inline' на 'foo' позволяет загружать расширение, но, конечно же, не позволяет alert() работать, поэтому, возможно, Chrome 18 более строг, чем 16, но...
Является ли default-src 'unsafe-inline' фактически недействительным, или это ошибка? Какое значение CSP можно использовать для работы alert() в Chrome 18?
В соответствии с принятым ответом ниже встроенные скрипты больше не работают в расширениях в Chrome 18. alert() необходимо поместить в свой собственный файл JavaScript.

