Found possible solution. Theres a simple implementation of RequireJS main method require which uses JavaScript callback trace to find event for loading main extension file and binds executes it with extension context. https://github.com/salsita/browser-require/blob/master/require.js
It seems to work, but this solution has a few cons:
- bug reports are reported in "line 1, column 1" because this solution injects code directly to
func.call
- debugging is very hard - Loaded JS files does not appear in console / chromebug
- If current tab uses HTTPS Chrome will disallow evaling scripts, especially this from local context (
file:///
), so it sometimes just dont work as expected