91 lines
3.1 KiB
HTML
91 lines
3.1 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
<html lang="en">
|
|
<head>
|
|
<title>Test hit testing of -webkit-transform property while animating</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<style>
|
|
#target {
|
|
position: absolute;
|
|
left: 0px;
|
|
height: 200px;
|
|
width: 200px;
|
|
background-color: red;
|
|
-webkit-animation-duration: 4s;
|
|
-webkit-animation-timing-function: linear;
|
|
}
|
|
@-webkit-keyframes "anim" {
|
|
from { -webkit-transform: translate(100px); }
|
|
to { -webkit-transform: translate(300px); }
|
|
}
|
|
|
|
.dot {
|
|
width: 10px;
|
|
height: 10px;
|
|
top: 100px;
|
|
background-color: yellow;
|
|
position:absolute;
|
|
}
|
|
</style>
|
|
|
|
<script src="resources/animation-test-helpers.js" type="text/javascript" charset="utf-8"></script>
|
|
<script type="text/javascript" charset="utf-8">
|
|
function checkResult(pos, isIn)
|
|
{
|
|
var elt = document.elementFromPoint(pos, 150);
|
|
if (!elt)
|
|
return "Failed to find element at " + pos + ", 150";
|
|
|
|
var good = isIn ? "inside" : "outside";
|
|
var bad = isIn ? "outside" : "inside";
|
|
return (isIn == (elt.id == "target")) ?
|
|
"<span style='color:green'>PASS</span> - " + pos + "px was " + good + " as it should be" + "<br>" :
|
|
"<span style='color:red'>FAIL</span> - " + pos + "px was " + bad + " and should have been " + good + "<br>";
|
|
}
|
|
|
|
function checkResults()
|
|
{
|
|
// Test before (150), in (300) and after (450)
|
|
var result = "";
|
|
result += checkResult(150, false);
|
|
result += checkResult(300, true);
|
|
result += checkResult(450, false);
|
|
document.getElementById('result').innerHTML = result;
|
|
}
|
|
|
|
function doTest()
|
|
{
|
|
var target = document.getElementById("target");
|
|
if (!pauseAnimationAtTimeOnElement("anim", 2.0, target)) {
|
|
document.getElementById('result').innerHTML = "FAIL: Failed to pause animation"
|
|
testRunner.notifyDone();
|
|
return;
|
|
}
|
|
|
|
checkResults();
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function startTest()
|
|
{
|
|
if (window.testRunner)
|
|
testRunner.dumpAsText();
|
|
|
|
document.getElementById("target").style.webkitAnimationName = "anim";
|
|
waitForAnimationToStart(document.getElementById('target'), doTest);
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="startTest()">
|
|
<div>
|
|
This test starts an animation of the '-webkit-transform' property and then does elementFromPoint calls
|
|
at the shown yellow dots to see if hit testing works
|
|
</div>
|
|
<div id="target"></div>
|
|
<div class="dot" style="left:150px"></div>
|
|
<div class="dot" style="left:300px"></div>
|
|
<div class="dot" style="left:450px"></div>
|
|
<div id="result" style="position:absolute; top:250px"></div>
|
|
</body>
|
|
</html>
|