<!DOCTYPE html>
<html>
<head>
    <title>Tests the backing provider layer bounds with a transformed sharing layer</title>
    <style>
        .relative {
            position: absolute;
            top: 20px;
            left: 20px;
            height: 300px;
            width: 300px;
            margin: 10px;
            border: 1px solid black;
        }
        
        .sharing {
			position: relative;
			top: 50px;
			left: 50px;
            width: 200px;
            height: 200px;
            background-color: green;
            transform: scale(1.5);
            transform-origin: top left;
        }
        
        .inner {
            position: absolute;
            left: 200px;
            top: 200px;
            width: 100px;
            height: 100px;
            background-color: blue;
        }

        .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="relative">
        <div class="sharing">
            <div class="inner">
            </div>
        </div>
    </div>
<pre id="layers"></pre>
</body>
</html>
