chromium/third_party/blink/web_tests/media/autoplay/muted-playsinline.html

<!DOCTYPE html>
<title>Test autoplay muted and playsinline interaction</title>
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<div></div>
<script>
promise_test(t => {
  t.add_cleanup(() => {
    internals.settings.setAutoplayPolicy('no-user-gesture-required');
    internals.runtimeFlags.autoplayMutedVideosEnabled = false;
    internals.runtimeFlags.videoAutoFullscreenEnabled = false;
  });
  internals.settings.setAutoplayPolicy('user-gesture-required');
  internals.runtimeFlags.autoplayMutedVideosEnabled = true;
  internals.runtimeFlags.videoAutoFullscreenEnabled = true;

  var video = document.createElement('video');
  video.muted = true;
  video.autoplay = true;
  video.playsInline = true;
  document.querySelector('div').appendChild(video);
  video.src = '../content/test.ogv';

  return new Promise(resolve => {
    video.addEventListener('play', resolve());
  });
}, "'autoplay muted playsInline' works with video auto-fullscreen");

promise_test(t => {
  t.add_cleanup(() => {
    internals.settings.setAutoplayPolicy('no-user-gesture-required');
    internals.runtimeFlags.autoplayMutedVideosEnabled = false;
    internals.runtimeFlags.videoAutoFullscreenEnabled = false;
  });
  internals.settings.setAutoplayPolicy('user-gesture-required');
  internals.runtimeFlags.autoplayMutedVideosEnabled = true;
  internals.runtimeFlags.videoAutoFullscreenEnabled = true;

  var video = document.createElement('video');
  video.muted = true;
  video.playsInline = true;
  video.src = '../content/test.ogv';
  document.querySelector('div').appendChild(video);

  return video.play();
}, "'muted playsInline'.play() works with video auto-fullscreen");

promise_test(t => {
  t.add_cleanup(() => {
    internals.settings.setAutoplayPolicy('no-user-gesture-required');
    internals.runtimeFlags.autoplayMutedVideosEnabled = false;
    internals.runtimeFlags.videoAutoFullscreenEnabled = false;
  });
  internals.settings.setAutoplayPolicy('user-gesture-required');
  internals.runtimeFlags.autoplayMutedVideosEnabled = true;
  internals.runtimeFlags.videoAutoFullscreenEnabled = true;

  var video = document.createElement('video');
  video.muted = true;
  video.playsInline = false;
  video.src = '../content/test.ogv';

  document.querySelector('div').appendChild(video);
  return promise_rejects_dom(t, "NotAllowedError", video.play());
}, "'autoplay muted'.play() doesn't work with video auto-fullscreen");
</script>