forked from mirrors/gecko-dev
		
	--HG-- extra : commitid : GukwXUsbANw extra : rebase_source : 7fd34f268859887633c39db31504b9237126a55b extra : source : 32196b22b4544981f5658ce028e7566bff3fbca4
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
   http://creativecommons.org/publicdomain/zero/1.0/ */
 | 
						|
 | 
						|
var state = {windows:[{tabs:[
 | 
						|
  {entries:[{url:"http://example.com#1"}]},
 | 
						|
  {entries:[{url:"http://example.com#2"}], hidden: true}
 | 
						|
]}]};
 | 
						|
 | 
						|
function test() {
 | 
						|
  waitForExplicitFinish();
 | 
						|
 | 
						|
  newWindowWithState(state, function (aWindow) {
 | 
						|
    let tab = aWindow.gBrowser.tabs[1];
 | 
						|
    ok(tab.hidden, "the second tab is hidden");
 | 
						|
 | 
						|
    let tabShown = false;
 | 
						|
    let tabShowCallback = () => tabShown = true;
 | 
						|
    tab.addEventListener("TabShow", tabShowCallback, false);
 | 
						|
 | 
						|
    let tabState = ss.getTabState(tab);
 | 
						|
    ss.setTabState(tab, tabState);
 | 
						|
 | 
						|
    tab.removeEventListener("TabShow", tabShowCallback, false);
 | 
						|
    ok(tab.hidden && !tabShown, "tab remains hidden");
 | 
						|
 | 
						|
    finish();
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
// ----------
 | 
						|
function newWindowWithState(aState, aCallback) {
 | 
						|
  let opts = "chrome,all,dialog=no,height=800,width=800";
 | 
						|
  let win = window.openDialog(getBrowserURL(), "_blank", opts);
 | 
						|
 | 
						|
  registerCleanupFunction(() => BrowserTestUtils.closeWindow(win));
 | 
						|
 | 
						|
  whenWindowLoaded(win, function onWindowLoaded(aWin) {
 | 
						|
    ss.setWindowState(aWin, JSON.stringify(aState), true);
 | 
						|
    executeSoon(() => aCallback(aWin));
 | 
						|
  });
 | 
						|
}
 |