forked from mirrors/gecko-dev
		
	Automatic changes by ESLint, except for manual corrections for .xml files. Differential Revision: https://phabricator.services.mozilla.com/D4439 --HG-- extra : moz-landing-system : lando
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
let SELECT =
 | 
						|
  "<html><body><select id='one'>";
 | 
						|
for (let i = 0; i < 75; i++) {
 | 
						|
  SELECT +=
 | 
						|
    `  <option>${i}${i}${i}${i}${i}</option>`;
 | 
						|
}
 | 
						|
SELECT +=
 | 
						|
    '  <option selected="true">{"end": "true"}</option>' +
 | 
						|
  "</select></body></html>";
 | 
						|
 | 
						|
add_task(async function setup() {
 | 
						|
  await SpecialPowers.pushPrefEnv({
 | 
						|
    "set": [
 | 
						|
      ["dom.select_popup_in_parent.enabled", true],
 | 
						|
      ["dom.forms.selectSearch", true],
 | 
						|
    ],
 | 
						|
  });
 | 
						|
});
 | 
						|
 | 
						|
add_task(async function test_focus_on_search_shouldnt_close_popup() {
 | 
						|
  const pageUrl = "data:text/html," + escape(SELECT);
 | 
						|
  let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, pageUrl);
 | 
						|
 | 
						|
  let menulist = document.getElementById("ContentSelectDropdown");
 | 
						|
  let selectPopup = menulist.menupopup;
 | 
						|
 | 
						|
  let popupShownPromise = BrowserTestUtils.waitForEvent(selectPopup, "popupshown");
 | 
						|
  await BrowserTestUtils.synthesizeMouseAtCenter("#one", { type: "mousedown" }, gBrowser.selectedBrowser);
 | 
						|
  await popupShownPromise;
 | 
						|
 | 
						|
  let searchInput = selectPopup.querySelector("textbox[type='search']");
 | 
						|
  searchInput.scrollIntoView();
 | 
						|
  let searchFocused = BrowserTestUtils.waitForEvent(searchInput, "focus");
 | 
						|
  await EventUtils.synthesizeMouseAtCenter(searchInput, {}, window);
 | 
						|
  await searchFocused;
 | 
						|
 | 
						|
  is(selectPopup.state, "open", "select popup should still be open after clicking on the search field");
 | 
						|
 | 
						|
  await hideSelectPopup(selectPopup, "escape");
 | 
						|
  BrowserTestUtils.removeTab(tab);
 | 
						|
});
 | 
						|
 |