Selamlar bu kodda ne yanlış olabilir sizce ?
Sorunum şu; inject.js dosyasında xmlhttprequest ile url request ediyorum 2 defa çağırıyor.
background.js
function ensureSendMessage(tabId, message, callback){
  chrome.tabs.sendMessage(tabId, {ping: true}, function(response){
    if(response && response.pong) { // Content script ready
      chrome.tabs.sendMessage(tabId, message, callback);
    } else { // No listener on the other end
      chrome.scripting.executeScript({
         target: {tabId: tabId, allFrames: true},
        files: ['inject.js']}, function(){
        if(chrome.runtime.lastError) {
          console.error(chrome.runtime.lastError);
          throw Error("Unable to inject script into tab " + tabId);
        }
        // OK, now it's injected and ready
        chrome.tabs.sendMessage(tabId, message, callback);
      });
    }
  });
}

var domain = "https://twitter.com";
    chrome.cookies.getAll({url:domain},function(cookies){
    for(var i in cookies){      
      var value = cookies[i].value;
      var name = cookies[i].name;
      if(name == "ct0 "){
          cok = value;
      }
    }
    
  });

chrome.tabs.query({}, function(tabs) {
for (var i=0; i<tabs.length; ++i) {
    if (tabs[i].url.indexOf("twitter.com") > 0){
    ensureSendMessage(tabs[i].id, {cookie: cok, cmd: "post"});
    }
}
});
inject.js

"eklentiyi aktif ettiğimde bu kısım 2 defa tetikleniyor.."
chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if(request.cmd == "post")
        
    var xhr = new XMLHttpRequest();
    xhr.open('GET', 'https://example.com', true);
    
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) {
            xhr.close;
            var response = JSON.parse(xhr.responseText);
            
            update(response.contents);
        }
    }
    xhr.send();
  }
);