chromium/third_party/blink/web_tests/media/controls/overlay-play-button-narrow.html

<!DOCTYPE html>
<title>media controls overlay play button narrow</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../../resources/run-after-layout-and-paint.js"></script>
<script src="../media-controls.js"></script>
<script src="overlay-play-button.js"></script>
<body>
<script>
async_test(function(t) {
  // Make sure the overlay play button is turned on, as it's typically off
  // unless we're dealing with Android.
  enableOverlayPlayButtonForTest(t);

  var video = document.createElement('video');
  video.src = "../content/test.ogv";
  video.width = NORMAL_VIDEO_WIDTH;
  video.height = NORMAL_VIDEO_HEIGHT;
  video.controls = true;
  document.body.appendChild(video);

  video.onloadedmetadata = t.step_func(function() {
    // Large-enough video should have an overlay play button.
    assertOverlayPlayButtonVisible(video);

    // If the width goes under the minimum, the button should be hidden.
    video.width = NARROW_VIDEO_WIDTH;
    runAfterLayoutAndPaint(t.step_func(function() {
      assertOverlayPlayButtonNotVisible(video);

      // Re-widening the video should display the button.
      video.width = NORMAL_VIDEO_WIDTH;
      runAfterLayoutAndPaint(t.step_func(function() {
        assertOverlayPlayButtonVisible(video);

        // If the height goes under the minimum, the button should be hidden.
        video.height = NARROW_VIDEO_HEIGHT;
        runAfterLayoutAndPaint(t.step_func(function() {
          assertOverlayPlayButtonNotVisible(video);

          // Re-heightening the video should display the button.
          video.height = NORMAL_VIDEO_HEIGHT;
          runAfterLayoutAndPaint(t.step_func_done(function() {
            assertOverlayPlayButtonVisible(video);
          }));
        }));
      }));
    }));
  });
});
</script>
</body>