| <!DOCTYPE html> |
| <script src="../../resources/js-test.js"></script> |
| <style> |
| :empty + div { background-color: green; } |
| </style> |
| <div id="empty">To be removed</div> |
| <div id="sibling">This text should be green</div> |
| <script> |
| description("Check that the sibling of an element that becomes :empty is properly recalculated"); |
| |
| var transparent = "rgba(0, 0, 0, 0)"; |
| var green = "rgb(0, 128, 0)"; |
| |
| empty.offsetTop; // force recalc |
| empty.style.color = "red"; // force LocalStyleChange on #empty |
| empty.offsetTop; // force recalc |
| |
| shouldBe("getComputedStyle(sibling, '').backgroundColor", "transparent"); |
| |
| empty.removeChild(empty.firstChild); |
| empty.offsetTop; // force recalc |
| |
| shouldBe("getComputedStyle(sibling, '').backgroundColor", "green"); |
| </script> |