<!DOCTYPE HTML>
<head>
    <!-- This test will check if the isolation flag is properly computed when we remove a subtree having blending elements. -->
    <link rel="stylesheet" href="resources/blending-style.css">
    <style>
        div {
            /* This forces render layers, avoiding normal flow only issues */
            position: relative;
         }
        .leaf {
            background-color: #ff00ff;
            left:-25px;
        }
        #toremove {
            background-color: #ffff44;
        }
    </style>
</head>
<body>
    <div class="isolating lime box">
        <div class="yellow box" style="left: 50px;">
            <div id="toremove" class="box">
                <div class="leaf box difference"></div>
            </div>
        </div>
    </div>
    <script type="text/javascript">
        if (window.testRunner)
            window.testRunner.waitUntilDone();

        function change() {
            var toremove = document.getElementById("toremove");
            toremove.parentNode.removeChild(toremove);

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

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