| <div id="outer" style="position: absolute; top: 50px; overflow: hidden; width: 100px; height: 100px; background-color: red;"> |
| <!-- removing this will make 'outer' the layout root --> |
| <div style="position: absolute; top: 0;"></div> |
| <div style="position: absolute; overflow: hidden; width: 100px; height: 100px;"> |
| <!-- removing this will make its parent a candidate layout |
| root. Since 'outer' is already a root, only the chain |
| from the parent to 'outer' should be marked. There are two |
| chains, positioned and normal (because of the static Y). |
| The bug was that because the existing root was the parent, |
| rather than a more distant ancestor on the normal chain, it |
| was skipped over and marking continued up to the view. --> |
| document.getElementById("outer").style.display = "none"; |