| <!DOCTYPE html> |
| <html> |
| <head> |
| <style> |
| .filler { |
| height: 1000px; |
| width: 100px; |
| margin: 10px; |
| background-color: silver; |
| } |
| </style> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="../../resources/ui-helper.js"></script> |
| <script> |
| jsTestIsAsync = true; |
| |
| async function scrollTest() |
| { |
| shouldBe('window.pageYOffset', '0'); |
| |
| if (!window.internals) { |
| finishJSTest(); |
| return; |
| } |
| |
| await UIHelper.animationFrame(); // Wait for scrolling tree commit |
| |
| setTimeout(async () => { |
| internals.scrollBySimulatingWheelEvent(document.scrollingElement, 0, 100); |
| window.location.href = '#anchor'; |
| |
| shouldBe('window.pageYOffset', '1026'); |
| |
| await UIHelper.animationFrame(); |
| |
| if (window.internals) |
| document.getElementById('layers').innerText = internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_TILE_CACHES); |
| |
| finishJSTest(); |
| }, 0); |
| } |
| |
| window.addEventListener('load', () => { |
| setTimeout(scrollTest, 0); |
| }, false); |
| |
| </script> |
| </head> |
| <body> |
| <div class="filler"></div> |
| <p id="anchor">Scroll to here</p> |
| <div class="filler"></div> |
| <div class="filler"></div> |
| <pre id="layers"></pre> |
| <div id="console"></div> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |