share one web context across chrome and tabs; add --clear-cache

- the chrome webview and tab webviews used separate WebKit data managers
  pointing at the same profile directory, so both raced on the same
  hsts-storage.sqlite ('database is locked' / 'table soup_hsts_policies
  already exists' on every launch). one WebContext is now created and
  handed to every webview
- add --clear-cache: deletes the WebKit HTTP cache and service workers
  (cookies, local storage and logins are kept)
- verified live on sway/wayland: youtube.com loads without the consent
  wall and watch pages play video with hardware GL
- README: document the new flag
This commit is contained in:
Martin Dvořák 2026-10-11 19:14:28 +02:00
commit 38a7b3a626
3 changed files with 104 additions and 35 deletions

View file

@ -46,6 +46,7 @@ cargo run -- --dry-run
# compatibility
cargo run -- --ua-chrome # Chrome UA for sites that block WebKit
cargo run -- --clear-cache # drop HTTP cache + service workers (keeps logins)
# Linux backend controls
cargo run -- --linux-backend x11