Я нашел обходной путь для того, что я хотел сделать. На фоновой странице:
chrome.tabs.onActiveChanged.addListener(OnActiveChanged);
function OnActiveChanged( tabId, selectInfo )
{
chrome.tabs.get( tabId, function( tab ){
window.activeTab = tab;
} );
}
Это захватывает вкладку каждый раз, когда вкладка изменяется. Затем в функции моего всплывающего окна появляется вкладка с фоновой страницы:
function OnLogin( )
{
backgroundWindow = chrome.extension.getBackgroundPage();
var activeTab = backgroundWindow.activeTab;
...
}
Будьте осторожны при отладке кода. Отладчик вызывает событие изменения вкладки, которое меняет вкладку в сторону от вкладки, которая открыла всплывающее окно.