It appears that setting a “content_scripts” “run_at” (in the manifest.json) to anything other than “document_start” is ignored. In other words “document_end” and “document_idle” and [no argument] are ignored.
https://developer.chrome.com/extensions/content_scripts
It also appears that the sendResponse messaging from the background page does not send valid objects. The typeof of the return says it is an object, but accessing it returns an error. Instead, we have to turn the object to a string, send the response, receive the string response and then turn it back into an object. Obviously, this is not the end of the world, but it IS different than Chrome. At the moment, chrome.runtime.sendMessage seems to have issues.
It would be also awesome to be able to console.log() from the “background”, “browser_action”, and “options_page”. At the very least to the Firefox console (possibly when using --console and/or --debug).
And it would be even more awesome if “page_action” was implemented. “browser_action” is an absolute drag for people that don’t like their window always cluttered.
Thanks for anyone reading this.