Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.
Sign upThoughts on dropping QtWebKit support #4039
Comments
The-Compiler
added
priority: 2 - low
component: QtWebKit
labels
Jul 4, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
slackhead
Jul 4, 2018
Contributor
These are all valid points.
I can't recall what options are left that are still only supported in webkit. URL based cookie control is one I can recall, but I haven't checked lately.
The only issue I had that made me use webkit (for a short time at least) was that some sites disabled some features. I think gmail gave warnings about using an older browser, and some youtube options were disabled - like using the dark background theme was one, but I found that these were fixed by changing the user agent string. This this was a long time ago though and they probably work without doing that now.
|
These are all valid points. I can't recall what options are left that are still only supported in webkit. URL based cookie control is one I can recall, but I haven't checked lately. The only issue I had that made me use webkit (for a short time at least) was that some sites disabled some features. I think gmail gave warnings about using an older browser, and some youtube options were disabled - like using the dark background theme was one, but I found that these were fixed by changing the user agent string. This this was a long time ago though and they probably work without doing that now. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mschilli87
Jul 4, 2018
Contributor
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...
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
The-Compiler
Jul 4, 2018
Collaborator
Reasons some people use QtWebKit over QtWebEngine:
- PDF.js support (#2330)
- Experiencing graphical glitches with QtWebEngine (the new options for
qt.force_software_renderingadded in qutebrowser v1.4.0 helped in at least one case) - Resource usage (uses less RAM, possibly less CPU depending on website) - also see #4040
- Notifications (QTBUG-50995)
- Not trusting Google (despite QtWebEngine being a stripped Chromium and not phoning home)
- Needing to use software rendering (because of a Nouveau GPU driver, Wayland without XWayland, or graphical glitches) and the performance penalty coming with that.
- Apparently QtWebEngine crashes a lot (to the point of being unusable) on FreeBSD
- Archlinux ARM's PyQt package is broken and doesn't support QtWebEngine
- Different font rendering
- Flashing between pages when using a dark user stylesheet, though
--qt-flag single-processseems to help with that.
|
Reasons some people use QtWebKit over QtWebEngine:
|
The-Compiler
changed the title from
Dropping QtWebKit
to
Thoughts on dropping QtWebKit support
Jul 4, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
SavoyRoad
Jul 4, 2018
Honestly, the only reason I'm using QtWebKit at the moment is due to the nouveau bug with QtWebEngine. My laptop is about 8 years old and with a very underpowered GPU for it's time, so qutebrowser is awful to use with software rendering.
I like QtWebKit if only so that Chromium and its forks still have some competition as I feel most browsers outside of Chrome/Firefox are simply Chrome clones. Still, I know I'll stop my use of QtWebKit once I get a rig upgrade that won't force me to use software rendering.
There really isn't much else I think keeping webkit around except for supporting the poor software rendering saps like me. As long as people are aware of the issues, QtWebKit should be supported until it really becomes impossible or too much of a hassle like you said.
SavoyRoad
commented
Jul 4, 2018
|
Honestly, the only reason I'm using QtWebKit at the moment is due to the nouveau bug with QtWebEngine. My laptop is about 8 years old and with a very underpowered GPU for it's time, so qutebrowser is awful to use with software rendering. I like QtWebKit if only so that Chromium and its forks still have some competition as I feel most browsers outside of Chrome/Firefox are simply Chrome clones. Still, I know I'll stop my use of QtWebKit once I get a rig upgrade that won't force me to use software rendering. There really isn't much else I think keeping webkit around except for supporting the poor software rendering saps like me. As long as people are aware of the issues, QtWebKit should be supported until it really becomes impossible or too much of a hassle like you said. |
The-Compiler
added
the
component: style / refactoring
label
Jul 10, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mvucBmM0
Jul 15, 2018
I use it for one single reason: CSS. I use a dark style sheet and it just works. With qtwebengine, when i use a dark style sheet, every time it opens a new page it flashes the original bright colors before the dark style.css applies. And apparently there is no real fix (#2912). Maybe not important for most, but it hurts my eyes a lot.
mvucBmM0
commented
Jul 15, 2018
|
I use it for one single reason: CSS. I use a dark style sheet and it just works. With qtwebengine, when i use a dark style sheet, every time it opens a new page it flashes the original bright colors before the dark style.css applies. And apparently there is no real fix (#2912). Maybe not important for most, but it hurts my eyes a lot. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
jgkamat
Jul 17, 2018
Collaborator
@mvucBmM0 that issue can be migitated with colors.webpage.bg. However, it seems to be an incomplete fix.
|
@mvucBmM0 that issue can be migitated with |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
mvucBmM0
commented
Jul 17, 2018
|
@jgkamat Yeah, that setting only works half of the time, unfortunately. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
PluMGMK
Jul 21, 2018
Been meaning to comment on this for some time now. I guess my main reasons for using WebKit are the nouveau thing and the trusting-Google thing.
About trusting Google, I guess yeah, I'm rational enough to see that it's a stripped Chromium. Apart from trust though, it still has dependencies like BoringSSL though, and generally doesn't really fit in with the Qt build system, which I find makes it a pain to compile. I'm not sure if I've ever even gotten it to work.
PluMGMK
commented
Jul 21, 2018
|
Been meaning to comment on this for some time now. I guess my main reasons for using WebKit are the nouveau thing and the trusting-Google thing. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
The-Compiler
Jul 23, 2018
Collaborator
Looks like GitHub JS is broken (still/again?) with QtWebKit, not sure since how long. So "QtWebKit stops working on major websites due to missing web features" already seems to be the case...
It fails with:
[https://assets-cdn.github.com/assets/frameworks-d3288bb02aa9bc92a3638f14b7ed600a.js:1] TypeError: evaluating module github-rollup-frameworks-bootstrap: Reflect.construct is not a function. (In 'Reflect.construct(HTMLElement,[],this.__proto__.constructor)', 'Reflect.construct' is undefined)
|
Looks like GitHub JS is broken (still/again?) with QtWebKit, not sure since how long. So "QtWebKit stops working on major websites due to missing web features" already seems to be the case... It fails with:
|
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
toofar
Jul 24, 2018
Collaborator
I built core-js (lots of polyfills) with esnext.reflect added to the grunt task and loaded that as a greasemonkey script, which does add a Reflect.construct function. But because we gave up on working around the page load signals and just load everything at document-end it is too late to make a difference ;_;
|
I built core-js (lots of polyfills) with |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
alabamaboner
Jul 25, 2018
The one and only reason I'm still on qtwebkit is CPU usage and RAM. I basically use qutebrowser as a web document reader with everything I can disabled (javascript, cookies, etc). The fact that the webkit version is old also helps since thankfully the ways words and pictures are displayed on the internet only change when you encounter sites that are abominations yet not the same can be said about other elements which became popular over the last few years.
I know I'm probably the only one using it like this and I completly understand the decision of dropping support for it, I just wanted to make my voice heard.
alabamaboner
commented
Jul 25, 2018
|
The one and only reason I'm still on qtwebkit is CPU usage and RAM. I basically use qutebrowser as a web document reader with everything I can disabled (javascript, cookies, etc). The fact that the webkit version is old also helps since thankfully the ways words and pictures are displayed on the internet only change when you encounter sites that are abominations yet not the same can be said about other elements which became popular over the last few years. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Rough plan forward for this, FWIW: |
added a commit
that referenced
this issue
Sep 17, 2018
added a commit
that referenced
this issue
Sep 17, 2018
added a commit
that referenced
this issue
Sep 18, 2018
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cancercufasole
Sep 24, 2018
gif loading is still as atrocious as I remember with qtwebengine, it will try to use as much cpu as possible to load it as fast as possible even with low-end device mode on always and process model to single process but overall it wasn't that bad
There's no way to currently block something like gifs through chromium flags right ?
cancercufasole
commented
Sep 24, 2018
•
|
gif loading is still as atrocious as I remember with qtwebengine, it will try to use as much cpu as possible to load it as fast as possible even with low-end device mode on always and process model to single process but overall it wasn't that bad |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
The-Compiler
Sep 24, 2018
Collaborator
@cancercufasole Nothing I'm aware of. It might be possible to expose this setting to QtWebEngine, but I don't see a way to set it via flags.
|
@cancercufasole Nothing I'm aware of. It might be possible to expose this setting to QtWebEngine, but I don't see a way to set it via flags. |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
cancercufasole
commented
Sep 24, 2018
|
That would require patching QtWebEngine tho right ? |
This comment has been minimized.
Show comment
Hide comment
This comment has been minimized.
|
Correct. |
The-Compiler commentedJul 4, 2018
•
edited
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
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:
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...