-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
So, time to talk about the elephant in the room: I don't intend to drop QtWebKit right away, but it's unrealistic that it's going to be around for years.
Note this post talks about QtWebKit 5.212, the updated thing by annulen - everything older is out of the picture for longer already anyways.
Issues with QtWebKit
- It's based on WebKitGTK 2.12 (latest stable: 2.20), which had 42 known security issues back in February 2017. Or in the words of GitHub: "This branch is 1987 commits ahead, 30026 commits behind WebKit:master."
- Even if some security fixes were backported, the last release was in June 2017, and the last activity in the repo was back in January.
- There's no isolation between pages/tabs, and no sandboxing. That means (unlike with QtWebEngine), as soon as a security issue is exploited, it's game over. Even if that changed (by integrating WebKit2 support), it'd still be inferior to QtWebEngine security-wise, and we couldn't use it anyways as PyQt isn't going to update their wrappers.
- Even if there are some new features (like fullscreen support), they are never going to arrive in qutebrowser because of PyQt.
Conclusions
In short, unless a group of people (or a company) picks up QtWebKit and it looks like it'd be maintained for a longer time (which is... unlikely?), the question isn't if it's going to be dropped, it's more like a "when".
Some conditions which are likely to make me release a qutebrowser v2.0 with QtWebKit support dropped:
- Qt 6 is released (~November 2020). At that point, PyQt 6 will be released too, probably with some changes which will make it difficult to continue supporting Qt 5 as well (which might mean I'll drop that too, at some point).
- There's no updates (or new release) for QtWebKit for another couple of months, making it more and more unreasonable to continue using it from a security standpoint.
- There's some bigger change in PyQt or qutebrowser which would make it difficult to continue supporting QtWebKit. This is vague, I know - but if that kind of thing happens, it might be the more reasonable thing to just drop it then instead of trying to delay it for a couple more months.
- Archlinux drops QtWebKit
- PyQt drops QtWebKit (even if before Qt 6)
- QtWebKit stops working on major websites due to missing web features.
The security implications also make me wonder whether I should start adding a warning when using QtWebKit, similar to what I've done before for the old QtWebKit before it was removed...
May 2025 update: QtWebKit support is now untested.