[Development] QtWebKit is coming back

Konstantin Tokarev annulen at yandex.ru
Sat Jun 4 21:20:14 CEST 2016


Hi all,

As some of you may already know, there is an ongoing effort to revive QtWebKit by updating its WebKit engine to the current state of upstream at webkit.org [1]. 

While it still haven't reached feature parity with QtWebkit module hosted by Qt Project, its Widgets API is already in a good shape [2]. It also brings many new features, including support for large part of ES2015. It is binary compatible with QtWebKit 5.6 and can be used as drop-in replacement.

In this regard I have following questions to the Qt community:

1. Would you like to see this project as a part of Qt Project?

QtWebKit used to be a part of Qt Essentials (at least before its removal in 5.6 release, I'm not sure what status does it have right now). I think it's neither feasible nor reasonable to restore this status it as a part of Qt Essentials, as it used to be before 5.6. We have a massive amount of 3rd party code so it would require much more work to support complete range of platforms and compilers, supported by Qt. In particular, full C++ 11 support is required from compiler, making minimal required GCC version as high as 4.8. (In the meanwhile, WebKit already started adoption of C++1y in trunk, though GCC 4.9 is still supported)

Also it's likely that supported platforms won't have perfect feature parity, and it's not clear if we are going to support WebKit 2 on Windows at all (if somebody reading this is interested, please join us!)

2. Is it OK to use "QtWebKit" name for this project, and if yes, how should it be versioned?

Pros:
* It is a drop-in replacement for QtWebKit, so it would simplify its downstream adoption, e.g. Linux distros could replace old insecure QtWebKit 5.6 with this new offering.
* QtWebKit is a name of Qt port of WebKit. This project is basically a rebase of Qt port code to the newer revision of trunk, so I don't see it as a fork of original project, but mere update.

Cons:
* Old QtWebKit will probably continue to exist, because range of supported platforms for new QtWebKit is more limited. Right now we have no plans to support Android, QNX or WinCE, it's also unclear if we will ever support WebKit 2 on Windows. That means we need a way to make a clear difference between branches of the project.
* Users may mistakenly report problems specific to the new version to Qt JIRA. This issue could be worked around if Qt Project kindly allowed us to have a project in Qt JIRA (maybe even resurrect old QTWEBKIT product), so I could simply move such reports to another project and reassign. OTOH, it's quite possible that bugs reported against new QtWebKit affect 5.6 as well, for example see QTBUG-53532.

Of course, if anybody here is interested, any kind of help will be greatly appreciated.

Thanks in advance!


[1] https://github.com/annulen/webkit/wiki
[2] https://lists.webkit.org/pipermail/webkit-qt/2016-May/004062.html
Latest development is in "qtwebkit-stable" branch, we are planning to release TP2 with many fixes and improvements really soon

-- 
Regards,
Konstantin



More information about the Development mailing list