summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/layers/no-clipping-overflow-hidden-added-after-transform.html
blob: d5720742c736e15712bb52f283c719895e7e836a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
<head>
<style>
div {
    width: 100px;
    height: 100px;
}

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

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

#transformed:hover {
    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>
    if (!window.eventSender)
        alert("To manually test, hover over the green div. The overflow should be properly clipped.");

    document.body.offsetTop; // Force layout. The mouse is not tracked before first layout.
    var transformed = document.getElementById("transformed");
    transformed.parentNode.setAttribute("id", "overflowHidden");
    eventSender.mouseMoveTo(transformed.offsetLeft + 10, transformed.offsetTop + 10);
    document.body.offsetTop; // Update layout for hovered state.
</script>
</body>
</html>