| <!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> |