Все разобрался, на стороне инжекшена:
var editorExtensionId = "dkjkabjbiklebdaljhmpflnnjgibpbgh";
chrome.runtime.sendMessage(editorExtensionId, {greeting: "hello"},
function(response) {
console.log(response.farewell);
});
На стороне background.js прямо в корне:
chrome.runtime.onMessageExternal.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
}
);
Единственное что желательно при запросе с инжекшена сделать вызов по таймауту, а то в зависимости от канала.