gecko/browser/components/tabview/test/browser_tabview_bug602432.js

46 lines
1.4 KiB
JavaScript
Raw Normal View History

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
function test() {
let checkUpdateTimes = function (groupItem) {
let children = groupItem.getChildren();
let earliestUpdateTime = children.shift()._testLastTabUpdateTime;
children.forEach(function (tabItem) {
let updateTime = tabItem._testLastTabUpdateTime;
ok(earliestUpdateTime <= updateTime, "Stacked group item update (" +
updateTime + ") > first item (" + earliestUpdateTime + ")");
});
}
waitForExplicitFinish();
newWindowWithTabView(function (win) {
registerCleanupFunction(function () win.close());
let numTabsToUpdate = 10;
let groupItem = createGroupItemWithBlankTabs(win, 150, 150, 100, numTabsToUpdate, false);
ok(groupItem.isStacked(), "groupItem is stacked");
let cw = win.TabView.getContentWindow();
cw.TabItems.pausePainting();
groupItem.getChildren().forEach(function (tabItem) {
tabItem.addSubscriber("updated", function onUpdated() {
tabItem.removeSubscriber("updated", onUpdated);
tabItem._testLastTabUpdateTime = tabItem._lastTabUpdateTime;
if (--numTabsToUpdate)
return;
checkUpdateTimes(groupItem);
finish();
});
cw.TabItems.update(tabItem.tab);
});
cw.TabItems.resumePainting();
});
}