Bug 596687 - Don't dispatch TabAttrModified after TabClose. r+a=gavin

This commit is contained in:
Dão Gottwald 2010-09-20 20:18:04 +02:00
Родитель a3ea4001e7
Коммит 58a8831eae
3 изменённых файлов: 24 добавлений и 0 удалений

Просмотреть файл

@ -888,6 +888,9 @@
<method name="_tabAttrModified">
<parameter name="aTab"/>
<body><![CDATA[
if (this._removingTabs.indexOf(aTab) > -1)
return;
// This event should be dispatched when any of these attributes change:
// label, crop, busy, image, selected
var event = document.createEvent("Events");

Просмотреть файл

@ -152,6 +152,7 @@ _BROWSER_FILES = \
browser_bug581947.js \
browser_bug585830.js \
browser_bug592338.js \
browser_bug596687.js \
browser_contextSearchTabPosition.js \
browser_ctrlTab.js \
browser_discovery.js \

Просмотреть файл

@ -0,0 +1,20 @@
function test() {
var tab = gBrowser.addTab(null, {skipAnimation: true});
gBrowser.selectedTab = tab;
var gotTabAttrModified = false;
var gotTabClose = false;
tab.addEventListener("TabClose", function () {
gotTabClose = true;
tab.addEventListener("TabAttrModified", function () {
gotTabAttrModified = true;
}, false);
}, false);
gBrowser.removeTab(tab);
ok(gotTabClose, "should have got the TabClose event");
ok(!gotTabAttrModified, "shouldn't have got the TabAttrModified event after TabClose");
}