| <!DOCTYPE html> | |
| <style> | |
| div { background: rgb(0, 0, 0); } | |
| div:active { background: rgb(255, 0, 0); } | |
| #parent { | |
| width: 200px; | |
| height: 200px; | |
| border: 2px solid rgb(0, 0, 255); | |
| } | |
| #child { | |
| width: 100px; | |
| height: 100px; | |
| border: 2px solid rgb(0, 0, 255); | |
| } | |
| </style> | |
| <body> | |
| <div id="parent"> | |
| <div id="child"></div> | |
| </div> | |
| <pre id="description"></div> | |
| <pre id="console"></pre> | |
| </body> | |
| <script src="../../resources/js-test-pre.js"></script> | |
| <script> | |
| function shouldHaveBackground(element, bg) { | |
| background = getComputedStyle(element, null).getPropertyValue("background-color") | |
| shouldBeEqualToString('background', bg) | |
| } | |
| if (window.testRunner) { | |
| description(":active style should be cleared even if display property is set to none before mouse released.") | |
| var child = document.getElementById('child') | |
| var parent = document.getElementById('parent') | |
| testRunner.dumpAsText(); | |
| // Move and down into the child box. | |
| eventSender.mouseMoveTo(50, 50) | |
| eventSender.mouseDown() | |
| shouldHaveBackground(child, 'rgb(255, 0, 0)') | |
| shouldHaveBackground(parent, 'rgb(255, 0, 0)') | |
| // With the mouse still down, set parent box to display:none. | |
| parent.style.display = "none"; | |
| // Mouse up to clear active style. | |
| eventSender.mouseUp() | |
| parent.style.display = "block"; | |
| shouldHaveBackground(child, 'rgb(0, 0, 0)') | |
| shouldHaveBackground(parent, 'rgb(0, 0, 0)') | |
| } | |
| </script> |