<!DOCTYPE html>
<html>
<head>
    <title>Tests the backing provider layer bounds with a positioned child</title>
    <style>
        .clipping {
            position: absolute;
            top: 20px;
            left: 20px;
            overflow: hidden;
            height: 300px;
            width: 300px;
            margin: 10px;
            border: 1px solid black;
        }
        
        .sharing {
			position: relative;
			top: 50px;
			left: 50px;
            width: 200px;
            height: 200px;
            background-color: green;
        }
        
        .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="composited trigger"></div>
    <div class="clipping">
        <div class="sharing">
            <div class="inner">
            </div>
        </div>
    </div>
<pre id="layers"></pre>
</body>
</html>
