author James Teh <>
Wed, 01 Feb 2023 05:02:01 +0000
changeset 651150 dd0fdd1daa69783be36acd5c50544f3694eaa8f9
parent 557608 9dd0b13d77b96a7e1fd6b48c23f5fed1363498d2
permissions -rw-r--r--
Bug 1813980: Check IsDoc before Parent in RemoteAccessibleBase::ApplyCrossDocOffset. r=morgan We call this function on every ancestor when calculating bounds. RemoteParent() currently requires a hash lookup, so it's more efficient to early return for !IsDoc() first. This is a micro-optimisation, but it might have some impact given that we call this on every ancestor, especially when hit testing, where we call Bounds() a lot. As a bit of drive-by cleanup, use RemoteParent() rather than calling Parent() and IsRemote/AsRemote(). Differential Revision:

  <meta charset="utf-8">
  <title>Various touch tests that spawn in new windows (3)</title>
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="application/javascript" src="apz_test_native_event_utils.js"></script>
  <script type="application/javascript" src="apz_test_utils.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
  <script type="application/javascript">

var touch_action_prefs = getPrefs("TOUCH_ACTION");

var subtests = [
  // Simple test to exercise touch-action CSS property
  {"file": "helper_touch_action.html", "prefs": touch_action_prefs},
  // More complex touch-action tests, with overlapping regions and such
  {"file": "helper_touch_action_complex.html", "prefs": touch_action_prefs},
  // Tests that touch-action CSS properties are handled in APZ without waiting
  // on the main-thread, when possible
  {"file": "helper_touch_action_regions.html", "prefs": touch_action_prefs},
  // Tests that touch-action inside zero-opacity items are respected
  {"file": "helper_touch_action_zero_opacity_bug1500864.html", "prefs": touch_action_prefs},

  // Add new subtests to test_group_touchevents-4.html, not this file (exceptions
  // may be made for quick-running tests that need the touch-action prefs)

if (isApzEnabled()) {
  ok(window.TouchEvent, "Check if TouchEvent is supported (it should be, the test harness forces it on everywhere)");
  if (getPlatform() == "android") {
    // This has a lot of subtests, and Android emulators are slow.

  window.onload = function() {
    .then(SimpleTest.finish, SimpleTest.finishWithFailure);