diff --git a/install.rdf b/install.rdf index 22f10cb..3c487ef 100644 --- a/install.rdf +++ b/install.rdf @@ -22,7 +22,7 @@ {ec8030f7-c20a-464f-9b0e-13a3a9e97384} 4.0b1 - 4.0.* + 6.0.* diff --git a/modules/prototypes.js b/modules/prototypes.js index 0e1c829..a15726e 100644 --- a/modules/prototypes.js +++ b/modules/prototypes.js @@ -323,12 +323,12 @@ BarTabHandler.prototype = { while ((aTab._tPos - i >= 0) || (aTab._tPos + i < tabbrowser.mTabs.length)) { if (aTab._tPos + i < tabbrowser.mTabs.length) { - if (tabbrowser.mTabs[aTab._tPos+i].getAttribute("ontab") != "true") { + if (tabbrowser.mTabs[aTab._tPos+i].getAttribute("ontab") != "true" && tabbrowser.mTabs[aTab._tPos+i].getAttribute("linkedpanel") == aTab.selectedPanel) { return tabbrowser.mTabs[aTab._tPos+i]; } } if (aTab._tPos - i >= 0) { - if (tabbrowser.mTabs[aTab._tPos-i].getAttribute("ontab") != "true") { + if (tabbrowser.mTabs[aTab._tPos-i].getAttribute("ontab") != "true" && tabbrowser.mTabs[aTab._tPos-i].getAttribute("linkedpanel") == aTab.selectedPanel ) { return tabbrowser.mTabs[aTab._tPos-i]; } } @@ -542,6 +542,9 @@ BarTabWebNavigation.prototype = { /*** These methods and properties are simply passed through. ***/ + setCurrentURI: function (aURI) { + return this._original.setCurrentURI(aURI); + }, goBack: function () { return this._original.goBack(); }, @@ -658,6 +661,16 @@ BarTabWebProgressListener.prototype = { browser.webNavigation.unhook(); return; } + + // Panorama switch + if (this._tab._tabViewTabItem && + this._tab._tabViewTabItem.parent && + this._tab._tabViewTabItem.parent._activeTab.tab && + this._tab._tabViewTabItem.parent._activeTab.tab == this._tab + ) { + this._tab.removeAttribute("ontab"); + return; + } // If it's an HTTP request, we want to set the right referrer. // And if it's a POST request on top of that, we want to make