tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

device-orientation-events-of-detached-documents.https.html (1750B)


      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4 <title>Device sensor event listeners for `window` of detached documents.</title>
      5 </head>
      6 <body>
      7 <script src="/resources/testharness.js"></script>
      8 <script src="/resources/testharnessreport.js"></script>
      9 <script src="/resources/testdriver.js"></script>
     10 <script src="/resources/testdriver-vendor.js"></script>
     11 <script src="resources/orientation-event-helpers.js"></script>
     12 <script>
     13 
     14 promise_test(async t => {
     15  const childFrame = document.createElement('iframe');
     16  childFrame.src = "/common/blank.html";
     17  document.body.append(childFrame);
     18 
     19  const childLoadWatcher = new EventWatcher(t, childFrame, ["load"]);
     20  await childLoadWatcher.wait_for("load");
     21 
     22  const contentWindow = childFrame.contentWindow;
     23  const contentDocument = childFrame.contentDocument;
     24 
     25  await test_driver.set_permission({ name: 'accelerometer' }, 'granted', contentWindow);
     26  await test_driver.set_permission({ name: 'gyroscope' }, 'granted', contentWindow);
     27  await test_driver.set_permission({ name: 'magnetometer' }, 'granted', contentWindow);
     28 
     29  assert_equals(await contentWindow.DeviceOrientationEvent.requestPermission(),
     30                'granted');
     31  assert_equals(await contentWindow.DeviceMotionEvent.requestPermission(),
     32                'granted');
     33 
     34  document.body.remove(childFrame);
     35 
     36  assert_not_equals(contentWindow, null);
     37  assert_not_equals(contentDocument, null);
     38  assert_equals(contentDocument.defaultView, null);
     39 
     40  contentWindow.addEventListener("devicemotion", () => {});
     41  contentWindow.addEventListener("deviceorientation", () => {});
     42  contentWindow.addEventListener("deviceorientationabsolute", () => {});
     43 
     44 }, 'Adding an event listener on the window of a detached document does not crash.');
     45 
     46 </script>
     47 </body>
     48 </html>