Case 1
I am using this snippet to send a request to my background page, and receive a message
chrome.runtime.sendMessage({details: "Command1"}, function(response) {
              console.log(response.farewell);
});
This works perfectly when it is called stand alone.
Here is my background page code which responds to the request :-
if(typeof(request.details) != "undefined"){
        console.log("Detail Array was asked for !");
        sendResponse({farewell: "Some Data here"});
        console.log("Respo 1 sent");
    } 
As expected, on calling details : command1 from content script page, I get the expected output "Some Data here", back in my content scripts
Case 2
I am trying to generalize this for a number of requests, so, I did a change in my content scripts as shown :-
function sendMessage(toSendKey, toSendVal, funcName){
chrome.runtime.sendMessage({toSendKey: toSendVal}, function(response) {
           console.log("Response received");
           respoObt = response.farewell;
           console.log(respoObt);
           funcName(respoObt);
         });
}
function doNothing(data){
    console.log(data);
}
sendMessage("details", "Command1", doNothing);
Now on calling the function with appropriate parameters, I can see the two console logs ("Detail Array was asked for !", "Respo 1 sent") in my background page, confirming that the request has reached it, but, the response sent back is not able to reach to content script page.
What could be the possible culprit ? Am I missing something ?
 
    