<!DOCTYPE html>
<html>
<head>
    <style>
        div {
            height: 200px;
            width: 200px;
            margin: 100px 10px;
            background-color: blue;
        }

        .rotated {
            background-color: green;
            margin: 0;
            transform: rotateY(45deg);
        }

        #target {
            perspective: 500px;
        }

        #target.changed {
            perspective: none;
        }
    </style>
    <script>
        if (window.testRunner)
            testRunner.waitUntilDone();

        window.addEventListener('load', () => {
            setTimeout(() => {
                document.getElementById('target').classList.add('changed');
                if (window.testRunner)
                    testRunner.notifyDone();
            }, 0);
        }, false);
    </script>
</head>
<body>
    <div id="target" class="container">
      <div class="rotated"></div>
    </div>
</body>
</html>

