Нет ничего плохого в вашем коде, он должен работать просто отлично.
Просто убедитесь, что у вашего манифеста есть разрешение вкладок:
manifest.json
{
"name": "My extension",
"version": "1",
"manifest_version": 2,
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs"
]
}
background.js
chrome.tabs.onActivated.addListener(function(info) {
var tab = chrome.tabs.get(info.tabId, function(tab) {
localStorage["current_url"] = tab.url;
});
});