forked from mirrors/gecko-dev
		
	 7a8fd6fede
			
		
	
	
		7a8fd6fede
		
	
	
	
	
		
			
			I think the focus shenanigans instead of waiting for tab-switching or what not may be tripping this tests and causing the background tab to be blurred, but I didn't spend too much time trying to reproduce the failure. Differential Revision: https://phabricator.services.mozilla.com/D61096 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| add_task(async function() {
 | |
|   const URL =
 | |
|     "data:text/html,<!DOCTYPE html><html><body><input autofocus id='target'></body></html>";
 | |
|   const foregroundTab = gBrowser.selectedTab;
 | |
|   const backgroundTab = BrowserTestUtils.addTab(gBrowser);
 | |
| 
 | |
|   // Ensure tab is still in the foreground.
 | |
|   is(
 | |
|     gBrowser.selectedTab,
 | |
|     foregroundTab,
 | |
|     "foregroundTab should still be selected"
 | |
|   );
 | |
| 
 | |
|   // Load the second tab in the background.
 | |
|   const loadedPromise = BrowserTestUtils.browserLoaded(
 | |
|     backgroundTab.linkedBrowser,
 | |
|     /* includesubframes */ false,
 | |
|     URL
 | |
|   );
 | |
|   BrowserTestUtils.loadURI(backgroundTab.linkedBrowser, URL);
 | |
|   await loadedPromise;
 | |
| 
 | |
|   // Get active element in the tab.
 | |
|   let tagName = await SpecialPowers.spawn(
 | |
|     backgroundTab.linkedBrowser,
 | |
|     [],
 | |
|     async function() {
 | |
|       return content.document.activeElement.tagName;
 | |
|     }
 | |
|   );
 | |
| 
 | |
|   is(
 | |
|     tagName,
 | |
|     "INPUT",
 | |
|     "The background tab's focused element should be the <input>"
 | |
|   );
 | |
| 
 | |
|   is(
 | |
|     gBrowser.selectedTab,
 | |
|     foregroundTab,
 | |
|     "foregroundTab tab should still be selected, shouldn't cause a tab switch"
 | |
|   );
 | |
| 
 | |
|   is(
 | |
|     document.activeElement,
 | |
|     foregroundTab.linkedBrowser,
 | |
|     "The background tab's focused element should not cause the tab to be selected"
 | |
|   );
 | |
| 
 | |
|   // Cleaning up.
 | |
|   BrowserTestUtils.removeTab(backgroundTab);
 | |
| });
 |