| <!DOCTYPE html> | |
| <link rel="help" href="https://bugs.chromium.org/p/chromium/issues/detail?id=1114306"> | |
| <meta name="assert" content="the correct scrollbars appear for sideways writing-mode flexboxes"> | |
| <style> | |
| .container { | |
| width: 100px; height: 100px; | |
| overflow: scroll; | |
| border: solid 3px; | |
| display: inline-flex; | |
| padding: 10px; | |
| gap: 10px; | |
| align-items: start; | |
| margin: 10px; | |
| vertical-align: bottom; | |
| } | |
| .item { | |
| min-width: 110px; min-height: 110px; | |
| background: cyan; | |
| } | |
| .container:hover::before { | |
| position: fixed; | |
| top: 0; left: 0; | |
| font-size: 10px; | |
| content: attr(style); | |
| background: yellow; | |
| direction: ltr; | |
| writing-mode: horizontal-tb; | |
| } | |
| </style> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="/resources/check-layout-th.js"></script> | |
| <body onload="checkLayout('.container')"> | |
| <script> | |
| const writingModes = ['sideways-rl', 'sideways-lr']; | |
| const directions = ['ltr', 'rtl']; | |
| const flexDirections = ['row', 'row-reverse', 'column', 'column-reverse']; | |
| const flexWraps = ['nowrap', 'wrap', 'wrap-reverse']; | |
| for (let writingMode of writingModes) { | |
| for (let direction of directions) { | |
| for (let flexDirection of flexDirections) { | |
| for (let flexWrap of flexWraps) { | |
| let container = document.createElement('div'); | |
| container.className = 'container'; | |
| container.style.writingMode = writingMode; | |
| container.style.direction = direction; | |
| container.style.flexDirection = flexDirection; | |
| container.style.flexWrap = flexWrap; | |
| for (let i = 0; i < 3; i++) { | |
| let item = document.createElement('div'); | |
| item.className = 'item'; | |
| item.textContent = (i+1); | |
| container.appendChild(item); | |
| } | |
| let bias = flexWrap != 'nowrap'; | |
| if (flexDirection == 'row' || flexDirection == 'row-reverse') { | |
| bias = !bias; | |
| } | |
| container.setAttribute('data-expected-scroll-width', bias ? 130 : 370); | |
| container.setAttribute('data-expected-scroll-height', bias ? 370 : 130); | |
| document.body.appendChild(container); | |
| } | |
| } | |
| } | |
| } | |
| </script> |