forked from mirrors/gecko-dev
		
	# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35900 --HG-- extra : source : b08f475f1140b9e650b316ee2813c13ec9947678
		
			
				
	
	
		
			60 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Any copyright is dedicated to the Public Domain.
 | 
						|
   http://creativecommons.org/publicdomain/zero/1.0/ */
 | 
						|
 | 
						|
"use strict";
 | 
						|
 | 
						|
add_task(async function() {
 | 
						|
  const URI = "data:text/html;charset=utf-8,<iframe id='test-iframe'></iframe>";
 | 
						|
 | 
						|
  await BrowserTestUtils.withNewTab({ gBrowser, url: URI }, async function(
 | 
						|
    browser
 | 
						|
  ) {
 | 
						|
    await ContentTask.spawn(browser, null, test_body);
 | 
						|
  });
 | 
						|
});
 | 
						|
 | 
						|
async function test_body() {
 | 
						|
  let docshell = docShell;
 | 
						|
 | 
						|
  is(
 | 
						|
    docshell.touchEventsOverride,
 | 
						|
    Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_NONE,
 | 
						|
    "touchEventsOverride flag should be initially set to NONE"
 | 
						|
  );
 | 
						|
 | 
						|
  docshell.touchEventsOverride = Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED;
 | 
						|
  is(
 | 
						|
    docshell.touchEventsOverride,
 | 
						|
    Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
 | 
						|
    "touchEventsOverride flag should be changed to DISABLED"
 | 
						|
  );
 | 
						|
 | 
						|
  let frameWin = content.document.querySelector("#test-iframe").contentWindow;
 | 
						|
  docshell = frameWin.docShell;
 | 
						|
  is(
 | 
						|
    docshell.touchEventsOverride,
 | 
						|
    Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
 | 
						|
    "touchEventsOverride flag should be passed on to frames."
 | 
						|
  );
 | 
						|
 | 
						|
  let newFrame = content.document.createElement("iframe");
 | 
						|
  content.document.body.appendChild(newFrame);
 | 
						|
 | 
						|
  let newFrameWin = newFrame.contentWindow;
 | 
						|
  docshell = newFrameWin.docShell;
 | 
						|
  is(
 | 
						|
    docshell.touchEventsOverride,
 | 
						|
    Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
 | 
						|
    "Newly created frames should use the new touchEventsOverride flag"
 | 
						|
  );
 | 
						|
 | 
						|
  newFrameWin.location.reload();
 | 
						|
  await ContentTaskUtils.waitForEvent(newFrameWin, "load");
 | 
						|
 | 
						|
  docshell = newFrameWin.docShell;
 | 
						|
  is(
 | 
						|
    docshell.touchEventsOverride,
 | 
						|
    Ci.nsIDocShell.TOUCHEVENTS_OVERRIDE_DISABLED,
 | 
						|
    "New touchEventsOverride flag should persist across reloads"
 | 
						|
  );
 | 
						|
}
 |