Omzetting naar stdio.

This commit is contained in:
2026-08-03 08:22:42 +02:00
parent fb1a293e88
commit d9af82d230
9 changed files with 829 additions and 554 deletions
+48 -6
View File
@@ -1,11 +1,53 @@
# racket-webview-qt
The Qt backend of racket-webview
The Qt WebEngine backend of `racket-webview`.
# Version 0.2.2
## Version 0.2.3
QtWebEngine select popup rendering issue observed with older Qt 6.x.
Symptom: native HTML <select> popup keeps growing/repainting while open;
QtWebEngine process busy, Racket process idle.
Resolved by upgrading to Qt 6.11.1.
This version replaces the shared-library/shared-memory transport with a
standalone process interface.
## Transport
`rktwebview_prg` receives line-delimited JSON commands on stdin, writes
line-delimited JSON results and events to stdout, and writes all diagnostics to
stderr. The existing command numbers and command payloads in `rkt_protocol.h`
are unchanged.
See `STDIO-PROTOCOL.md` for the transport envelope and shutdown rules.
The former shared library, shared-memory queue, and callback sources remain in
the repository for comparison, but they are no longer part of the CMake target.
## Build
The CMake target requires Qt Widgets and Qt WebEngineWidgets and builds only:
```text
rktwebview_prg
```
## Previous Qt update
QtWebEngine select popup rendering issues were observed with older Qt 6.x. The
native HTML `<select>` popup could keep growing or repainting while open while
the QtWebEngine process remained busy. Upgrading to Qt 6.11.1 resolved this.
## Integration test
`rktwebview_test` starts the built `rktwebview_prg` with `QProcess` and tests
the stdio handshake, request/result matching, basic webview commands, and clean
shutdown. Run it from the build directory:
```sh
./rktwebview_test
```
For a protocol-only test that does not create a window:
```sh
./rktwebview_test --protocol-only
```
Set `RKT_WEBVIEW_PRG` to test a backend executable outside the test program's
directory.