Насколько я знаю, нет встроенной функции getTabForBrowser
, поэтому вам придется свернуть свою собственную. Однако в вашем коде предполагается, что узлы браузера хранятся в том же порядке DOM, что и узлы табуляции. Я не могу точно сказать, нарушено ли когда-либо это предположение, но, учитывая, что вкладки могут быть произвольно перемещены пользователем, я не могу на это полагаться.
К счастью, у каждого объекта вкладки есть свойство linkedBrowser
. Таким образом, вы можете переписать свой код так:
gBrowser.getTabForBrowser = function(browser) {
var mTabs = gBrowser.mTabContainer.childNodes;
for (var i=0, i<mTabs.length; i++) {
if (mTabs[i].linkedBrowser == browser) {
return mTabs[i];
}
}
return null;
}