<!DOCTYPE HTML>
<head>
    <!-- This test will check if the isolation flag is properly computed when we set another element to be the isolating stacking context. -->
    <link rel="stylesheet" href="resources/blending-style.css">
    <style>
        div {
            /* This forces render layers, avoiding normal flow only issues */
            position: relative;
        }
    </style>
</head>
<body>
    <div class="isolating lime box">
       <div id="target" class="yellow box" style="left: 50px;">
            <div class="box">
                <div class="fuchsia box difference" style="left:-25px;"></div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        if (window.testRunner)
            window.testRunner.waitUntilDone();

        function change() {
            var target = document.getElementById("target");
            target.className = "isolating yellow box";

            if (window.testRunner)
                window.testRunner.notifyDone();
        }

        window.setTimeout("change()", 10);
    </script>
</body>
