forked from mirrors/gecko-dev
		
	I'm not sure why the non-remote browser case needed to wait for MozAfterPaint. In the remote browser case, we do wait for MozAfterPaint in the content area before focusing the URL bar, but in the non-e10s case, we just focus it right away. MozReview-Commit-ID: gNsk8Oh6JO --HG-- extra : rebase_source : 10d1f5a2ffd5b2cdfba0c2c31fd18d7986367988
		
			
				
	
	
		
			39 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * Tests that the right elements of a tab are focused when it is
 | 
						|
 * torn out into its own window.
 | 
						|
 */
 | 
						|
 | 
						|
const URIS = [
 | 
						|
  "about:blank",
 | 
						|
  "about:sessionrestore",
 | 
						|
  "about:privatebrowsing",
 | 
						|
];
 | 
						|
 | 
						|
add_task(async function() {
 | 
						|
  for (let uri of URIS) {
 | 
						|
    let tab = BrowserTestUtils.addTab(gBrowser);
 | 
						|
    await BrowserTestUtils.loadURI(tab.linkedBrowser, uri);
 | 
						|
 | 
						|
    let win = gBrowser.replaceTabWithWindow(tab);
 | 
						|
 | 
						|
    let contentPainted = Promise.resolve();
 | 
						|
    // In the e10s case, we wait for the content to first paint before we focus
 | 
						|
    // the URL in the new window, to optimize for content paint time.
 | 
						|
    if (tab.linkedBrowser.isRemoteBrowser) {
 | 
						|
      contentPainted =
 | 
						|
        BrowserTestUtils.waitForContentEvent(tab.linkedBrowser, "MozAfterPaint");
 | 
						|
    }
 | 
						|
 | 
						|
    await TestUtils.topicObserved("browser-delayed-startup-finished",
 | 
						|
                                  subject => subject == win);
 | 
						|
    await contentPainted;
 | 
						|
    tab = win.gBrowser.selectedTab;
 | 
						|
 | 
						|
    Assert.equal(win.gBrowser.currentURI.spec, uri, uri + ": uri loaded in detached tab");
 | 
						|
    Assert.equal(win.document.activeElement, win.gBrowser.selectedBrowser, uri + ": browser is focused");
 | 
						|
    Assert.equal(win.gURLBar.value, "", uri + ": urlbar is empty");
 | 
						|
    Assert.ok(win.gURLBar.placeholder, uri + ": placeholder text is present");
 | 
						|
 | 
						|
    await BrowserTestUtils.closeWindow(win);
 | 
						|
  }
 | 
						|
});
 |