Day 18: Javascript

Today I was mostly busy with javascript related functionality and writing some javascript:

  • Added logging for javascript console logging with QtWebEngine
  • Don't fail tests with QtWebEngine STUB: ... messages
  • Implement :scroll-perc via javascript
  • Implement :scroll-px and scroll.to_point (used for e.g. marks) via javascript
  • Implement :scroll-page via javascript
  • Various related changes to tests

I also added run_js_blocking to the tab API which runs javascript and returns the result. I then tried to use that API to handle getting scroll positions, but I didn't get it to work correctly yet (loading websites now just hangs). Things are unfortunately a bit tricky as it involves a nested local Qt event loop and three languages (Javascript, C++, Python)... I'll continue trying to debug it tomorrow, and I have an alternative solution not needing a blocking JS method in mind.