Проблему решыл по другому.
localStorage чето не работало(может я както не так делал) попробовал chrome.storage 
В итоге:
manifest.json добавил
"permissions": [
"storage"
],
"background": {
"scripts": ["js/background.js"]
}
В contextscript запись в chrome.storage(так как мое розшырение уже писало инфу в локал сторейдж придеться дублировать)
chrome.storage.sync.set({'testid': '123'});
В backgroundpage:
chrome.storage.onChanged.addListener(function(changes, namespace) {
        for (key in changes) {
            if (key === 'testid') {
            var storageChange = changes[key];
            chrome.browserAction.setBadgeText({text: (storageChange.newValue).toString()});
            }
        }
      });