| <html> |
| <style> |
| .red { border: 2px solid red } |
| .case { float: left; width: 130px; height: 100px; display: inline-block; border: 2px solid blue} |
| .positioned-root { position: relative; } |
| .green { border: 2px solid green } |
| .visible { visibility: visible} |
| .invisible { visibility: hidden} |
| //.invisible:hover { visibility: visible} |
| .abstop { position: absolute; left:0; right:0; height:30px } |
| .abs { position: absolute; left:0; right:0; top:0; bottom:0 } |
| .zindex { z-index: 1 } |
| </style> |
| |
| <script> |
| if (window.layoutTestController) |
| layoutTestController.waitUntilDone(); |
| |
| var node1; |
| var node2; |
| function dotest() |
| { |
| // force layout |
| document.body.offsetTop; |
| |
| //9 |
| document.getElementById('9').style.setProperty('visibility','visible',''); |
| //10 |
| document.getElementById('10').style.setProperty('visibility','visible',''); |
| document.getElementById('10').style.setProperty('visibility','hidden',''); |
| //11 |
| document.getElementById('11').style.setProperty('visibility','visible',''); |
| //12 |
| document.getElementById('12').style.setProperty('visibility','hidden',''); |
| document.getElementById('12').style.setProperty('visibility','visible',''); |
| //13 |
| document.getElementById('13a').style.setProperty('visibility','hidden',''); |
| document.getElementById('13b').style.setProperty('visibility','hidden',''); |
| document.getElementById('13c').style.setProperty('visibility','hidden',''); |
| document.getElementById('13b').style.setProperty('visibility','visible',''); |
| //14 |
| node1 = document.createElement('div'); |
| node1.appendChild(document.createTextNode('ok')); |
| document.getElementById('14').appendChild(node1); |
| //15 |
| node2 = document.createElement('div'); |
| node2.setAttribute('class','invisible abs green'); |
| node2.appendChild(document.createTextNode('ok')); |
| document.getElementById('15').appendChild(node2); |
| node2.style.setProperty('visibility','visible',''); |
| document.getElementById('15').removeChild(node2); |
| //16 |
| document.getElementById('16').style.setProperty('visibility','hidden',''); |
| //17 |
| document.getElementById('17').style.setProperty('visibility','visible',''); |
| //18 |
| document.getElementById('18a').style.setProperty('visibility','hidden',''); |
| //19 |
| document.getElementById('19a').style.setProperty('visibility','hidden',''); |
| //20 |
| document.getElementById('20a').style.setProperty('visibility','hidden',''); |
| //21 |
| document.getElementById('21a').style.setProperty('visibility','hidden',''); |
| //22 |
| document.getElementById('22').style.setProperty('visibility','visible',''); |
| |
| // force layout |
| document.body.offsetTop; |
| |
| setTimeout(dotest2,20); |
| } |
| |
| function dotest2() |
| { |
| //14 |
| node1.style.setProperty('visibility','visible',''); |
| document.getElementById('14').removeChild(node1); |
| document.getElementById('14').appendChild(node1); |
| node1.setAttribute('class','green'); |
| //15 |
| document.getElementById('15').appendChild(node2); |
| //18 |
| document.getElementById('18b').style.setProperty('visibility','visible',''); |
| //19 |
| document.getElementById('19b').style.setProperty('visibility','visible',''); |
| //20 |
| document.getElementById('20b').style.setProperty('visibility','visible',''); |
| document.getElementById('20b').style.setProperty('visibility','hidden',''); |
| //21 |
| document.getElementById('21b').style.setProperty('visibility','visible',''); |
| //22 |
| document.getElementById('22').style.setProperty('visibility','hidden',''); |
| |
| // force layout |
| document.body.offsetTop; |
| |
| if (window.layoutTestController) |
| layoutTestController.notifyDone(); |
| } |
| |
| </script> |
| </head> |
| <body onload="setTimeout(dotest,20)"> |
| <div class=case> |
| <div class=positioned-root> |
| 1 green box: |
| <div class="visible green"> |
| <div class="invisible red"> |
| failed |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 2 green box with word ok: |
| <div class="invisible red"> |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 3 green box with word ok: |
| <div class="invisible abstop red" > |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 4 green box with word ok: |
| <div class="invisible abstop red" > |
| <div class="visible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class=case> |
| <div class=positioned-root> |
| 5 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 6 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible abs red"> |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 7 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible abs red"> |
| <div class="visible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 8 double green box with word ok: |
| <div class="visible abstop green"> |
| <div class="invisible abs red"> |
| <div class="visible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 9 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible abs red"> |
| <div id="9" class="invisible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 10 green box: |
| <div class="invisible abstop red"> |
| <div class="visible abs green"> |
| <div id="10" class="invisible abs red"> |
| failed |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 11 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="11" class="invisible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 12 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="12" class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| |
| <div class=case> |
| <div class=positioned-root> |
| 13 green box: |
| <div id="13a" class="visible abstop red"> |
| <div id="13b" class="visible green"> |
| <div id="13c" class="visible red"> |
| failed |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 14 green box with word ok: |
| <div id="14" class="invisible abstop"> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 15 green box with word ok: |
| <div id="15" class="invisible abstop"> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 16 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="16" class="visible red"> |
| fail |
| </div> |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 17 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="17" class="invisible green"> |
| ok |
| </div> |
| <div class="invisible red"> |
| fail |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 18 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="18a" class="visible red"> |
| fail |
| </div> |
| <div id="18b" class="invisible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 19 green box with word ok: |
| <div class="invisible abstop red"> |
| <div class="invisible red"> |
| <div id="19a" class="visible red"> |
| fail |
| </div> |
| </div> |
| <div class="invisible red"> |
| <div id="19b" class="invisible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 20 green box: |
| <div class="invisible abstop red"> |
| <div class="visible green"> |
| <div id="20a" class="visible red"> |
| ok |
| </div> |
| <div id="20b" class="invisible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 21 two green boxes with word ok: |
| <div class="invisible abstop red"> |
| <div id="21a" class="visible red"> |
| <div class="visible green"> |
| ok |
| </div> |
| </div> |
| <div class="invisible red"> |
| <div id="21b" class="invisible green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 22 green box with word ok: |
| <div id="22" class="invisible abstop red" > |
| <div class="visible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| <div class=case> |
| <div class=positioned-root> |
| 23 green box with word ok: |
| <div class="invisible abstop red zindex" > |
| <div class="abs red"> |
| <div class="visible abs green"> |
| ok |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |
| |
| </body> |
| </html> |