My question is this: is there any way to be able to both (a) use eval statements and (b) use cross-site XHR within the extension environment? It seems that content scripts have this combination of abilities (with the chrome.* APIs restricted, but cross-site scripting allowed), so I'm holding out a glimmer of hope that it might be possible within the background page as well.
Greg,Unfortunately, I cannot offer any wisdom, guidance or advice, but I am wondering if I am facing the same issue you have and was hoping you can confirm. I am trying to create my first extension, diving straight into version 2 manifest because I want to eventually offer my web app as a packaged app. I am also using extJS. To get me started I have been trying to create a simple POC packaged app which has a grid and makes a REST call to a public server to populate the grid with data from the JSON returned by the request. I have everything running in a sandbox iframe, and have given permission in the manifest to the url processing the request (http://dev.sencha.com/), but I still get the following error:XMLHttpRequest cannot load http://dev.sencha.com/deploy/ext-4.1.0-gpl/examples/restful/app.php/users?_dc=1343219709757&page=1&start=0&limit=25. Cannot make any requests from null.Is cross-site scripting not allowed in a iframe, or does it look like I'm I doing something else wrong?Thanks,Mike
The most irritating part of the discussion is the remark that allowing cross-origin XHR requests only in the background page and allowing inline scripts and eval only in sandboxed iframes/pages *does not actually eliminate any vulnerability*; it only makes it more complicated to program the type of functionality described in the first port of this post, forcing a functionality split and the use of sendMessage.
More and more I'm afraid my extension will be discontinued; too much hassle to fix for no additional features and with no guarantee either that even more stringent breaking changes won't be introduced again in the future :-(