<!DOCTYPE html>
<!-- 
    This tests verifies that blur is repainted using the full source image of the element instead of just the dirty area.
    Also it tests that the clipping or the transform rectangle of the box is not affecting the shadow.
    There should be two boxes on the screen: left one should be green and right one should be green, and both have the same size. 
    No red should be visible.
-->
<html>
<head>
    <style>
        .clipping_box {
            margin: 100px;
            width: 100px;
            height: 100px;
            overflow: hidden;
            background: red;
        }
        
        .empty_box {
            height: 50px;
        }
        
        .box {
            height: 100px;
            width: 100px;
            background-color: green;
        }
        
        .before {
            background-color: transparent;
        }

        .blur {
            -webkit-filter: drop-shadow(0px -100px 0px blue);
            -webkit-transform-origin: 50px 50px;
            -webkit-transform: rotate(90deg);
        }
    </style>

    <script src="../../fast/repaint/resources/repaint.js"></script>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText(true);

        function repaintTest()
        {
            document.querySelector(".before").classList.remove("before");
        }
    </script>
</head>

<body onload="runRepaintTest()">

    <div class="clipping_box">
        <div class="blur">
            <div class="empty_box"></div>
            <div class="box before"></div>
        </div>
    </div>
</body>
</html>
