<!DOCTYPE html>
<title>Test for crbug.com/190880</title>
<script src="resources/text-based-repaint.js"></script>
<style>
    video { width: 700px; }
</style>

<video id="v" controls autoload src="../../media/content/test.ogv">
</video>

<p>This tests that we repaint the mute button when we change the volume</p>

<script>
    var video = document.getElementById("v");
    video.addEventListener("canplaythrough", runTest, true);
    if (window.testRunner)
        window.testRunner.waitUntilDone();

    function repaintTest() {
        video.volume = 0.5;
    }

    function runTest() {
        video.volume = 0;
        runRepaintTest();

        if (window.testRunner)
            window.testRunner.notifyDone();
    }
</script>
