tor-browser

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

viewport-segments-change-event.https.html (1821B)


      1 <!DOCTYPE html>
      2 <script src="/resources/testharness.js"></script>
      3 <script src="/resources/testharnessreport.js"></script>
      4 <script src="/resources/testdriver.js"></script>
      5 <script src="/resources/testdriver-vendor.js"></script>
      6 <script>
      7 'use strict';
      8 
      9 promise_test(async (t) => {
     10  t.add_cleanup(async () => {
     11    await test_driver.clear_display_features();
     12  });
     13 
     14  // There is always one segment the dimension of the viewport.
     15  assert_true(matchMedia('(horizontal-viewport-segments: 1)').matches);
     16  assert_true(matchMedia('(vertical-viewport-segments: 1)').matches);
     17 
     18  assert_false(matchMedia('(horizontal-viewport-segments: 2)').matches);
     19  assert_false(matchMedia('(vertical-viewport-segments: 2)').matches);
     20 
     21  const horizontalViewportSegmentsMQL = window.matchMedia('(horizontal-viewport-segments: 2)');
     22  const verticalViewportSegmentsMQL = window.matchMedia('(vertical-viewport-segments: 2)');
     23  let promise = new Promise(resolve => {
     24    horizontalViewportSegmentsMQL.addEventListener(
     25      'change',
     26      () => { resolve(horizontalViewportSegmentsMQL.matches); },
     27      { once: true }
     28    );
     29  });
     30  await test_driver.set_display_features([{
     31    orientation: 'vertical', maskLength: 20, offset: 20
     32  }]);
     33  assert_true(await promise, 'The horizontal viewport segments media query should match.');
     34 
     35  promise = new Promise(resolve => {
     36    verticalViewportSegmentsMQL.addEventListener(
     37      'change',
     38      () => { resolve(verticalViewportSegmentsMQL.matches); },
     39      { once: true }
     40    );
     41  });
     42  await test_driver.set_display_features([{
     43    orientation: 'horizontal', maskLength: 20, offset: 20
     44  }]);
     45  assert_true(await promise, 'The vertical viewport segments media query should match.');
     46 }, 'Tests the Viewport Segments Media Query change event handler.');
     47 </script>
     48 </head>
     49 <body>
     50 </body>
     51 </html>