Задача следующая: нужно отслеживать загрузку страниц в табах и инициализировать в них некоторые переменные.
С первым всё просто. Делаю так:
function init_page (event) {
if (event.originalTarget instanceof HTMLDocument) {
var doc = event.originalTarget;
. . .
}
}
gBrowser.addEventListener('load', init_page, true);
Т.е. загружаем страницу и получаем document. А для того, чтобы инициализировать переменные, нужен window.
Для получения доступа к window текущего таба делаю следующее:
var win = new XPCNativeWrapper(content, "document").window;
Но вот получить window только что загруженного таба не получается. Ни doc.parentWindow, ни махинации с XPCNativeWrapper не помогли.