On Mon, Jan 25, 2016 at 10:01:44AM +0100, Florian Bruhin wrote:
> * Kovid Goyal <ko...@kovidgoyal.net> [2016-01-25 14:25:01 +0530]:
> > Realistically speaking, the job of replacing WebKit with WebEngine
> > everywhere it is used is impossible. It would take man years of effort
> > with no reward -- other than causing regressions for end users and bug
> > reports for maintainers. WebEngine is only a direct replacement for
> > WebKit in the most superficial of use cases.
> > As for the use of WebKit in calibre, in the short-to-medium term it will
> > remain as is, and I will probably have to end up maintaining Qt WebKit
> > for myself. I will make this work public, as I did for the Visual Studio
> > 2015 compatible fork of python that I maintain. So other users of Qt
> > WebKit can benefit from it and hopefully help with maintaining it.
> There's also an effort going on to update QtWebKit to a newer upstream
> WebKit code base here:
> This sounds quite promising to me so far - maybe it'd make more sense
> to contribute to that (and for Linux distributions, maybe to package
> that in the future)?
The problem with that is that it seems (to me at least) fairly
ambitious. It is trying to keep Qt WebKit alive by updating the version
of WebKit it embeds. That is *a lot* of *ongoing* work. My own goals are
more modest, I just want to keep Qt WebKit alive for a few years in its
current, frozen state, while I gradually migrate calibre off of it.
Maybe my goals will have to change, in particular if I cannot find a way
to replace the use of WebKit for the difficult use cases I mentioned
before. However, I plan on first at least trying to do that. HTML to PDF
can probably be done by adapting a different CSS layout engine -- there
are many floating around. Headless browser is harder, though looking at
the API of the Chromium Embedded Project it should be possible. I also
have a reasonable relationship with the principal maintainer of Qt
WebEngine, so it may be possible that I could motivate him to add some
of the needed APIs to web engine -- although given its dependency on
OpenGL, making it headless may never be possible.