| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="/js-test-resources/js-test.js"></script> | |
| 3 <div style="height: 300px"></div> | 2 <div style="height: 300px"></div> |
| 4 | 3 |
| 5 <script> | 4 <script> |
| 6 setPrintTestResultsLazily(); | 5 var port; |
| 7 self.jsTestIsAsync = true; | 6 var frame_id; |
| 8 | 7 |
| 9 window.onload = (() => { | 8 window.onload = (() => { |
| 10 if (!window.eventSender || !window.internals) { | 9 if (!window.eventSender || !window.internals) { |
| 11 debug("This test requires window.eventSender."); | 10 debug("This test requires window.eventSender."); |
| 12 return; | 11 return; |
| 13 } | 12 } |
| 14 internals.settings.setScrollAnimatorEnabled(true); | 13 internals.settings.setScrollAnimatorEnabled(true); |
| 15 }); | 14 }); |
| 16 | 15 |
| 17 function handleMessage(event) { | 16 function handleMessage(event) { |
| 18 if (event.data.hasOwnProperty('scrollBy')) { | 17 if (event.data.hasOwnProperty('scrollBy')) { |
| 18 port = event.source; |
| 19 frame_id = event.data.frame_id; |
| 19 eventSender.mouseMoveTo(event.data.left + 5, event.data.top + 5); | 20 eventSender.mouseMoveTo(event.data.left + 5, event.data.top + 5); |
| 20 eventSender.mouseScrollBy(0, event.data.scrollBy); | 21 eventSender.mouseScrollBy(0, event.data.scrollBy); |
| 21 requestAnimationFrame(() => {setTimeout(() => {event.source.postMessage("",
"*")}, 500)}); | |
| 22 } else { | |
| 23 event.source.postMessage({scrollTop: document.documentElement.scrollTop}, "*
"); | |
| 24 } | 22 } |
| 25 } | 23 } |
| 26 | 24 |
| 25 window.onscroll = (() => { |
| 26 if (port) { |
| 27 port.postMessage({scrolled: frame_id, scrollTop: document.documentElement.sc
rollTop}, "*"); |
| 28 } |
| 29 }); |
| 30 |
| 27 window.addEventListener("message", handleMessage); | 31 window.addEventListener("message", handleMessage); |
| 28 </script> | 32 </script> |
| OLD | NEW |