<!DOCTYPE html>
<html>
<head>
    <title>Tests bounds computation for a transformed layer painting into shared backing</title>
    <style>
        .clipping {
            position: absolute;
            top: 20px;
            left: 20px;
            overflow: hidden;
            height: 300px;
            width: 300px;
            margin: 10px;
            border: 1px solid black;
        }

        .transformed {
            width: 400px;
            height: 100px;
            background-color: green;
            transform: scale(2);
            transform-origin: top left;
        }

        .trigger {
            transform: translateZ(0);
            width: 50px;
            height: 50px;
            background-color: silver;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.dumpAsText();

        window.addEventListener('load', () => {
            if (window.internals)
                document.getElementById('layers').textContent = internals.layerTreeAsText(document);
        }, false);
    </script>
</head>
<body>
    <div class="trigger"></div>
    <div class="clipping">
        <div class="transformed">
        </div>
    </div>
<pre id="layers"></pre>
</body>
</html>
