| <!DOCTYPE html> <!-- webkit-test-runner [ AsyncOverflowScrollingEnabled=true ] --> |
| <html> |
| <head> |
| <style> |
| .container { |
| width: 200px; |
| height: 200px; |
| margin: 10px; |
| display: inline-block; |
| background-color: silver; |
| position: relative; |
| overflow: scroll; |
| perspective: 500px; |
| } |
| |
| /* Transformed to be edge-on, and therefore invisible */ |
| .angled { |
| position: absolute; |
| top: 0; |
| left: 0; |
| width: 100%; |
| height: 100%; |
| opacity: 0; |
| transform: rotateX(90deg); |
| } |
| |
| .angled.vertical { |
| transform: rotateY(90deg); |
| } |
| |
| .contents { |
| height: 300%; |
| } |
| .wide.contents { |
| width: 300%; |
| } |
| |
| #scroll-down .angled { |
| top: 100px; |
| } |
| |
| #scroll-right .angled { |
| left: 100px; |
| } |
| </style> |
| <script> |
| // This is a hack to avoid having scrollbars take space, needed until webkit.org/b/211787 is fixed. |
| if (window.internals) |
| internals.setUsesOverlayScrollbars(true); |
| |
| window.addEventListener('load', () => { |
| document.getElementById('scroll-down').scrollTop = 100; |
| document.getElementById('scroll-right').scrollLeft = 100; |
| }, false); |
| </script> |
| </head> |
| <body> |
| <div class="container" style="transform-box: border-box; border-left: 50px solid black; border-top: 50px solid black; perspective-origin: 150px 150px;"> |
| <div class="angled"></div> |
| <div class="angled vertical"></div> |
| <div class="contents"></div> |
| </div> |
| |
| <div id="scroll-down" class="container" style="transform-box: border-box; border-left: 50px solid black; border-top: 50px solid black; perspective-origin: 150px 150px;"> |
| <div class="angled"></div> |
| <div class="angled vertical"></div> |
| <div class="contents"></div> |
| </div> |
| |
| <div class="container" style="transform-box: content-box; border-right: 50px solid black; border-bottom: 50px solid black; perspective-origin: 100px 100px"> |
| <div class="angled"></div> |
| <div class="angled vertical"></div> |
| <div class="contents"></div> |
| </div> |
| |
| <div id="scroll-right" class="container" style="transform-box: content-box; border-right: 50px solid black; border-bottom: 50px solid black; perspective-origin: 100px 100px"> |
| <div class="angled"></div> |
| <div class="angled vertical"></div> |
| <div class="wide contents"></div> |
| </div> |
| </body> |
| </html> |