зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1133077 - tabbrowser-tabpanels should not attempt to switch tabs if the requested index matches the current index. r=billm.
--HG-- extra : rebase_source : 311f48ecfe0c57c8dfc76583deafba6437cb26f5
This commit is contained in:
Родитель
973ceefcf0
Коммит
7018bc3ed3
|
@ -5480,30 +5480,30 @@
|
|||
var event = document.createEvent("Events");
|
||||
event.initEvent("select", true, true);
|
||||
this.dispatchEvent(event);
|
||||
|
||||
this._selectedIndex = val;
|
||||
|
||||
switchPromise.then(() => {
|
||||
// If we cannot find the tabpanel that we were trying to switch to, then
|
||||
// it must have been removed before our Promise could be resolved. In
|
||||
// that case, we just cancel the tab switch.
|
||||
var updatedTabIndex = Array.indexOf(this.childNodes, newPanel);
|
||||
if (updatedTabIndex == -1) {
|
||||
gBrowser._cancelTabSwitch(toTab);
|
||||
} else {
|
||||
this.setAttribute("selectedIndex", updatedTabIndex);
|
||||
gBrowser._finalizeTabSwitch(toTab, fromTab);
|
||||
}
|
||||
}, () => {
|
||||
// If the promise rejected, that means we don't want to actually
|
||||
// flip the deck, so we cancel the tab switch.
|
||||
// We need to nullcheck the method we're about to call because
|
||||
// the binding might be dead at this point.
|
||||
if (gBrowser._cancelTabSwitch)
|
||||
gBrowser._cancelTabSwitch(toTab);
|
||||
});
|
||||
}
|
||||
|
||||
this._selectedIndex = val;
|
||||
|
||||
switchPromise.then(() => {
|
||||
// If we cannot find the tabpanel that we were trying to switch to, then
|
||||
// it must have been removed before our Promise could be resolved. In
|
||||
// that case, we just cancel the tab switch.
|
||||
var updatedTabIndex = Array.indexOf(this.childNodes, newPanel);
|
||||
if (updatedTabIndex == -1) {
|
||||
gBrowser._cancelTabSwitch(toTab);
|
||||
} else {
|
||||
this.setAttribute("selectedIndex", updatedTabIndex);
|
||||
gBrowser._finalizeTabSwitch(toTab, fromTab);
|
||||
}
|
||||
}, () => {
|
||||
// If the promise rejected, that means we don't want to actually
|
||||
// flip the deck, so we cancel the tab switch.
|
||||
// We need to nullcheck the method we're about to call because
|
||||
// the binding might be dead at this point.
|
||||
if (gBrowser._cancelTabSwitch)
|
||||
gBrowser._cancelTabSwitch(toTab);
|
||||
});
|
||||
|
||||
return val;
|
||||
]]>
|
||||
</setter>
|
||||
|
|
Загрузка…
Ссылка в новой задаче