Edit: Modified code using https://developer.chrome.com/extensions/devtools#evaluated-scripts-to-devtools as reference. Still no luck.
I'm trying to code a chrome-extension which uses chrome.* API call and save portions of the result in a file. I want to automate everything from the loading of the page to the text file download and hence, I don't want to use the browser.onclick() event. My current attempt has no effect.
What changes would I need to make?
https://stackoverflow.com/a/16720024
Using the above answer as reference, I attempted the following:
manifest.json
{
   "name":"Test Extension",
   "version":"0.0.1",
   "manifest_version": 2,
   "description":"Description",
   "permissions":["tabs"],
   "background": {
    "scripts": ["background.js"]
    },
   "devtools_page": "devtools.html"
}
background.js
// Background page -- background.js
chrome.runtime.onConnect.addListener(function(devToolsConnection) {
    // assign the listener function to a variable so we can remove it later
    var devToolsListener = function(message, sender, sendResponse) {
        // Inject a content script into the identified tab
        chrome.tabs.executeScript(message.tabId,
            { file: message.scriptToInject });
    }
    // add the listener
    devToolsConnection.onMessage.addListener(devToolsListener);
    devToolsConnection.onDisconnect.addListener(function() {
         devToolsConnection.onMessage.removeListener(devToolsListener);
    });
}
devtools.js
var backgroundPageConnection = chrome.runtime.connect({
    name: "devtools-page"
});
backgroundPageConnection.onMessage.addListener(function (message) {
    // Handle responses from the background page, if any
});
chrome.devtools.network.onRequestFinished.addListener(
    function(request) {
        chrome.runtime.sendMessage({
            string: "Hi",
            tabId: chrome.devtools.inspectedWindow.tabId,
            scriptToInject: "content.js"
        });
     }
);
chrome.runtime.sendMessage({
    string: "Hi",
    tabId: chrome.devtools.inspectedWindow.tabId,
    scriptToInject: "content.js"
});
content.js
alert("Hello");
