<!DOCTYPE html>
<html>
<head>
    <style>
        .box {
            width: 200px;
            height: 200px;
            margin: 10px;
            background-color: silver;
        }

        .composited {
            transform: translateZ(0);
        }

        .rounded {
            margin: 20px;
            overflow: hidden;
            border-radius: 50px;
            z-index: 0;
        }

        .rounded .composited {
            background-color: blue;
            width: 100%;
            height: 100%;
        }
        
        body.changed .rounded {
            border-radius: 0px;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();

        window.addEventListener('load', () => {
            setTimeout(() => {
                document.body.classList.add('changed');
                if (window.testRunner)
                    testRunner.notifyDone();
            }, 0);
        }, false);
    </script>
</head>
<body>
    <div class="composited rounded box">
        <div class="composited">
            &nbsp;
        </div>
        &nbsp;
    </div>
</body>
</html>
