Skip to content

Commit

Permalink
Bug 594909 - Intermittent failure in browser/base/content/test/tabvie…
Browse files Browse the repository at this point in the history
…w/browser_tabview_launch.js | Tab View is visible r=dietrich, a=test
  • Loading branch information
iangilman committed Oct 21, 2010
1 parent e8113ed commit b5b0533
Showing 1 changed file with 21 additions and 6 deletions.
27 changes: 21 additions & 6 deletions browser/base/content/test/tabview/browser_tabview_launch.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,28 @@ function test() {
function onTabViewLoadedAndShown() {
window.removeEventListener("tabviewshown", onTabViewLoadedAndShown, false);

ok(TabView.isVisible(), "Tab View is visible. Count: " + tabViewShownCount);
tabViewShownCount++;
// Evidently sometimes isVisible (which is based on the selectedIndex of the
// tabview deck) isn't updated immediately when called from button.doCommand,
// so we add a little timeout here to get outside of the doCommand call.
// If the initial timeout isn't enough, we keep waiting in case it's taking
// longer than expected.
// See bug 594909.
let deck = document.getElementById("tab-view-deck");
function waitForSwitch() {
if (deck.selectedIndex == 1) {
ok(TabView.isVisible(), "Tab View is visible. Count: " + tabViewShownCount);
tabViewShownCount++;

// kick off the series
window.addEventListener("tabviewshown", onTabViewShown, false);
window.addEventListener("tabviewhidden", onTabViewHidden, false);
TabView.toggle();
} else {
setTimeout(waitForSwitch, 10);
}
}

// kick off the series
window.addEventListener("tabviewshown", onTabViewShown, false);
window.addEventListener("tabviewhidden", onTabViewHidden, false);
TabView.toggle();
setTimeout(waitForSwitch, 1);
}

// ----------
Expand Down

0 comments on commit b5b0533

Please sign in to comment.