Потому что по нажатию нужно выполнить не background, а content-скрипт.
manifest.json
{
"manifest_version": 2,
"name": "Go to URL",
"version": "1.0",
"permissions": ["activeTab"],
"browser_action": {
"default_title": "Go to URL",
"default_icon": "icon.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {
file: "content.js"
});
});
content.js
window.location.href = 'http://…'