Obtener la pestaña actual y pasarla a la variable en una extensión de Chrome

Estoy intentando crear una función que devuelve la url de la pestaña actual:

function tabURL() {
var url="";
chrome.tabs.getSelected(null, function(tab) {url = tab.url;});
return url;
}

Cuando uso:

chrome.tabs.getSelected(null, function(tab) {alert(tab.url);});

Chrome muestra la url, pero si uso mi función dentro de la consola chrome, la función devuelve "".

¿Hay una manera de pasar el tab.url a una variable y luego devolver esta variable?

Respuestas a la pregunta(1)

Su respuesta a la pregunta