summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/feature-policy/resources/autoplay.js
blob: 56780cf6dc05879731bff0bbb1486c51b0b4141b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function simulateGesture(t, callback) {
  // Get or create the target element.
  let target = document.getElementById('target');
  if (!target) {
    target = document.createElement('button');
    target.setAttribute('id', 'target');
    document.body.appendChild(target);
  }

  // Simulate a gesture in the top frame to remove any gesture based autoplay
  // restrictions.
  test_driver.click(target).then(callback, t.unreached_func('click failed'));
}

function isAutoplayAllowed() {
  return new Promise((resolve, reject) => {
    const video = document.createElement('video');
    video.src = getVideoURI('/media/A4');
    video.play().then(() => resolve(true), (e) => {
      if (e.name == 'NotAllowedError')
        resolve(false);
      else
        resolve(true);
    });
  });
}