Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="/js-test-resources/js-test.js"></script> | 2 <script src="/js-test-resources/js-test.js"></script> |
|
bokan
2017/01/20 18:13:26
You can remove this I think.
kenrb
2017/01/20 19:21:34
Done.
| |
| 3 <div style="height: 300px"></div> | 3 <div style="height: 300px"></div> |
| 4 | 4 |
| 5 <script> | 5 <script> |
| 6 setPrintTestResultsLazily(); | 6 var port; |
| 7 self.jsTestIsAsync = true; | 7 var frame_id; |
| 8 | 8 |
| 9 window.onload = (() => { | 9 window.onload = (() => { |
| 10 if (!window.eventSender || !window.internals) { | 10 if (!window.eventSender || !window.internals) { |
| 11 debug("This test requires window.eventSender."); | 11 debug("This test requires window.eventSender."); |
| 12 return; | 12 return; |
| 13 } | 13 } |
| 14 internals.settings.setScrollAnimatorEnabled(true); | 14 internals.settings.setScrollAnimatorEnabled(true); |
| 15 }); | 15 }); |
| 16 | 16 |
| 17 function handleMessage(event) { | 17 function handleMessage(event) { |
| 18 if (event.data.hasOwnProperty('scrollBy')) { | 18 if (event.data.hasOwnProperty('scrollBy')) { |
| 19 port = event.source; | |
| 20 frame_id = event.data.frame_id; | |
| 19 eventSender.mouseMoveTo(event.data.left + 5, event.data.top + 5); | 21 eventSender.mouseMoveTo(event.data.left + 5, event.data.top + 5); |
| 20 eventSender.mouseScrollBy(0, event.data.scrollBy); | 22 eventSender.mouseScrollBy(0, event.data.scrollBy); |
| 21 requestAnimationFrame(() => {setTimeout(() => {event.source.postMessage("", "*")}, 500)}); | |
| 22 } else { | 23 } else { |
| 23 event.source.postMessage({scrollTop: document.documentElement.scrollTop}, "* "); | 24 event.source.postMessage({scrollTop: document.documentElement.scrollTop}, "* "); |
| 24 } | 25 } |
| 25 } | 26 } |
| 26 | 27 |
| 28 window.onscroll = (() => { | |
| 29 if (port) { | |
| 30 port.postMessage({scrolled: frame_id}, "*"); | |
|
bokan
2017/01/20 18:13:26
Can't we simplify this and just post the scrollTop
| |
| 31 } | |
| 32 }); | |
| 33 | |
| 27 window.addEventListener("message", handleMessage); | 34 window.addEventListener("message", handleMessage); |
| 28 </script> | 35 </script> |
| OLD | NEW |