<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Video update rendering</title>
        <script src="../../resources/testharness.js"></script>
        <script src="../../resources/testharnessreport.js"></script>
    </head>
    <body>
        <video id="video" muted playsinline preload="none"></video>
        <script>
video.src = "../resources/video." + (video.canPlayType("video/ogg") ? "ogv" : "mp4");

promise_test(async () => {
    assert_true(!!window.internals, "test requires internals");

    await new Promise(resolve => window.onload = resolve);

    internals.startTrackingCompositingUpdates();
    await video.play();
    assert_true(internals.compositingUpdateCount() > 1, "refreshing video rendering: " + internals.compositingUpdateCount());
}, 'Refresh rendering when starting to play a video');
        </script>
    </body>
</html>
