| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| div { |
| width: 50px; |
| height: 50px; |
| } |
| #container { |
| overflow: scroll; |
| width: 100px; |
| height: 100px; |
| border: 1px solid black; |
| } |
| iframe { |
| padding: 5px; |
| border: 1px solid black; |
| } |
| .scrolled { |
| position: relative; |
| margin: 10px; |
| background-color: green; |
| } |
| .float { |
| float: right; |
| position: relative; |
| margin: 10px; |
| background-color: green; |
| } |
| .fixed { |
| position: fixed; |
| top: 200px; |
| left: 200px; |
| margin: 10px; |
| background-color: blue; |
| } |
| .neg-z-order { |
| z-index: -1; |
| } |
| .stacking-context { |
| position: relative; |
| z-index: 1; |
| } |
| </style> |
| <script> |
| if (window.testRunner) |
| testRunner.dumpAsText(false); |
| |
| if (window.internals) { |
| internals.settings.setPreferCompositingToLCDTextEnabled(true); |
| } |
| </script> |
| </head> |
| <body> |
| <div id="container"> |
| <div class="float"> |
| <!-- |
| This iframe should not have a scroll parent because its |
| parent (class="float") has a scroll parent and this would |
| be redundant. |
| --> |
| <iframe src="resources/composited-subframe.html"></iframe> |
| </div> |
| <div class="float stacking-context"> |
| <!-- |
| This iframe should not have a scroll parent because its |
| parent (class="float") has a scroll parent and this would |
| be redundant. |
| --> |
| <iframe class="stacking-context" src="resources/composited-subframe.html"></iframe> |
| </div> |
| <!-- |
| The problem here is that this iframe thinks it has a scroll parent, even though |
| it would totally be parented under its scroll parent since it's normal flow. |
| This is one of those rare cases where we have a composited layer in the normal |
| flow list. |
| --> |
| <iframe src="resources/composited-subframe.html"></iframe> |
| <div class="fixed neg-z-order"></div> |
| <div class="scrolled neg-z-order"></div> |
| <div class="scrolled"></div> |
| <div class="scrolled"></div> |
| <div class="scrolled"></div> |
| </div> |
| <pre id="layers">Pass -- this test passes if it does not crash.</pre> |
| </body> |
| </html> |