<!DOCTYPE HTML>

<link rel="stylesheet" href="resources/blending-style.css">

<script>
  if (window.internals)
      window.internals.settings.setAcceleratedCompositingEnabled(true);
</script>

<!-- This test checks that an element with overflow hidden will be able to stop isolating after dinamically removing mix-blend-mode on descendants. -->
<p>Test passes if you see a green rectangle.</p>
<div class="clipping isolating box">
    <div id="target" class="lime hbar difference"></div>
</div>

<script type="text/javascript">
    if (window.testRunner)
        window.testRunner.waitUntilDone();

    window.addEventListener('load', function() {
       var target = document.getElementById("target");
       target.className = "lime hbar";

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