blob: c50a88f318b224b1647996b83074a1eca5d4d1fc [file] [log] [blame]
<!doctype html>
<html lang="en">
<head>
<style>
/* Make sure the console and the description don't interfere with the rest of the layout. */
#description {
position: absolute;
top: 0px;
}
#console {
position: absolute;
top: 100px;
}
.hugeBox {
width: 300px;
height: 300px;
}
.bigBox {
width: 200px;
height: 200px;
}
.smallBox {
width: 100px;
height: 100px;
}
.tinyBox {
width: 50px;
height: 50px;
}
#flowedIntoChild {
border: 1px solid blue;
color: blue;
font-size: 12px;
margin: 5px;
-webkit-flow-into: flowIntoChild;
}
#parent {
border: 2px solid red;
margin: 20px;
padding: 10px;
background-color: darkred;
-webkit-flow-into: flowParent;
}
#parent:hover {
background-color: green;
}
#child {
border: 5px solid orange;
background-color: orange;
-webkit-flow-from: flowIntoChild;
}
#child:hover {
background-color: yellow;
}
#region {
border: 5px solid green;
margin: 50px;
-webkit-flow-from: flowParent;
}
</style>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p class="visibleElement">This test covers the case when the <span style="color: orange;"><b>child</b></span> is itself a region and the <span style="color: darkred;"><b>parent</b></span> is flowed into another <span style="color: green;"><b>region</b></span>.</p>
<ol class="visibleElement">
<li>Move the mouse inside the orange square</li>
<li>The orange square should turn yellow and the big darkred square should turn green</li>
</ol>
<div class="bigBox" id="parent">
<div class="smallBox" id="child"></div>
</div>
<div class="tinyBox" id="flowedIntoChild">flowed into child</div>
<div class="hugeBox" id="region"></div>
<script type="text/javascript">
description("This test covers the case when the child is itself a region and the parent is flowed into another region.")
if (window.eventSender) {
var child = document.querySelector("#child");
var parent = document.querySelector("#parent");
// move mouse on the child object
eventSender.mouseMoveTo(child.offsetLeft + 90, child.offsetTop + 50);
eventSender.mouseDown(0);
eventSender.leapForward(500);
eventSender.mouseUp(0);
var childColor = window.getComputedStyle(child).getPropertyValue("background-color");
var parentColor = window.getComputedStyle(parent).getPropertyValue("background-color");
if (childColor == "rgb(255, 255, 0)")
testPassed("Child hover event processed OK.");
else
testFailed("Child hover event FAILED to process.");
if (parentColor == "rgb(0, 128, 0)")
testPassed("Parent hover event processed OK.");
else
testFailed("Parent hover event FAILED to process.");
}
if (window.testRunner) {
var elementsToHide = document.querySelectorAll(".visibleElement, .tinyBox, .smallBox, .bigBox, .hugeBox");
for (var i=0; i<elementsToHide.length; i++)
elementsToHide[i].style.visibility = "hidden";
}
else {
var elementsToHide = document.querySelectorAll("#console, #description");
for (var i=0; i<elementsToHide.length; i++)
elementsToHide[i].style.visibility = "hidden";
}
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>