| <!DOCTYPE html> <!-- webkit-test-runner [ internal:useMockScrollbars=false ] --> |
| <html> |
| <head> |
| <style> |
| body { |
| height: 1000px; |
| } |
| </style> |
| <script src="../../../../resources/js-test-pre.js"></script> |
| <script src="../../../../resources/ui-helper.js"></script> |
| |
| <script> |
| jsTestIsAsync = true; |
| |
| window.internals.setUsesOverlayScrollbars(true); |
| |
| async function doTest() |
| { |
| description('Test hover over overlay scrollbar'); |
| if (!window.internals) |
| return; |
| |
| debug('Document'); |
| debug(internals.verticalScrollbarState()); |
| |
| let windowWidth = window.innerWidth; |
| |
| debug('Hovering vertical scrollbar should show expanded scrollbar'); |
| await UIHelper.mouseWheelScrollAt(windowWidth - 8, 10); |
| await UIHelper.waitForCondition(() => { |
| let state = internals.verticalScrollbarState(); |
| let expanded = state.indexOf('expanded') != -1; |
| if (expanded) |
| testPassed('Scrollbar state: ' + state); |
| return expanded; |
| }); |
| |
| debug('Unhovering vertical scrollbar should hide it'); |
| await UIHelper.moveMouseAndWaitForFrame(windowWidth - 20, 10); |
| await UIHelper.moveMouseAndWaitForFrame(windowWidth - 25, 10); |
| await UIHelper.waitForCondition(() => { |
| let state = internals.verticalScrollbarState(); |
| let thumbHidden = state.indexOf('visible_thumb') == -1; |
| let trackHidden = state.indexOf('visible_track') == -1; |
| if (thumbHidden && trackHidden) |
| testPassed('Thumb and track hidden'); |
| return thumbHidden && trackHidden; |
| }); |
| |
| finishJSTest(); |
| } |
| |
| window.addEventListener('load', () => { |
| doTest(); |
| }, false); |
| </script> |
| </head> |
| <body> |
| <script src="../../../../resources/js-test-post.js"></script> |
| </body> |
| </html> |