<!DOCTYPE html>
<html>
<head>
<style>
div {
    width: 100px;
    height: 100px;
}

#overflowHidden {
    overflow: hidden;
    background: purple;
}

#transformed {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform linear 1ms;
    background: green;
}

#transformed:hover {
    -webkit-transform: rotate(45deg) translate3d(0, 0, 0);
}
</style>
</head>
<body>
<p> Test for bug <a href="https://bugs.webkit.org/show_bug.cgi?id=83954">83954</a>: REGRESSION(110072): Clipping is not applied on layers that are animated using platform code</p>
<p> This passes if the green transformed square doesn't split out of the purple square.</p>
<div>
    <div id="transformed"></div>
</div>
<script>
    function transitionFinished() {
        if (window.testRunner)
            window.testRunner.notifyDone();
    }

    if (!window.eventSender)
        alert("To manually test, hover over the green div. The overflow should be properly clipped.");

    if (window.testRunner)
      window.testRunner.waitUntilDone();

    var transformed = document.getElementById("transformed");
    transformed.parentNode.setAttribute("id", "overflowHidden");
    transformed.addEventListener("webkitTransitionEnd", transitionFinished, true);
    eventSender.mouseMoveTo(transformed.offsetLeft + 10, transformed.offsetTop + 10);
</script>
</body>
</html>
